CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
vpp_tools.h
Go to the documentation of this file.
1 // concatenation of two signal_s
2 //#define sigcat(s1,n1,s2,n2) (((s1 & ((1ULL << n1)-1ULL)) << n2) | (s2 & ((1ULL << n2)-1ULL)))
3 #define sigcat(s1,n1,s2,n2) ((s1 << n2) | s2)
4 
5 // signal_ declaration
6 #define Signal(s) ULLONG s, RC_##s, CH_##s
7 
8 // signal_ initialization
9 #define siginit(s) {if ((CH_##s = s - RC_##s) != 0) {__glob__change__ = 1; RC_##s = s;}}
10 
11 // memory initialization
12 #define meminit(s) for (unsigned __mem_ind__ = 0; __mem_ind__ < sizeof(s)/sizeof(ULLONG); __mem_ind__++) siginit(s[__mem_ind__]);
13