Add method _set2 for tuple.
This commit is contained in:
1 parent
3d43bb260a
commit
ac5b689950
2 files changed
+16
No files matched your search
@@ -36,6 +36,7 @@
|
|||||||
TUPLE_DEFINE_INIT_SET(name, __VA_ARGS__) \
|
TUPLE_DEFINE_INIT_SET(name, __VA_ARGS__) \
|
||||||
TUPLE_DEFINE_INIT_SET2(name, __VA_ARGS__) \
|
TUPLE_DEFINE_INIT_SET2(name, __VA_ARGS__) \
|
||||||
TUPLE_DEFINE_SET(name, __VA_ARGS__) \
|
TUPLE_DEFINE_SET(name, __VA_ARGS__) \
|
||||||
|
TUPLE_DEFINE_SET2(name, __VA_ARGS__) \
|
||||||
TUPLE_DEFINE_CLEAR(name, __VA_ARGS__) \
|
TUPLE_DEFINE_CLEAR(name, __VA_ARGS__) \
|
||||||
TUPLE_DEFINE_GETTER(name, __VA_ARGS__) \
|
TUPLE_DEFINE_GETTER(name, __VA_ARGS__) \
|
||||||
TUPLE_DEFINE_SETTER(name, __VA_ARGS__) \
|
TUPLE_DEFINE_SETTER(name, __VA_ARGS__) \
|
||||||
@@ -132,6 +133,18 @@
|
|||||||
TUPLE_GET_SET a ( my -> TUPLE_GET_FIELD a , org -> TUPLE_GET_FIELD a );
|
TUPLE_GET_SET a ( my -> TUPLE_GET_FIELD a , org -> TUPLE_GET_FIELD a );
|
||||||
|
|
||||||
|
|
||||||
|
#define TUPLE_DEFINE_SET2(name, ...) \
|
||||||
|
static inline void M_C(name, _set2)(M_C(name,_t) my \
|
||||||
|
M_MAP(TUPLE_DEFINE_SET2_PROTO, __VA_ARGS__) \
|
||||||
|
) { \
|
||||||
|
M_MAP(TUPLE_DEFINE_SET2_FUNC , __VA_ARGS__) \
|
||||||
|
}
|
||||||
|
#define TUPLE_DEFINE_SET2_PROTO(a) \
|
||||||
|
, TUPLE_GET_TYPE a const TUPLE_GET_FIELD a
|
||||||
|
#define TUPLE_DEFINE_SET2_FUNC(a) \
|
||||||
|
TUPLE_GET_SET a ( my -> TUPLE_GET_FIELD a , TUPLE_GET_FIELD a );
|
||||||
|
|
||||||
|
|
||||||
#define TUPLE_DEFINE_CLEAR(name, ...) \
|
#define TUPLE_DEFINE_CLEAR(name, ...) \
|
||||||
static inline void M_C(name, _clear)(M_C(name,_t) my) { \
|
static inline void M_C(name, _clear)(M_C(name,_t) my) { \
|
||||||
M_MAP(TUPLE_DEFINE_CLEAR_FUNC , __VA_ARGS__) \
|
M_MAP(TUPLE_DEFINE_CLEAR_FUNC , __VA_ARGS__) \
|
||||||
|
|||||||
@@ -120,6 +120,9 @@ int main(void)
|
|||||||
pair3_init_set2(p4, s, z);
|
pair3_init_set2(p4, s, z);
|
||||||
int i = pair3_cmp (p3, p4);
|
int i = pair3_cmp (p3, p4);
|
||||||
assert (i == 0);
|
assert (i == 0);
|
||||||
|
pair3_set2(p4, s, z);
|
||||||
|
i = pair3_cmp (p3, p4);
|
||||||
|
assert (i == 0);
|
||||||
my_mpz_set_ui (z, 1443);
|
my_mpz_set_ui (z, 1443);
|
||||||
pair3_set_value(p4, z);
|
pair3_set_value(p4, z);
|
||||||
i = pair3_cmp (p3, p4);
|
i = pair3_cmp (p3, p4);
|
||||||
|
|||||||
Reference in new issue
Block a user