Commit Graph
1175 Commits
Author SHA1 Message Date
Patrick Pelissier 8e20118ab6 Reformat 2018-04-14 08:12:58 +02:00
Patrick Pelissier 19f330e670 Rename also MYMPZ2_OPLIST into MY_MPZ_CMP_OPLIST 2018-04-14 08:12:27 +02:00
Patrick Pelissier 20d549b5e1 Rename MYMPZ_OPLIST into MY_MPZ_OPLIST 2018-04-14 08:11:14 +02:00
Patrick Pelissier e09fa89781 Little bit rewrite to help the compiler optimizes the loop a bit more:
as the variables are not longer on the stack, it uses more registers
and more instructions in the critical loop than before. By
copying the data into stack local variable, the compiler is once again
able to optimize the loop properly.
2018-04-14 08:07:01 +02:00
Patrick Pelissier 70b1421114 Update after review 2018-04-13 20:56:48 +02:00
Patrick Pelissier b80a30785a Fix 2018-04-13 20:28:57 +02:00
Patrick Pelissier c3245ac301 Full refactorisation and proper use of M*LIB.
Should be as fast as before.
2018-04-13 20:28:01 +02:00
Patrick Pelissier 085d5b411c Add oplist for B*TREE 2018-04-13 20:16:23 +02:00
Patrick Pelissier 8c26d6d0b5 Update 2018-04-12 23:39:19 +02:00
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