Patrick Pelissier
4aa4b7693f
Add M_C5_EMPTY macro
...
Add M_CROSS_MAP2 macro
Add emplace generation for associative array if both key & value are emplace types
Add test cases.
2022-09-25 22:13:51 +02:00
Patrick Pelissier
5674cdbfc5
Add new macro M_CROSS_MAP
...
enabling to map a function to each pair
of arguments given two arglists.
2022-09-25 00:30:23 +02:00
Patrick Pelissier
3641829198
M_INC (resp. M_DEC) of M_UNDERFLOW (resp. M_OVERFLOW)
...
will keep the initial error.
2022-09-16 18:46:13 +02:00
Patrick Pelissier
10a759b09e
Add another function for generation
2022-09-15 23:25:42 +02:00
Patrick Pelissier
3aa3e95e4c
Remove constraint of calling string_end_p
...
before string_next or string_get_cref
This generates slighty more code but it is much saner
from user point of view.
2022-09-13 00:18:15 +02:00
Patrick Pelissier
87f1e53e13
Add more basic iteration code generation analysis
2022-09-13 00:03:40 +02:00
Patrick Pelissier
d7b45cc220
Fix issue in string_previous
2022-09-11 23:14:52 +02:00
Patrick Pelissier
cbb2b452bb
Add string_previous function
...
to iterate on the previous UTF8 code point.
2022-09-10 16:30:45 +02:00
Patrick Pelissier
6e947c6262
Add more corner cases.
2022-09-10 16:21:19 +02:00
Patrick Pelissier
18f04da4ec
Robustness/fix:
...
string_next won't advance if the end of string is reached.
2022-09-10 16:19:58 +02:00
Patrick Pelissier
41c4f5fe5c
Add string functions :
...
* string_it_get_pos to return the position in the steam
* string_it_pos to start iterating from a given position.
2022-09-10 16:16:13 +02:00
Patrick Pelissier
cfeedf19f8
Rework to be more compliant (as far as it is possible)
...
to real cases.
2022-09-10 15:56:36 +02:00
Patrick Pelissier
442b0e7cea
Reduce size of struct string_it_t on 64 bits
...
by storing an offset to the next character
instead of a pointer. An offset can be stored as a
BYTE instead of a PTR since UT-8 can use at most
4 characters per code point.
2022-09-10 09:59:06 +02:00
Patrick Pelissier
0b853c6d52
Fix bug on bitset_resize function in case of increase of size:
...
the first limb may not be cleared properly in some cases.
(Reported by David M. Lary)
2022-09-04 19:27:38 +02:00
Patrick Pelissier
cc7fc66899
Add bitset_ctz function
2022-08-29 19:31:19 +02:00
Patrick Pelissier
6b994c2928
Add m_core_ctz32 & m_core_ctz64 functions
...
(Count trailing zeros)
2022-08-29 19:30:09 +02:00
Patrick Pelissier
ed27bedcb4
Make coverage perfoms a check that the computed coverage is at least
...
not lower than the reference coverage, ensuring no regression
on the coverage of the tests can occur.
NOTE: some tests (m-i-shared) perform some dynamic test cases
where the exact coverage depend on the exact dynamic behavior
of the test. And this behavior is not always reproducible
(for exact the calls to m_core_backoff_wait may not occur
if the threads are not trying to grab the resource at the
exact same time).
As such, the reference of such tests is taken from the worst
case of execution of the coverage (with the lowest number
of lines covered).
2022-08-20 23:29:02 +02:00
Patrick Pelissier
eb1a7a0435
Add more tests for tree
2022-08-19 23:16:42 +02:00
Patrick Pelissier
b6e0994dfc
Add test case for _init_set with empty tree.
2022-08-02 23:02:33 +02:00
Patrick Pelissier
ad05ae9aa5
Rename the string _suffix for Bounded Strings from _str to _cstr
...
See #99
2022-07-30 12:01:36 +02:00
Patrick Pelissier
6e1ceafcc2
Add more tests for tree.
2022-07-28 23:22:07 +02:00
Patrick Pelissier
082adca3e6
Add test case
2022-07-27 23:48:59 +02:00
Patrick Pelissier
92e2d835bd
Add more generic random tests
2022-07-26 23:12:41 +02:00
Patrick Pelissier
22aba04b47
Activate optimisation for coverage
2022-07-26 23:12:19 +02:00
Patrick Pelissier
cbdba0941a
Adding more test cases
2022-07-26 22:49:07 +02:00
Patrick Pelissier
22b18830f7
Improve test suite by performing no op swap operation randomly
2022-07-24 21:12:59 +02:00
Patrick Pelissier
dcf20fbbd6
Add some tests for swap_at
2022-07-24 00:48:18 +02:00
Patrick Pelissier
a30dd69aaa
Add more tests for tree
2022-07-18 23:42:25 +02:00
Patrick Pelissier
2323420a87
Add more test cases
2022-07-15 17:23:56 +02:00
Patrick Pelissier
804db294ca
Update test suite
2022-07-15 16:48:54 +02:00
Patrick Pelissier
d12aa6c263
Don't expand tree contract for coverage
2022-07-15 00:32:26 +02:00
Patrick Pelissier
d59e87d2bf
Adding tests for OUT_STR/IN_STR
2022-07-07 22:21:29 +02:00
Patrick Pelissier
1f3013c445
Adding more corner cases
2022-07-07 22:10:00 +02:00
Patrick Pelissier
f13e99ab1a
Add coverage computation for tree
2022-07-07 22:09:51 +02:00
Patrick Pelissier
fb8ad84675
Add more tests
2022-07-05 22:46:24 +02:00
Patrick Pelissier
f97e92b4cb
Complement basic tests
2022-07-04 20:47:53 +02:00
Patrick Pelissier
a74e26e3de
Add random generated insertion in a tree
2022-07-04 20:38:51 +02:00
Patrick Pelissier
a30b783692
First basic test of tree container
2022-06-28 23:28:45 +02:00
Patrick Pelissier
1cde4633e6
Adding more corner cases
2022-06-04 23:26:03 +02:00
Patrick Pelissier
e854bc8fc9
Remove warning in C++ mode for using C++ class
2022-05-12 00:00:10 +02:00
Patrick Pelissier
22a406ac51
Add new test case (M_MAP + M_SEQ)
2022-05-11 21:38:47 +02:00
Patrick Pelissier
e83dea8212
Fix warnings for Visual C++
2022-05-10 23:49:20 +02:00
Patrick Pelissier
c829827f48
Fix warnings for Visual C++
2022-05-10 23:34:48 +02:00
Patrick Pelissier
22a93514ff
Add EMPLACE test for priority queue
2022-05-10 23:10:58 +02:00
Patrick Pelissier
72623ce13e
Adding test cases for I/O methods
2022-05-09 22:52:28 +02:00
Patrick Pelissier
e51a5be776
Add check of prioqueue against STL C++
2022-05-09 22:25:09 +02:00
Patrick Pelissier
c6ea3c0616
Fix spelling
2022-05-09 20:16:33 +02:00
Patrick Pelissier
9ab90be6d4
Add check of B+Tree / Set
2022-05-09 20:12:55 +02:00
Patrick Pelissier
fc7e93403a
Update copyright year
2022-05-09 20:06:05 +02:00
Patrick Pelissier
5f73eb7788
Add test for support C++ class in M*LIB
2022-05-06 23:08:27 +02:00