Commit Graph

160 Commits

Author SHA1 Message Date
Bailey Thompson
d7c0177b34 Fix missing parameter list (#147) 2020-11-26 16:02:55 -05:00
Bailey Thompson
e31876a21d Change multiple-inclusion guard name (#146) 2020-11-26 15:48:14 -05:00
Bailey Thompson
849f970625 Fix typo (#145) 2020-11-26 15:41:41 -05:00
Bailey Thompson
354e0aef1b Rename defines header (#142) 2020-10-02 19:46:13 -04:00
Bailey Thompson
cc17f4c6d0 Do nothing when freeing NULL (#141) 2020-10-02 19:22:31 -04:00
ljjimene
a08924b28a Add successful tests print (#140)
When tests pass, a message is printed to avoid ambiguity.
2020-10-01 22:54:56 -04:00
Pooja Sahu
07f51c242c Fix typo in readme (#136)
Relates to #129
2020-10-01 21:21:25 -04:00
Bailey Thompson
73f044ecf9 Bump version (#126)
Bump version to 1.2.0
v1.2.0
2020-09-18 23:12:00 -04:00
Bailey Thompson
02f4400192 Bump version (#125)
Version 1.2.0 release candidate 1
2020-08-22 02:42:23 -04:00
Bailey Thompson
d470d94938 Optimize deque outer array (#124)
Optimize the array which holds mappings to blocks in deque by shifting
whenever it runs out of memory on one side rather than always allocating
new memory.
2020-08-22 02:17:31 -04:00
Bailey Thompson
eff1e3e59a Optimize deque block allocations (#122)
Rather than allocating a new block every time it is needed, it will
check the other end of the outer array to see if blocks are available
but not in use. This way, if a deque is being used like a queue, the
block count will not arbitrarily grow.
2020-08-20 21:19:41 -04:00
Bailey Thompson
9158d49e53 Update headers (#121) 2020-08-20 01:40:53 -04:00
Bailey Thompson
c77aa4d87b Add ordered retrieval (#120)
Add ordered retrieval functions to the tree-based containers.
2020-08-20 01:35:28 -04:00
Bailey Thompson
6af6778702 Create add_all functions (#118)
Create add_all functions for many containers, which adds all the elements
of an array to the container.
2020-08-19 15:13:11 -04:00
Bailey Thompson
59380a1389 Fix typos (#117) 2020-08-18 02:16:51 -04:00
Bailey Thompson
b7cd535c6c Add "overflow" checking (#115)
Add checking and correction for unsigned integer wrapping.
2020-08-18 01:49:11 -04:00
Bailey Thompson
e3bc87298f Simplify return values (#114)
Introduce bk_err and bk_bool rather than using int for both of these.
This means that the function definition now specifies whether 0 means
no error, or whether it means false.
2020-08-17 16:55:29 -04:00
Bailey Thompson
724c0e51c9 Make macros more unique (#113) 2020-08-17 03:12:25 -04:00
Bailey Thompson
954857e5b2 Sort header (#112) 2020-08-17 02:56:00 -04:00
Bailey Thompson
a6225f9571 Add overflow checking to array (#111) 2020-08-17 02:49:10 -04:00
Bailey Thompson
044a853994 Add documentation (#107) 2020-08-16 22:03:30 -04:00
Bailey Thompson
eade6e4586 Bug bash (#105)
Valgrind previously did not fail the test suite when there were memory
leaks or invalid accesses. Due to this, a few bugs slipped in. These bugs
have been fixed, and now every container has more test cases.
Furthermore, the test suite has been updated to fail if Valgrind reports
any errors.
2020-08-16 19:17:59 -04:00
Bailey Thompson
5c4752c198 Reduce calls to malloc in multimap (#102)
Reduce the number of malloc calls in multimap. Improves efficiency by 40%.
2020-08-16 11:22:09 -04:00
Bailey Thompson
fd3d3fc8b8 Reduce calls to malloc in map (#101)
Reduce the number of malloc calls in map. Improves efficiency by 40%.
2020-08-15 02:44:41 -04:00
Bailey Thompson
ac725ef147 Reduce calls to malloc in multiset (#100)
Reduce the number of malloc calls in multiset. Improves efficiency by 30%.
2020-08-15 01:52:54 -04:00
Bailey Thompson
aab2a074d5 Reduce calls to malloc in set (#99)
Reduce the number of malloc calls in set. Improves efficiency by 40%.
2020-08-15 00:21:46 -04:00
Bailey Thompson
d12a92ee60 Remove usage of goto (#98) 2020-08-14 13:21:43 -04:00
Bailey Thompson
33023d09c4 Reduce calls to malloc in unordered_multimap (#97)
Reduce the number of malloc calls in unordered_multimap. Improves
efficiency by 60% (meaning it takes less than half the time that it used to).
2020-08-14 13:06:14 -04:00
Bailey Thompson
dea440d2a7 Reduce calls to malloc in unordered_map (#96)
Reduce the number of malloc calls in unordered_map. Improves
efficiency by 50% (meaning it takes half the time that it used to).
2020-08-14 11:43:25 -04:00
Bailey Thompson
8aa141785d Fix coverage (#95) 2020-08-14 01:53:35 -04:00
Bailey Thompson
115433497a Reduce calls to malloc in unordered_multiset (#93)
Reduce the number of malloc calls in
unordered_multiset. Improves efficiency by 40%.
2020-08-13 23:51:33 -04:00
Bailey Thompson
1e11cba319 Reduce malloc calls in unordered set (#92)
Reduce the number of malloc calls in
unordered_set. Improves efficiency by 40%.
2020-08-13 22:02:06 -04:00
Bailey Thompson
33fe92dade Use GitHub actions as test suite (#91)
Use GitHub actions as a test suite. Can get rid of CircleCI,
and now Valgrind is part of the test suite.
2020-08-12 19:06:49 -04:00
Bailey Thompson
b80f2f7d96 Update makefile (#90) 2020-08-12 16:38:47 -04:00
Bailey Thompson
e45a3d1b13 Fix badge caching (#88) 2020-08-12 13:14:54 -04:00
Bailey Thompson
19f299b6c4 Fix yaml formatting (#87) 2020-08-12 12:44:35 -04:00
Bailey Thompson
1847aecaf6 Change code quality tool (#86) 2020-08-12 12:28:02 -04:00
Bailey Thompson
2123ca2891 Use size_t for all sizes in priority_queue (#83) 2020-08-10 14:22:03 -04:00
Bailey Thompson
c14222f8a6 Use size_t for all sizes in vector (#82) 2020-08-10 13:31:12 -04:00
Bailey Thompson
124d68fbf9 Reduce malloc calls in queue (#79) 2020-08-10 12:44:14 -04:00
Bailey Thompson
af869f2b46 Reduce malloc calls in stack (#78) 2020-08-10 12:30:51 -04:00
Bailey Thompson
c74b0c4caf Reduce calls to malloc in list (#77)
Reduce the number of malloc calls in list. Improves efficiency by 15%.
2020-08-10 03:00:48 -04:00
Bailey Thompson
94e5530996 Use static const (#76) 2020-08-10 00:36:12 -04:00
Bailey Thompson
c05d97e2c9 Reduce malloc calls (#75)
Reduce the number of malloc calls. Improves efficiency by 40%.
2020-08-10 00:25:33 -04:00
Bailey Thompson
00bf7d433e Change deque block size (#74)
The block size for deque now scales based on the element size.
This means that the byte count in each block remains the same,
but with bigger elements, fewer elements may be stored in each
block (but still the same number of bytes). There is an exception
for elements that are very large, and a minimum element count
exists for the block in that case.
2020-08-09 03:36:01 -04:00
Bailey Thompson
04f2a64499 Update header for deque (#73) 2020-08-08 21:33:31 -04:00
Bailey Thompson
0c45fc80c6 Rewrite deque (#72)
The deque is now 40% faster and the code is much cleaner.
2020-08-08 21:28:48 -04:00
Bailey Thompson
fdde32d981 Refactor array (#71)
The array container is now 3% faster.
2020-08-08 19:05:44 -04:00
Bailey Thompson
48b0751b6c Stub malloc toggle (#69) 2020-08-07 16:57:41 -04:00
Bailey Thompson
f56b347098 Add valgrind to makefile (#70) 2020-08-07 16:37:12 -04:00