Nek5000
SEM for Incompressible NS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Enumerations
gs_defs.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#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,
 

Enumerations

enum  gs_dom { LIST }
 
enum  gs_op { LIST }
 

Macro Definition Documentation

#define GS_DEFINE_DOM_SIZES ( )
Value:
static const unsigned gs_dom_size[] = \
#define GS_DOM_SIZE_ITEM(T)
Definition: gs_defs.h:69
#define GS_FOR_EACH_DOMAIN(macro)
Definition: gs_defs.h:18

Definition at line 70 of file gs_defs.h.

#define GS_DEFINE_IDENTITIES ( )
Value:
GS_DEFINE_MONOID_ID(double, -DBL_MAX, DBL_MAX) \
GS_DEFINE_MONOID_ID(float , -FLT_MAX, FLT_MAX) \
GS_DEFINE_MONOID_ID(int , INT_MIN, INT_MAX) \
GS_DEFINE_MONOID_ID(long , LONG_MIN, LONG_MAX) \
WHEN_LONG_LONG(GS_DEFINE_MONOID_ID(long_long,LLONG_MIN,LLONG_MAX))
#define GS_DEFINE_MONOID_ID(T, min, max)
Definition: gs_defs.h:45
#define WHEN_LONG_LONG(x)
Definition: types.h:49

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 };

Definition at line 45 of file gs_defs.h.

#define GS_DO_add (   a,
 
)    a+=b

Definition at line 33 of file gs_defs.h.

#define GS_DO_bpr (   a,
 
)
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)
#define uint
Definition: types.h:70

Definition at line 37 of file gs_defs.h.

#define GS_DO_max (   a,
 
)    if(b>a) a=b

Definition at line 36 of file gs_defs.h.

#define GS_DO_min (   a,
 
)    if(b<a) a=b

Definition at line 35 of file gs_defs.h.

#define GS_DO_mul (   a,
 
)    a*=b

Definition at line 34 of file gs_defs.h.

#define GS_DOM_SIZE_ITEM (   T)    sizeof(T),

Definition at line 69 of file gs_defs.h.

#define GS_FOR_EACH_DOMAIN (   macro)
Value:
macro(double) \
macro(float ) \
macro(int ) \
macro(long ) \
WHEN_LONG_LONG(macro(long_long))
#define WHEN_LONG_LONG(x)
Definition: types.h:49

Definition at line 18 of file gs_defs.h.

#define GS_FOR_EACH_OP (   T,
  macro 
)
Value:
macro(T,add) \
macro(T,mul) \
macro(T,min) \
macro(T,max) \
macro(T,bpr)
double T
Definition: gs_test.c:14

Definition at line 26 of file gs_defs.h.

#define gs_sint   TYPE_LOCAL(gs_int,gs_long,gs_long_long)

Definition at line 65 of file gs_defs.h.

Referenced by discover_dofs(), and gs_setup_aux().

#define gs_slong   TYPE_GLOBAL(gs_int,gs_long,gs_long_long)

Definition at line 66 of file gs_defs.h.

Referenced by main(), shared_ids(), and test().

#define ITEM (   T)    gs_##T,

Definition at line 76 of file gs_defs.h.

#define ITEM (   T,
  op 
)    gs_##op,

Definition at line 76 of file gs_defs.h.

LIST   GS_FOR_EACH_DOMAIN(ITEM) gs_dom_n

Definition at line 75 of file gs_defs.h.

#define LIST   GS_FOR_EACH_OP(T,ITEM) gs_op_n

Definition at line 75 of file gs_defs.h.

Enumeration Type Documentation

enum gs_dom
Enumerator
LIST 

Definition at line 61 of file gs_defs.h.

enum gs_op
Enumerator
LIST 

Definition at line 77 of file gs_defs.h.