Go to the source code of this file.
|
#define | GS_FOR_EACH_DOMAIN(macro) |
|
#define | GS_FOR_EACH_OP(T, macro) |
|
#define | GS_DO_add(a, b) a+=b |
|
#define | GS_DO_mul(a, b) a*=b |
|
#define | GS_DO_min(a, b) if(b<a) a=b |
|
#define | GS_DO_max(a, b) if(b>a) a=b |
|
#define | GS_DO_bpr(a, b) |
|
#define | GS_DEFINE_MONOID_ID(T, min, max) static const T gs_identity_##T[] = { 0, 1, max, min, 0 }; |
|
#define | GS_DEFINE_IDENTITIES() |
|
#define | LIST GS_FOR_EACH_DOMAIN(ITEM) gs_dom_n |
|
#define | ITEM(T) gs_##T, |
|
#define | gs_sint TYPE_LOCAL(gs_int,gs_long,gs_long_long) |
|
#define | gs_slong TYPE_GLOBAL(gs_int,gs_long,gs_long_long) |
|
#define | GS_DOM_SIZE_ITEM(T) sizeof(T), |
|
#define | GS_DEFINE_DOM_SIZES() |
|
#define | LIST GS_FOR_EACH_OP(T,ITEM) gs_op_n |
|
#define | ITEM(T, op) gs_##op, |
|
#define GS_DEFINE_DOM_SIZES |
( |
| ) |
|
Value:static const unsigned gs_dom_size[] = \
#define GS_DOM_SIZE_ITEM(T)
#define GS_FOR_EACH_DOMAIN(macro)
Definition at line 70 of file gs_defs.h.
#define GS_DEFINE_IDENTITIES |
( |
| ) |
|
Value:
#define GS_DEFINE_MONOID_ID(T, min, max)
#define WHEN_LONG_LONG(x)
Definition at line 47 of file gs_defs.h.
#define GS_DEFINE_MONOID_ID |
( |
|
T, |
|
|
|
min, |
|
|
|
max |
|
) |
| static const T gs_identity_##T[] = { 0, 1, max, min, 0 }; |
#define GS_DO_add |
( |
|
a, |
|
|
|
b |
|
) |
| a+=b |
#define GS_DO_bpr |
( |
|
a, |
|
|
|
b |
|
) |
| |
Value:do if(b!=0) {
uint a_ = a;
uint b_ = b; \
if(a_==0) { a=b_; break; } \
for(;;) { if(a_<b_) b_>>=1; else if(b_<a_) a_>>=1; else break; } \
a = a_; \
} while(0)
Definition at line 37 of file gs_defs.h.
#define GS_DO_max |
( |
|
a, |
|
|
|
b |
|
) |
| if(b>a) a=b |
#define GS_DO_min |
( |
|
a, |
|
|
|
b |
|
) |
| if(b<a) a=b |
#define GS_DO_mul |
( |
|
a, |
|
|
|
b |
|
) |
| a*=b |
#define GS_DOM_SIZE_ITEM |
( |
|
T | ) |
sizeof(T), |
#define GS_FOR_EACH_DOMAIN |
( |
|
macro | ) |
|
Value:macro(double) \
macro(float ) \
macro(int ) \
#define WHEN_LONG_LONG(x)
Definition at line 18 of file gs_defs.h.
#define GS_FOR_EACH_OP |
( |
|
T, |
|
|
|
macro |
|
) |
| |
#define gs_sint TYPE_LOCAL(gs_int,gs_long,gs_long_long) |
#define gs_slong TYPE_GLOBAL(gs_int,gs_long,gs_long_long) |
#define ITEM |
( |
|
T | ) |
gs_##T, |
#define ITEM |
( |
|
T, |
|
|
|
op |
|
) |
| gs_##op, |