29#define INT_NONZERO(x) (((x)< -1.0e-15)||((x)> 1.0e-15))
45#define INT_CARTINDEX(am,i,j) (((i) == (am))? 0 : (((((am) - (i) + 1)*((am) - (i)))>>1) + (am) - (i) - (j)))
52#define FOR_CART(i,j,k,am) for((i)=(am);(i)>=0;(i)--) {\
53 for((j)=(am)-(i);(j)>=0;(j)--) \
54 { (k) = (am) - (i) - (j);
55#define END_FOR_CART }}
64#define FOR_GCCART(gc,index,i,j,k,sh)\
65 for ((gc)=0; (gc)<(sh)->ncon; (gc)++) {\
67 FOR_CART(i,j,k,(sh)->type[gc].am)
69#define FOR_GCCART_GS(gc,index,i,j,k,sh)\
70 for ((gc)=0; (gc)<(sh)->ncontraction(); (gc)++) {\
72 FOR_CART(i,j,k,(sh)->am(gc))
74#define END_FOR_GCCART(index)\
79#define END_FOR_GCCART_GS(index)\
85#define FOR_GCCART2(gc,i,j,k,sh)\
86 for ((gc)=0; (gc)<(sh)->ncon; (gc)++) {\
87 FOR_CART(i,j,k,(sh)->type[gc].am)
89#define END_FOR_GCCART2\
95#define FOR_SHELLS(c,i,j) for((i)=0;(i)<(c)->n;i++) {\
96 for((j)=0;(j)<(c)->center[(i)].basis.n;j++) {
97#define END_FOR_SHELLS }}
103#define INT_NCART(am) ((am>=0)?((((am)+2)*((am)+1))>>1):0)
106#define INT_NCART_NN(am) ((((am)+2)*((am)+1))>>1)
111#define INT_NCART_DEC(am,n) ((n)-(am)-1)
112#define INT_NCART_INC(am,n) ((n)+(am)+2)
117#define INT_NPURE(am) (2*(am)+1)
123#define INT_NFUNC(pu,am) ((pu)?INT_NPURE(am):INT_NCART(am))
127#define INT_SH(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]])
131#define INT_SH_AM(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]].type.am)
135#define INT_SH_PU(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]].type.puream)
139#define INT_CE_SH_AM(c,a,s) ((c)->center[(a)].basis.shell[(s)].type.am)
143#define INT_CE_SH_PU(c,a,s) ((c)->center[(a)].basis.shell[(s)].type.puream)
148#define INT_SH_NFUNC(c,s) ((c)->center[(c)->center_num[s]].basis.shell[(c)->shell_num[s]].nfunc)
162#define INT_MAX1(n1) ((n1)-1)
163#define INT_MAX2(e12,i,n2) ((e12)?(i):((n2)-1))
164#define INT_MAX3(e13e24,i,n3) ((e13e24)?(i):((n3)-1))
165#define INT_MAX4(e13e24,e34,i,j,k,n4) \
166 ((e34)?(((e13e24)&&((k)==(i)))?(j):(k)) \
167 :((e13e24)&&((k)==(i)))?(j):(n4)-1)
Generated at Fri Dec 2 2022 21:09:13 for MPQC
2.3.1 using the documentation package Doxygen
1.9.8.