Patrick Pelissier
76f5085e84
Merge branch 'master' of https://github.com/P-p-H-d/mlib
2018-04-11 22:42:46 +02:00
Patrick Pelissier
80d78e3270
Add bounded string cte macro
2018-04-11 22:42:22 +02:00
Patrick Pelissier
654521b74c
Add some tests of _equal_p
2018-04-10 23:25:04 +02:00
Patrick Pelissier
353d2d4cc9
Fix issue in copy of B*TREE:
...
the _next field wasn't properly set for the deepest nodes.
2018-04-10 23:23:36 +02:00
Patrick Pelissier
b38d84419a
Add methods hash, eqal_p, out_str, in_str & get_str
...
Format of serialisation needs to be properly uniformised between:
dictionnary,
red-black tree,
set,
b+tree with key,value,
b+tree with only key.
2018-04-09 18:42:34 +02:00
Patrick Pelissier
0d085771e4
Add tests for new methods
2018-04-09 18:07:03 +02:00
Patrick Pelissier
f3b2b6b41e
Add methods _swap, _move & _init_move
2018-04-09 18:06:48 +02:00
Patrick Pelissier
fb35ad7ab3
Update due no new LIBSRT API.
2018-04-08 21:43:25 +02:00
Patrick Pelissier
cf6e721994
Fix wrong usage of CollectionC by the benchmark.
2018-04-08 21:32:57 +02:00
Patrick Pelissier
9faea5ff15
Rewrite bench code so that it computes what is expected.
2018-04-08 21:10:29 +02:00
Patrick Pelissier
fe18009bc0
Rewrite the loop so that the result is the same for dict and dict_oa.
2018-04-08 21:07:20 +02:00
Patrick Pelissier
10f900ea3e
Rewrite code to avoid warning if optimisations are turned on.
2018-04-08 20:27:37 +02:00
Patrick Pelissier
63874694f8
Rewrite the code to avoid some silly warnings on some implementation.
2018-04-08 20:01:04 +02:00
Patrick Pelissier
9b9e246e66
More tests
2018-04-08 11:16:31 +02:00
Patrick Pelissier
e6a6eb9be5
Fix issue in it_from for B+TREE
2018-04-08 11:13:48 +02:00
Patrick Pelissier
050bb5dbfa
Add tests for it_from & it_to_p for B+TREE
2018-04-08 11:13:22 +02:00
Patrick Pelissier
b005ec1845
Fix function max for B+TREE
2018-04-08 10:48:02 +02:00
Patrick Pelissier
f158a94e0a
Add tests for min & max
2018-04-08 10:47:52 +02:00
Patrick Pelissier
a166620a6d
Add method _from, _to_p, _min & _max for B+TREE
2018-04-08 10:39:27 +02:00
Patrick Pelissier
47fb467878
Add basic it test for B+tree
2018-04-08 07:24:56 +02:00
Patrick Pelissier
67af80c772
Fix issue in it_end for B+TREE
2018-04-08 07:22:34 +02:00
Patrick Pelissier
1f44155127
Add one more corner case
2018-04-07 12:11:50 +02:00
Patrick Pelissier
87a3ac4a76
Add test for methods _init_set & _set for B+tree
2018-04-07 12:10:50 +02:00
Patrick Pelissier
73354a04d5
Add method _init_set & _set for B+tree
2018-04-07 12:10:19 +02:00
Patrick Pelissier
cb3038e73c
Add more checks
2018-04-07 11:51:38 +02:00
Patrick Pelissier
b6ec31fe11
Add more test.
2018-04-07 11:50:18 +02:00
Patrick Pelissier
c7059a60ee
Add more tests
2018-04-07 11:44:16 +02:00
Patrick Pelissier
af49aaf8b1
Add more tests.
2018-04-07 11:42:12 +02:00
Patrick Pelissier
4149b8388b
Improve quality of coverage report by not expanding contract function.
2018-04-07 11:41:43 +02:00
Patrick Pelissier
df0d723714
Compute coverage for B+TREE
2018-04-07 11:28:50 +02:00
Patrick Pelissier
44209ed93e
Add more tests
2018-04-07 11:19:58 +02:00
Patrick Pelissier
930a3c8637
More tests.
2018-04-07 11:14:31 +02:00
Patrick Pelissier
d2f5698397
iMake oplist optional for BPTREE_DEF
2018-04-07 11:10:13 +02:00
Patrick Pelissier
42d9fc3284
Update doc
2018-04-07 00:43:51 +02:00
Patrick Pelissier
91db494898
Add basic iterator for B+tree
...
I can't match the exact interface of a dictionary of the key and the value are in separate place in the structure
(so I can't return a pair of (key,value)). Instead I return a pair of pointer (key_ptr, value_ptr).
I don't see any other way which doesn't evolve copy of the key/value.
For the RBtree interface, no such problem occurs.
2018-04-05 22:44:36 +02:00
Patrick Pelissier
75217d4914
Rewrite / cleanup
2018-04-04 22:57:47 +02:00
Patrick Pelissier
ceaf004719
Remove wrong comment
2018-04-04 22:55:19 +02:00
Patrick Pelissier
27b7380433
B+TREE: Add _size operator
2018-04-04 22:54:39 +02:00
Patrick Pelissier
7ca254ade9
B+TREE: Add _pop function.
2018-04-04 22:39:46 +02:00
Patrick Pelissier
c91864c2a7
B+TREE: _remove returns a boolean indicating if the item
...
removed was present or not
2018-04-04 22:35:47 +02:00
Patrick Pelissier
4925297a35
Update doc
2018-04-04 20:27:44 +02:00
Patrick Pelissier
d7ece50ed0
Replace "Dict" by "DictOA" since KLIB uses an OpenAddressing dictionnary.
2018-04-03 20:13:18 +02:00
Patrick Pelissier
3ef4a9f413
Fix issue with the way of benching the BTREE of KLIB.
...
Forgot to initialize the key in the search pass.
2018-04-03 20:10:11 +02:00
Patrick Pelissier
9768b5b37a
Add bench of B+TREE
2018-04-03 20:07:21 +02:00
Patrick Pelissier
e4cd999bd0
Test expansion of new container.
2018-04-03 20:01:24 +02:00
Patrick Pelissier
8e335535cc
Add new container without a value.
2018-04-03 20:01:04 +02:00
Patrick Pelissier
2f53d98806
Fix issue with kind_s being redefined if the macro is used again.
...
Fix issue of not using proper method for type.
Render usage of value optional so that we can create B+TREE with only keys.
2018-04-03 18:29:28 +02:00
Patrick Pelissier
5d99331358
Add expansion of a user type.
2018-04-03 18:29:16 +02:00
Patrick Pelissier
316022cde4
Add oplist with CMP operator
2018-04-03 18:28:51 +02:00
Patrick Pelissier
8d1abca8de
Add link to the comparison between STL & M*LIB
2018-04-03 12:47:44 +02:00