Leonardo
ad2ae84c13
Finishing up some functions of bidimap that were left off
...
Also gearing up bidimap for next update containing callbacks and custom allocation functions
2019-11-13 23:23:54 -03:00
Leonardo
0d57698d2f
Main header file now only uses a single concatenation macro
2019-11-13 21:24:38 -03:00
Leonardo
33c33e8947
Completely removed typedefs
2019-10-29 02:19:34 -03:00
Leonardo
8f06e8abce
Replaced calls to malloc and memset with just calloc
2019-10-26 00:39:46 -03:00
Leonardo
616327f054
Moved all collections from ext to cmc
...
ext no longer exists
2019-10-22 23:51:39 -03:00
Leonardo
5583ca38b3
Changed default_type functions to compound literals
2019-10-17 01:37:55 -03:00
Leonardo
2d3b441d74
Added resize to multimap, multiset and sortedlist
2019-10-16 21:34:30 -03:00
Leonardo
99cd01ba1e
Added intervalheap resize
2019-10-15 23:52:09 -03:00
Leonardo
1f11b6d2da
Added preview of bidimap
2019-10-14 22:37:39 -03:00
Leonardo
e41fe14502
Refactoring multiset code to be at most 100 characters per line
2019-10-12 00:27:38 -03:00
Leonardo
63d0453341
Finally releasing sortedlist
2019-10-11 02:14:33 -03:00
Leonardo
5e1a26b72e
Added queue and stack resize
2019-10-10 15:10:37 -03:00
Leonardo
e06e795ed8
hashmap quickfix
2019-10-09 00:53:40 -03:00
Leonardo
b9b507bf07
Added heap and list resize function and refactored some tests and added some more
2019-10-08 13:57:58 -03:00
Leonardo
9f8671f75f
Added resize function to hashmap and hashset
2019-10-07 19:57:20 -03:00
Leonardo
f0b7b125b9
Added deque.h resize and added more deque and hashmap tests
2019-10-05 00:31:29 -03:00
Leonardo
5997302a8c
Fixed deque and queue bug and added more tests
2019-10-01 00:48:09 -03:00
Leonardo
376c0ad4e7
Minor optimization to list.h and added finished more TODOs from sortedlist.h
2019-09-30 18:26:31 -03:00
Leonardo
34e649d82a
Removed all conditional IO
2019-09-29 15:49:10 -03:00
Leonardo
dea77b5ca2
A minor fix to intervalheap.h
2019-09-27 00:06:26 -03:00
Leonardo
b300c889f3
Added cmc prefix to timer
2019-09-27 00:05:22 -03:00
Leonardo
2126da3f25
Removed unnecessary typedefs for log.h and test.h and fixed the latter
2019-09-26 01:17:18 -03:00
Leonardo
fb7854ef5d
Update assert.h and removed
...
Added 3 new assertion macros:
cmc_assert_array_equals_any
cmc_assert_array_within_any
cmc_assert_array_outside_any
cmc_assert_array_sorted_any (renamed)
2019-09-25 16:41:40 -03:00
Leonardo
1ff3142769
Update assert.h
...
Renamed the parameters to and from to to_index and from_index
2019-09-24 23:35:00 -03:00
Leonardo
331fb32b73
Small additions and fixes to sortedlist
2019-09-23 22:34:23 -03:00
Leonardo
d9171a11cf
Fixed some include guards for cmc_hashtable_primes and cmc_entry_state
...
Also removed unnecessary typedef for enum cmc_entry_state
Now cmc_entry state is in another guard, separated from the cmc_hashtable_primes guard
2019-09-21 18:25:01 -03:00
Leonardo
344e9f77fe
Renamed list and linkedlist functions
...
push - push_at
pop - pop_at
The list prepend, append and insert - seq_push_front, seq_push_back, seq_push_at
2019-09-21 00:37:56 -03:00
Leonardo
2c84c35264
Adding sortedlist skeleton
...
Some functions are already working but there is still too much to be optimized
2019-09-18 02:29:11 -03:00
Leonardo
c27edd53f6
Added cmc_assert_sorted
2019-09-18 02:28:20 -03:00
Leonardo
3d7e218195
Move the string format to each collection files and quick fix on deque
...
Now the format to print them is only declared if you actually include the header
2019-09-16 23:50:06 -03:00
Leonardo
2ca2210a77
Added CMC prefix to all macros and removed FMOD
2019-09-16 14:45:24 -03:00
Leonardo
0df0ebbdeb
Update TODO, quick fixes in a makefile and in assert.h
2019-09-14 00:38:13 -03:00
Leonardo
e834aaee81
Added iter_advance, iter_rewind and iter_go_to to all collections
...
Also reworked many iterator functions that could cause strange behavior
2019-09-13 18:46:00 -03:00
Leonardo
1928fdd6d5
Reworked assert.h and test.h and added the cmc prefix to the logging utility
...
Integrated the assert utility with the test utility. Now any assertion that fails inside the unit test will trigger failure and is no longer needed to manually pass or fail a test.
Also reworked makefiles.
2019-09-06 12:17:11 -03:00
Leonardo
a1a940399a
Unified _set and _update functions
...
Also _remove now accepts an optional parameter if to retrieve or not the removed value. _update also has the same optional parameter that retrieves the old value.
The multimap will allocate an array based on the amount of keys and add all the values to that array.
2019-09-05 01:33:54 -03:00
Leonardo
762b95db26
Some fixes and improvements to hashmap, hashset and multimap
2019-09-03 17:07:15 -03:00
Leonardo
f070d274f4
Added _equals function to all collections and fixed some issues with multimap
2019-08-29 23:25:32 -03:00
Leonardo
1f50add1bb
Added _copy_of functions to all collections
2019-08-28 16:34:15 -03:00
Leonardo
8ec768d30e
removed linkedqueue and now _free and _clear have a deallocator parameter
2019-08-27 01:33:58 -03:00
Leonardo
613392ae76
Changed how _update works and added _set
...
_update: retrieves old value
_set: ignores old value
2019-08-05 23:28:12 -03:00
Leonardo
f74ce7519a
Added update function for hashmap, treemap and multimap and added update_all for multimap
2019-08-03 01:55:36 -03:00
Leonardo
e470021d13
Added to_string to intervalheap and multimap
2019-08-02 00:53:35 -03:00
Leonardo
976965bcfa
Fixed integer overflow with hashtables when calculating their capacity
2019-08-02 00:18:22 -03:00
Leonardo
1254e657c5
Complete remake of multiset
2019-08-01 23:52:50 -03:00
Leonardo
90ee6a424d
heap hotfix
2019-07-31 23:08:51 -03:00
Leonardo
38620ba457
Added to_string methods to cmc, ./utl/cmc_string.h, fixed some variable names and fixed includes
2019-07-16 23:55:30 -03:00
Leonardo
af26f6c081
More fixes to ./cmc/stack.h
2019-07-13 00:17:01 -03:00
Leonardo
d82be005da
Fixing stack iter_init
2019-07-12 23:34:16 -03:00
Leonardo
e37b54fc62
Added bool type assert
2019-07-12 23:33:35 -03:00
Leonardo
354cd538f8
Added cmc prefixes to enums used by heap and hashtables and fixed return type on treeset and hashset
2019-07-10 16:57:46 -03:00