Patrick Pelissier
39a0a4f672
Fix format
2025-05-29 15:06:36 +02:00
Patrick Pelissier
3fbe8ec0b6
Update _transform, _reduce and _map_reduce to be more flexible
...
Rename _map_reduce to _transform_reduce
2025-05-29 10:41:20 +02:00
Patrick Pelissier
147bc0a363
Fix ALGO and oplist doesn't providing IT_REF
2025-05-07 21:02:24 +02:00
Patrick Pelissier
bd9485a3fe
Port algo to new memory format
2025-05-07 21:02:24 +02:00
Patrick Pelissier
0de3c622e3
Port algo to new memory format
2025-05-07 21:02:24 +02:00
Patrick Pelissier
36d11bc2bd
Fix small name usage
2025-03-01 12:19:35 +01:00
Patrick Pelissier
6d621703eb
Copyright go to 2025 year
2025-03-01 11:03:38 +01:00
Patrick Pelissier
52b58c5a51
Happy new year 2024
2024-01-19 21:37:47 +01:00
Patrick Pelissier
b50813713a
Define internal M_INLINE:
...
it is used to control the inline semantics.
By combining it with optimize option "-fno-inline"
for the internal M*LIB function (using _Pragma optimize)
we can control easily if we want to use an inline version
or call of an external function.
Define new user API:
* M_USE_EXTERN_DECL : define it before including any MLIB header to requests to call the M*LIB functions and don't inline then.
* M_USE_EXTERN_DEF : define it once in a translation unit to define the M*LIB functions. This translation unit shall contain all templated macro too.
If you use one option, you need to use the other one too for another translation unit.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
219c62ff5d
Provide a way to alter the standard naming convention for the functions
...
Close #72
2023-04-22 09:33:08 +02:00
Patrick Pelissier
2f76652f2b
Maintenance
2023-03-03 22:50:14 +01:00
Patrick Pelissier
443c805c22
Fix format
2023-02-06 21:28:19 +01:00
Patrick Pelissier
414c87bb69
Rename internal macros
2023-02-05 23:38:29 +01:00
Patrick Pelissier
a2ae209992
Happy new year
2023-01-02 12:57:41 +01:00
Patrick Pelissier
93229c61f2
Update comments
2022-10-12 23:26:33 +02:00
Patrick Pelissier
b0c4418584
Fix M_ALGO_EXTRACT: the source oplist wasn't transformed into a global one.
2022-05-09 20:03:26 +02:00
Patrick Pelissier
d8abda7583
Fix issue (implicit const cast)
2022-04-29 19:55:02 +02:00
Patrick Pelissier
3309035814
Reducing preprocessing time for ALGO_FOR_EACH ALGO_TRANSFORM ALGO_EXTRACT
2022-04-10 11:28:12 +02:00
Patrick Pelissier
b8cd679679
Move generating macro into the m_ namespace and create a wrapper using historical names for compatibility with existing code
2022-03-24 20:46:49 +01:00
Patrick Pelissier
845736c489
Fix format
2022-03-14 19:28:23 +01:00
Patrick Pelissier
19b01b404d
Migrate to 2022
2022-03-12 20:25:45 +01:00
Tim Gates
7b6bfac7cb
docs: Fix a few typos
...
There are small typos in:
- example/ex-algo03.c
- m-algo.h
- m-core.h
- m-dict.h
- m-string.h
Fixes:
- Should read `occurrence` rather than `occurence`.
- Should read `fulfilled` rather than `fullfilled`.
- Should read `dictionaries` rather than `dictionnaries`.
- Should read `environment` rather than `environement`.
- Should read `unordered` rather than `undordered`.
2021-12-23 10:00:44 +11:00
Patrick Pelissier
6b064870f5
Rename CLEAN operator in RESET operator
2021-10-30 23:26:27 +02:00
Patrick Pelissier
3e4a5932c2
Rename internal function / types.
...
Reformat
2021-02-13 11:45:16 +01:00
Patrick Pelissier
6636800c5b
Remove obsolete / deprecated function/macros.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
517da1b999
Rename generated internal functions
...
to avoid "poluting" userspace naming.
2021-02-13 11:45:05 +01:00
Patrick Pelissier
25fe26deaa
Happy new year
2021-01-13 20:18:01 +01:00
Patrick Pelissier
a29682ca29
Create M_ASSERT macro to encapsulate assert within M*LIB
...
The goal is to enable the user to override this macro if needed so that it can enable or disable the M*LIB witout impacting its own assertions.
2020-10-29 22:46:17 +01:00
Patrick Pelissier
0818d0ac7c
Fix macro formatting.
2020-10-23 21:46:34 +02:00
Patrick Pelissier
54d4b80368
Reformat macro to 80 characters
2020-10-21 23:23:40 +02:00
Patrick Pelissier
63eee6bba3
Update comments
2020-10-03 14:07:14 +02:00
Patrick Pelissier
b3a1a75f6f
Rename internal types:
...
a suffix ending with _ct means confidential type
ans is reserved for M*LIB internal usage.
OPLIST doesn't use the external types
but rather the internal types.
It enables to be independent of the real names
of the external types.
Such external names are planned to be fully customizable
(i.e. the user may define a name that suits its coding style)
2020-10-03 14:07:14 +02:00
Patrick Pelissier
29bcc00202
Update format
2020-07-19 01:06:48 +02:00
Patrick Pelissier
4488853642
Factorization of _sort_union
2020-07-19 00:59:11 +02:00
Patrick Pelissier
d5dc5d083d
Fix _sort_union bug
2020-07-19 00:55:51 +02:00
Patrick Pelissier
a3116dd813
Update comments
2020-07-18 09:54:12 +02:00
Patrick Pelissier
8a36b5ff15
Workaround to avoid CLANG unused function warnings
2020-07-09 22:14:00 +02:00
Patrick Pelissier
75f4f23144
Add comments and fix Pn level
2020-07-02 21:41:57 +02:00
Patrick Pelissier
37cef298c6
Update format
2020-05-29 21:49:03 +02:00
Patrick Pelissier
88a4835025
Fix issue when defining algorithm with same prefix than container
2020-05-17 12:11:04 +02:00
Patrick Pelissier
d1ae26f0fd
* Add control than the type and the oplist are compatible
2020-05-17 10:27:30 +02:00
Patrick Pelissier
c531f805b0
Define _reduce only if SET method is properly set
2020-05-15 14:31:47 +02:00
Patrick Pelissier
055e74d350
Add more check for valid oplists before expanding further
2020-05-09 16:10:56 +02:00
Patrick Pelissier
1200f30695
* Add more Function Object support in algorithm
...
* Fix bug of selection sort
2020-05-08 11:35:22 +02:00
Patrick Pelissier
4f44b3f60b
Add CMP callback
2020-05-07 22:13:36 +02:00
Patrick Pelissier
b196fcc3c0
Rename _cmp_cb_t into _eq_cb_t
2020-05-07 22:10:53 +02:00
Patrick Pelissier
395f1af19e
Implement more function object algorithm
2020-05-07 22:09:07 +02:00
Patrick Pelissier
563ffb4275
Add first support for function object for certain algos (WIP)
2020-05-05 23:34:34 +02:00
Patrick Pelissier
0ac6a53fe9
Define callback types
2020-05-05 22:57:19 +02:00
Patrick Pelissier
4431e9f9ae
Factorization / Split of the definition of the algorithm
2020-05-05 22:40:03 +02:00