29 #define INT_NONZERO(x) (((x)< -1.0e-10)||((x)> 1.0e-10))
46 #define INT_CARTINDEX(am,i,j) (((((((am)+1)<<1)-(i))*((i)+1))>>1)-(j)-1)
53 #define FOR_CART(i,j,k,am) for((i)=0;(i)<=(am);(i)++) {\
54 for((k)=0;(k)<=(am)-(i);(k)++) \
55 { (j) = (am) - (i) - (k);
56 #define END_FOR_CART }}
65 #define FOR_GCCART(gc,index,i,j,k,sh)\
66 for ((gc)=0; (gc)<(sh)->ncon; (gc)++) {\
68 FOR_CART(i,j,k,(sh)->type[gc].am)
70 #define FOR_GCCART_GS(gc,index,i,j,k,sh)\
71 for ((gc)=0; (gc)<(sh)->ncontraction(); (gc)++) {\
73 FOR_CART(i,j,k,(sh)->am(gc))
75 #define END_FOR_GCCART(index)\
80 #define END_FOR_GCCART_GS(index)\
86 #define FOR_GCCART2(gc,i,j,k,sh)\
87 for ((gc)=0; (gc)<(sh)->ncon; (gc)++) {\
88 FOR_CART(i,j,k,(sh)->type[gc].am)
90 #define END_FOR_GCCART2\
96 #define FOR_SHELLS(c,i,j) for((i)=0;(i)<(c)->n;i++) {\
97 for((j)=0;(j)<(c)->center[(i)].basis.n;j++) {
98 #define END_FOR_SHELLS }}
104 #define INT_NCART(am) ((am>=0)?((((am)+2)*((am)+1))>>1):0)
107 #define INT_NCART_NN(am) ((((am)+2)*((am)+1))>>1)
112 #define INT_NCART_DEC(am,n) ((n)-(am)-1)
113 #define INT_NCART_INC(am,n) ((n)+(am)+2)
118 #define INT_NPURE(am) (2*(am)+1)
124 #define INT_NFUNC(pu,am) ((pu)?INT_NPURE(am):INT_NCART(am))
128 #define INT_SH(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]])
132 #define INT_SH_AM(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]].type.am)
136 #define INT_SH_PU(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]].type.puream)
140 #define INT_CE_SH_AM(c,a,s) ((c)->center[(a)].basis.shell[(s)].type.am)
144 #define INT_CE_SH_PU(c,a,s) ((c)->center[(a)].basis.shell[(s)].type.puream)
149 #define INT_SH_NFUNC(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]].nfunc)
163 #define INT_MAX1(n1) ((n1)-1)
164 #define INT_MAX2(e12,i,n2) ((e12)?(i):((n2)-1))
165 #define INT_MAX3(e13e24,i,n3) ((e13e24)?(i):((n3)-1))
166 #define INT_MAX4(e13e24,e34,i,j,k,n4) \
167 ((e34)?(((e13e24)&&((k)==(i)))?(j):(k)) \
168 :((e13e24)&&((k)==(i)))?(j):(n4)-1)
Generated at Sun Jan 26 2020 23:23:57 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.