Patrick Pelissier
d548117538
Make M*LIB stricter for INIT_MOVE operator:
...
* either the default INIT_MOVE operator works ('=')
* either an INIT_MOVE method is defined
* or it is disabled.
As a consequence, fix usage of testobj_t and mpz_t in the repository
The emulation layer of INIT_MOVE using INIT_SET+CLEAR is removed:
it wasn't working correctly with the local memory context
(INIT_MOVE doesn't need any local memory context to work,
whereas INIT_SET/CLEAR does)
Remove macro M_DO_INIT_MOVE as it is now useless and uses M_CALL_INIT_MOVE.
The INIT_MOVE default method no longer sets the old 'src' to '0':
it was useless (it doesn't catch any error) and complicates compiler parsing.
Fix POD & A1 & CSTR & classic oplists definition (missing INIT_MOVE operators).
2025-05-07 21:02:24 +02:00
Patrick Pelissier
37b2f4d2ac
Update test suite to properly allocation & deallocation
2025-05-07 21:02:23 +02: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
d9401371a6
Fix warnings reported by CLANG,
...
the C warning generator.
2023-12-23 13:16:42 +01:00
Patrick Pelissier
796f2619e5
Change M_BY_NARGS semantics:
...
simplify suffix by __ # NARGS
instead of __NARGS_ # NARGS
Driver: reduce macro name length.
2023-10-20 00:02:38 +02:00
Patrick Pelissier
e049b83a9e
Rename M_SUFFIX_FUNCTION_BY_NARGS in M_BY_NARGS
...
and updates suffix with __NARGS_
in order to be more explicit.
2023-07-10 00:58:31 +02:00
Patrick Pelissier
dafe4bcec5
Add basic test for M_DEFAULT_ARGS
...
Print hint to developper in case of incorrect usage
2023-06-03 00:56:13 +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
1322afc4c9
Improve coverage of test suite
2023-04-11 21:53:14 +02:00
Patrick Pelissier
ef0e849616
Fix test
2023-03-17 22:04:50 +01:00
Patrick Pelissier
144ae9c5ed
Add ID support for GAIA
2023-03-17 21:47:04 +01:00
Patrick Pelissier
d02de75487
Add control that all initialized testobj are properly cleared at the end of the test suite
2023-03-12 20:29:58 +01:00
Patrick Pelissier
2f57766249
Rename NOEXCEPT to NOCLEAR property as NOEXCEPT
...
doesn't provide enough guarantee to the exception handler.
2023-03-12 20:23:31 +01:00
Patrick Pelissier
5683df0f22
Adding test for M_TEST_NOEXCEPT_P
2023-03-05 19:44:21 +01:00
Patrick Pelissier
4062525821
Add test for RET in API transformation
2023-02-22 22:47:06 +01:00
Patrick Pelissier
a2ae209992
Happy new year
2023-01-02 12:57:41 +01:00
Patrick Pelissier
4aa4b7693f
Add M_C5_EMPTY macro
...
Add M_CROSS_MAP2 macro
Add emplace generation for associative array if both key & value are emplace types
Add test cases.
2022-09-25 22:13:51 +02:00
Patrick Pelissier
5674cdbfc5
Add new macro M_CROSS_MAP
...
enabling to map a function to each pair
of arguments given two arglists.
2022-09-25 00:30:23 +02:00
Patrick Pelissier
3641829198
M_INC (resp. M_DEC) of M_UNDERFLOW (resp. M_OVERFLOW)
...
will keep the initial error.
2022-09-16 18:46:13 +02:00
Patrick Pelissier
6b994c2928
Add m_core_ctz32 & m_core_ctz64 functions
...
(Count trailing zeros)
2022-08-29 19:30:09 +02:00
Patrick Pelissier
1cde4633e6
Adding more corner cases
2022-06-04 23:26:03 +02:00
Patrick Pelissier
22a406ac51
Add new test case (M_MAP + M_SEQ)
2022-05-11 21:38:47 +02:00
Patrick Pelissier
c3df69d011
Add tests for generic API + macros
2022-05-04 22:16:01 +02:00
Patrick Pelissier
a2e471620d
Add support for '_' meta keyword
2022-04-18 09:24:32 +02:00
Patrick Pelissier
ffa3821acf
Add tests for M_KEYWORD_TO_VA_ARGS
2022-04-17 19:01:32 +02:00
Patrick Pelissier
0875eaac03
Add more tests
2022-04-17 18:51:27 +02:00
Patrick Pelissier
baacc0df52
Add test cases for M_AND, M_OR, M_AND3 & M_OR3
2022-04-13 22:49:01 +02:00
Patrick Pelissier
e1abf0528c
Rename M_DEFAULT_OPLIST in M_BASIC_OPLIST (cleaner name)
2022-04-08 22:54:29 +02:00
Patrick Pelissier
811fa57cbc
Fix generic API: remove the need of superfluous ()
2022-03-17 19:33:46 +01:00
Patrick Pelissier
ac9989e4ff
Add generic API transformation
...
in the framework responsible of expanding
the call to a method from an operator.
The generic API transformation can
support a wide range of call
(Limited to 9 arguments maximum)
2022-03-16 22:29:57 +01:00
Patrick Pelissier
7268551737
Add micro utilities macros for handling list
2022-03-16 22:29:56 +01:00
Patrick Pelissier
19b01b404d
Migrate to 2022
2022-03-12 20:25:45 +01:00
Patrick Pelissier
3d3eb6f1d2
Update tests to new syntax of M_LET.
2021-07-01 22:12:15 +02:00
Patrick Pelissier
ca65d81b60
* Fix conflict between M_MAP2 /M_MAP2B
...
(this arises through M_LET & M_GET_METHOD)
* Rename M_GET_OPPROPERTY into M_GET_PROPERTY
* M_LET can be configured to always use INIT_WITH for special kind of objects.
2021-07-01 22:12:15 +02:00
Patrick Pelissier
23624a1d73
Remove M_EVAL from M_LET as it is not needed anymore.
2021-07-01 22:12:15 +02:00
Patrick Pelissier
80582ac5ce
Update as the minimum level of recursion is decreased
2021-07-01 22:12:15 +02:00
Patrick Pelissier
8e6af3bfeb
Add note
2021-07-01 22:12:15 +02:00
Patrick Pelissier
aa3ad973d0
Add another recussive M_LET test
2021-07-01 22:12:15 +02:00
Patrick Pelissier
a19a010d1e
Add WIP version for a M_LET recursive
2021-07-01 22:12:14 +02:00
Patrick Pelissier
3c83e4088c
Add internal macro M_MERGE_ARGLIST
2021-06-20 11:06:19 +02:00
Patrick Pelissier
e688f0b1df
Add internal method M_GET_OPPROPERTY to get the subproperty of an oplist
...
Add test for such macro
Rename operator CLASS into PROPERTIES
2021-06-17 00:20:35 +02:00
Patrick Pelissier
0515cfd068
Add macro M_GREATER_THAN_P & M_LESS_OR_EQUAL_P (src, tests, doc)
2021-02-07 09:53:13 +01:00
Patrick Pelissier
d85df43329
Replace UNERDLOW/OVERFLOW by M_UNDERFLOW/M_OVERFLOW as some systems (Windows/MacOS) perform '#define UNDERFLOW value' in their headers, preventing the detection at preprocessing time.
2021-02-07 09:36:00 +01:00
Patrick Pelissier
16e2e07d41
* Fix M_REVERSE as per the doc (don't add parenthesis on the returned arglist). * Update usage to take this into account.
2021-02-07 00:50:10 +01:00
Patrick Pelissier
6e006d216b
Add macro M_GREATER_OR_EQUAL_P (src, test, doc)
2021-02-07 00:25:47 +01:00
Patrick Pelissier
da613ad188
* Add macro M_LESS_THAN_P (src, test, doc). * Robustify M_INC & M_DEC so that overflow & underflow keeps returning overflow & underflow
2021-02-07 00:10:55 +01:00
Patrick Pelissier
480a791f4c
Update tests
2021-02-06 23:41:04 +01:00
Patrick Pelissier
f2d5de252b
Add M_FILTER and M_FILTER_C macros (src, tests, doc)
2021-02-06 23:24:55 +01:00
Patrick Pelissier
0cb1a8054f
Add M_REPLICATE & M_REPLICATE_C (src, test, doc)
2021-02-06 22:32:38 +01:00