Patrick Pelissier
|
12709cc81b
|
Add new default oplist : M_A1_OPLIST
|
2017-12-24 14:05:38 +01:00 |
|
Patrick Pelissier
|
df3508bc0c
|
Add M_POD_OPLIST for plain old data oplist
|
2017-12-01 23:11:30 +01:00 |
|
Patrick Pelissier
|
453b54856e
|
Move CLZ from genint to core
|
2017-11-12 09:41:10 +01:00 |
|
Patrick Pelissier
|
7b3445ee99
|
Remove TODO
|
2017-10-25 22:08:26 +02:00 |
|
Patrick Pelissier
|
325d118260
|
Clean up
|
2017-10-25 22:01:30 +02:00 |
|
Patrick Pelissier
|
ca9f36b66c
|
Fix issue detected by undefined sanitizer:
shift of signed integers is undefined.
|
2017-09-27 23:09:52 +02:00 |
|
Patrick Pelissier
|
a89db9ea56
|
Rewrite M_MAP like the others.
Increase limit to 52.
|
2017-09-22 22:16:28 +02:00 |
|
Patrick Pelissier
|
618c57d622
|
Fix naming convention
|
2017-09-22 22:11:47 +02:00 |
|
Patrick Pelissier
|
5b569e4811
|
Simplify M_MAP2 as it can reuse partially what has been done for M_MAP2B
|
2017-09-22 22:09:29 +02:00 |
|
Patrick Pelissier
|
021b70b83e
|
Rewrite M_REDUCE2
(to be like the others)
|
2017-09-22 22:06:09 +02:00 |
|
Patrick Pelissier
|
89e02239de
|
Add M_MAP_C & M_MAP2_C
|
2017-09-22 21:53:13 +02:00 |
|
Patrick Pelissier
|
9a1a0ebec3
|
Increase M_INC & M_DEC & M_NOTEQUAL & M_RET_ARGn to 52
Add M_SKIP, M_KEEP & M_MID macros.
Define M_RET_ARG
Rewrite M_SEQ using M_MID
Rewrite M_ADD & M_SUB avoiding recursivity (much faster).
|
2017-09-21 22:19:05 +02:00 |
|
Patrick Pelissier
|
c79626225b
|
Rewrite M_REDUCE to be much faster.
Rewrite M_SEQ to be much faster.
Change interface of M_SEQ as we can easily apply M_MAP / M_MAP2 to further apply macro.
|
2017-09-20 23:40:22 +02:00 |
|
Patrick Pelissier
|
793f834a56
|
Rewrite M_MAP2B using another trick which is MUCH faster for compiler.
Reduce compilation time of bench-mlib from 5s to 1s!
|
2017-09-18 23:03:42 +02:00 |
|
Patrick Pelissier
|
7e19d1863c
|
Add note
|
2017-09-16 19:01:06 +02:00 |
|
Patrick Pelissier
|
0b44a55b6a
|
Replace method EXPECTED_SIZE by INC_ALLOC so that all the way of increasing
the size in case of reallocation can be configured and not only the minimum
size.
|
2017-09-16 18:46:22 +02:00 |
|
Patrick Pelissier
|
2e564088b0
|
Simplify the inclusion of headers.
|
2017-09-16 10:14:45 +02:00 |
|
Patrick Pelissier
|
1930bdeac1
|
_DEF macros checks if a global oplist is register if there is no one
given in the macro call. If it founds one, it will be it instead
of M_DEFAULT_OPLIST.
|
2017-09-16 08:31:22 +02:00 |
|
Patrick Pelissier
|
977e857ae9
|
Remove SAFE_C
|
2017-09-13 23:50:29 +02:00 |
|
Patrick Pelissier
|
914661602c
|
Increase compilation time (from 12s to 4.5s)
|
2017-09-10 21:28:01 +02:00 |
|
Patrick Pelissier
|
d7c4ca1de5
|
Add support for global oplist.
Global oplists are global macro defined as M_OPL_##type
Add support of global oplist for macro M_EACH & M_LET.
Partial fix #9
|
2017-09-10 10:04:39 +02:00 |
|
Patrick Pelissier
|
4d9405d564
|
Improve M_OPLIST_P computation.
|
2017-09-09 23:36:01 +02:00 |
|
Patrick Pelissier
|
18ae085701
|
Expand DO_INIT_MOVE to use MOVE_DEFAULT if the INIT_MOVE method
was not disabled.
|
2017-09-06 22:52:57 +02:00 |
|
Patrick Pelissier
|
df1a9e9c88
|
Add M_TEST_DISABLED_METHOD_P
|
2017-09-06 21:56:45 +02:00 |
|
Patrick Pelissier
|
0c03d42b98
|
Add 64 bits variant of core_hash (nearly twice faster).
|
2017-08-23 08:22:59 +02:00 |
|
Patrick Pelissier
|
d97741b6a9
|
Update to use FNVHASH for internal hash calculation for object.
(Not for memory layout).
|
2017-08-17 20:45:46 +02:00 |
|
Patrick Pelissier
|
60c7388bd6
|
Fix a hash function.
|
2017-08-17 20:35:16 +02:00 |
|
Patrick Pelissier
|
ffc383884d
|
Add macro M_HASH_FINAL
|
2017-08-17 20:22:01 +02:00 |
|
Patrick Pelissier
|
e6db45b64e
|
New helper macro for defining function with default value.
|
2017-08-16 08:16:35 +02:00 |
|
Patrick Pelissier
|
22add10011
|
Add new macro: M_IF_METHOD2
|
2017-08-14 20:34:35 +02:00 |
|
Patrick Pelissier
|
05a5a285de
|
Add method IT_INSERT
|
2017-08-14 20:12:12 +02:00 |
|
Patrick Pelissier
|
879e6da1d3
|
Update TODO
|
2017-08-09 23:39:40 +02:00 |
|
Patrick Pelissier
|
d71f5cbc4a
|
Update TODO
|
2017-08-09 22:39:15 +02:00 |
|
Patrick Pelissier
|
9f55764009
|
Add new function to round to the next power of 2.
|
2017-07-15 23:27:29 +02:00 |
|
Patrick Pelissier
|
f88f9f2ea9
|
In case of memory error, give a little bit more information.
|
2017-07-15 22:24:16 +02:00 |
|
Patrick Pelissier
|
8f2f5013aa
|
Lisibility
|
2017-07-11 22:35:45 +02:00 |
|
Patrick Pelissier
|
273247a4bb
|
Add ALIGN method
|
2017-07-11 10:21:59 +02:00 |
|
Patrick Pelissier
|
7441d422e1
|
Update TODO
|
2017-07-11 10:02:06 +02:00 |
|
Patrick Pelissier
|
75d8928da1
|
Remove TODO
|
2017-07-02 19:42:43 +02:00 |
|
Patrick Pelissier
|
8cfbe56945
|
Fix issue with M_PARENTHESIS_P
Add M_OPLIST_P
|
2017-06-04 23:43:05 +02:00 |
|
Patrick Pelissier
|
eaa8277f10
|
Add macro M_CONST_CAST
|
2017-05-26 12:40:37 +02:00 |
|
Patrick Pelissier
|
66f9d726f4
|
Add IT_REMOVE operator
|
2017-05-22 19:25:09 +02:00 |
|
Patrick Pelissier
|
b12701c381
|
Separate ALLOC & REALLOC macros
so that we can overload one, without the other.
|
2017-05-21 21:16:08 +02:00 |
|
Patrick Pelissier
|
85d72c3c75
|
Move macro into its proper section.
|
2017-05-12 23:55:46 +02:00 |
|
Patrick Pelissier
|
77cf72f8d1
|
Update comment.
|
2017-05-08 12:41:26 +02:00 |
|
Patrick Pelissier
|
32989ef17e
|
Add M_DO_MOVE macro
|
2017-05-01 17:42:51 +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
|
8ce7db4033
|
Fix some issues in Open Addressing dict.
|
2017-04-24 09:49:34 +02:00 |
|
Patrick Pelissier
|
fc3d3901ee
|
Add OOR_OPLIST operator for dict / Open Addressing.
|
2017-04-24 09:01:43 +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 |
|