233 Commits
Author SHA1 Message Date
Patrick Pelissier 6af1c29469 Remove broken _it_end operator for standard dictionnary
(OA dict has a _it_end operator which should work).
2017-05-10 21:38:01 +02:00
Patrick Pelissier 163ea62554 Add _it_equal_p operator for both dictionnary. 2017-05-10 21:34:06 +02:00
Patrick Pelissier c210460f79 Add iteration operators for OA Dict. 2017-05-10 21:29:09 +02:00
Patrick Pelissier c1ddbdb94d Add _clean, _swap & _move for dict/oa 2017-05-09 23:55:51 +02:00
Patrick Pelissier 4b908fb22d Add _init_set, _set & _init_move for dict with Open Addressing. 2017-05-08 12:24:06 +02:00
Patrick Pelissier b207a2c03d Replace GET_INIT_MOVE by DO_INIT_MOVE
(Can't use oplist in default case).
2017-05-08 00:27:50 +02:00
Patrick Pelissier 50aa4f8b73 Remove unused dependency. 2017-05-05 00:06:22 +02:00
Patrick Pelissier 27fd810259 Rename M_OPLIST_CAT into M_OPCAT, M_OPLIST_FLAT into M_OPFLAT
Add M_OPLIST_EXTEND
Use it instead of M_OPLIST_CAT.
2017-05-01 17:24:22 +02:00
Patrick Pelissier cad77ab80b Fix issue for OA dict and shrink down:
we shall not call hash for deleted or empty entries.
2017-04-24 14:41:36 +02:00
Patrick Pelissier 1919d33602 Rewrite the way of handling the delete limits:
* count the number of deleted & populated items.
* if this number is greater than coeff_up, perform a shrink_up
* if the the population don't have more than half the size of the hash table,
* don't increase the hash table.
2017-04-24 13:22:46 +02:00
Patrick Pelissier 621f32649e Fix bug in dict oa for remove.
Improve assertions checks.
2017-04-24 10:39:39 +02:00
Patrick Pelissier 8ce7db4033 Fix some issues in Open Addressing dict. 2017-04-24 09:49:34 +02:00
Patrick Pelissier 7a60d8df62 Add Open Addressing implementation for dict:
* better for small type.
* need OOR_SET & OOR_EQUAL operators to handle out-of-range values.
2017-04-24 09:00:36 +02:00
Patrick Pelissier d19e1a5b41 Add M_EMPTY_DEFAULT which is like M_NOTHING_DEFAULT except that it doesn't
evaluate its arguments.
2017-04-23 23:36:08 +02:00
Patrick Pelissier adf15bca6f Rewrite code to use dict_t & dict_it_t (clearer)
Add missing contracts.
2017-04-23 18:53:47 +02:00
Patrick Pelissier 02be3b6d69 Remove internal dict macros for core macro. 2017-04-17 19:19:58 +02:00
Patrick Pelissier 30c5d99ca7 Fix indentation 2017-04-13 21:14:16 +02:00
Patrick Pelissier 2dd3b727ff Add mempool to dict. 2017-04-02 10:30:55 +02:00
Patrick Pelissier ebf24d41cf Export back NEW / DEL / REALLOC of oplist to container oplist 2017-03-30 20:57:44 +02:00
Patrick Pelissier ff2c6d51e6 Add some likely / unlikely to some tests.
Probably useless.
2017-03-27 23:06:02 +02:00
Patrick Pelissier b75a68860e Add set as a part of a dictionary. 2017-03-21 20:54:49 +01:00
Patrick Pelissier 6277d5623c Fix issue in dict_end prototype 2017-03-14 23:51:37 +01:00
Patrick Pelissier c5bc77b801 Rename type into name for oplist description of dict (saner) 2017-03-14 21:27:12 +01:00
Patrick Pelissier 75c07d9ac7 Add _swap for dict 2017-03-14 21:25:34 +01:00
Patrick Pelissier eaf3af8c07 Implement IT_END operator.
Add missing IT_LAST operator
2017-03-13 10:32:57 +01:00
Patrick Pelissier 72ba5cbd3d Fix bug:
give the proper oplist to the array definition;
 otherwise some oplists are defined in default.
2017-03-11 12:07:01 +01:00
Patrick Pelissier e21b45d9ac Fix #3 (Empty containers & IN_STR operator). 2017-03-10 01:29:49 +01:00
Patrick Pelissier 6464acff57 Handle a little bit better the empty container case. 2017-03-10 00:08:28 +01:00
Patrick Pelissier 049ff58566 Add note 2017-03-07 22:42:27 +01:00
Patrick Pelissier ee578a5c44 Add sub oplist for dictionnary oplist 2017-03-06 22:38:10 +01:00
Patrick Pelissier 4d019ca1f2 Update library name in headers. 2017-02-20 21:29:21 +01:00
Patrick Pelissier cb433aa2a8 Rename macros:
* CAT* --> M_C*
2017-02-19 00:36:42 +01:00
Patrick Pelissier 8e9d20ba1a Add initial stuff 2017-02-18 18:51:04 +01:00