MPQC  2.3.1
build.h
1 #ifdef __GNUG__
2 #pragma interface
3 #endif
4 
5 #ifndef _chemistry_qc_oint3_build_h
6 #define _chemistry_qc_oint3_build_h
7 
8 #include <scconfig.h>
9 #include <chemistry/qc/intv3/array.h>
10 
11 namespace sc {
12 
13 #define MG 3
14 
15 #define DECLARE_BUILD(ii,j,k,l) \
16  int i ## ii ## j ## k ## l ();\
17  int i ## ii ## j ## k ## l ## eAB ()
18 
19 class BuildIntV3 {
20  public:
21  double int_v_ooze;
22  double int_v_zeta12;
23  double int_v_zeta34;
24  double int_v_oo2zeta12;
25  double int_v_oo2zeta34;
26  double int_v_W0;
27  double int_v_W1;
28  double int_v_W2;
29  double int_v_p120;
30  double int_v_p121;
31  double int_v_p122;
32  double int_v_p340;
33  double int_v_p341;
34  double int_v_p342;
35  double int_v_r10;
36  double int_v_r11;
37  double int_v_r12;
38  double int_v_r20;
39  double int_v_r21;
40  double int_v_r22;
41  double int_v_r30;
42  double int_v_r31;
43  double int_v_r32;
44  double int_v_r40;
45  double int_v_r41;
46  double int_v_r42;
47  double int_v_k12;
48  double int_v_k34;
49  IntV3Arraydoublep3 int_v_list;
50  public:
51  BuildIntV3();
52  ~BuildIntV3();
53 
54  int impossible_integral();
55 
56 #if (MG == 1) || (MG == 2) || (MG == 3) || (MG == 4)
57  DECLARE_BUILD(0,1,0,0);
58  DECLARE_BUILD(0,1,0,1);
59  DECLARE_BUILD(0,1,1,1);
60  DECLARE_BUILD(1,1,0,0);
61  DECLARE_BUILD(1,1,1,1);
62 #endif
63 
64 #if (MG == 2) || (MG == 3) || (MG == 4)
65  DECLARE_BUILD(0,2,0,0);
66  DECLARE_BUILD(0,2,0,1);
67  DECLARE_BUILD(0,2,0,2);
68  DECLARE_BUILD(0,2,1,1);
69  DECLARE_BUILD(0,2,1,2);
70  DECLARE_BUILD(0,2,2,2);
71  DECLARE_BUILD(1,2,0,0);
72  DECLARE_BUILD(1,2,0,1);
73  DECLARE_BUILD(1,2,1,1);
74  DECLARE_BUILD(1,2,1,2);
75  DECLARE_BUILD(1,2,2,2);
76  DECLARE_BUILD(2,2,0,0);
77  DECLARE_BUILD(2,2,0,1);
78  DECLARE_BUILD(2,2,1,1);
79  DECLARE_BUILD(2,2,2,2);
80 #endif
81 
82 #if (MG == 3) || (MG == 4)
83  DECLARE_BUILD(0,3,0,0);
84  DECLARE_BUILD(0,3,0,1);
85  DECLARE_BUILD(0,3,0,2);
86  DECLARE_BUILD(0,3,0,3);
87  DECLARE_BUILD(0,3,1,1);
88  DECLARE_BUILD(0,3,1,2);
89  DECLARE_BUILD(0,3,1,3);
90  DECLARE_BUILD(0,3,2,2);
91  DECLARE_BUILD(0,3,2,3);
92  DECLARE_BUILD(0,3,3,3);
93  DECLARE_BUILD(1,3,0,0);
94  DECLARE_BUILD(1,3,0,1);
95  DECLARE_BUILD(1,3,0,2);
96  DECLARE_BUILD(1,3,1,1);
97  DECLARE_BUILD(1,3,1,2);
98  DECLARE_BUILD(1,3,1,3);
99  DECLARE_BUILD(1,3,2,2);
100  DECLARE_BUILD(1,3,2,3);
101  DECLARE_BUILD(1,3,3,3);
102  DECLARE_BUILD(2,3,0,0);
103  DECLARE_BUILD(2,3,0,1);
104  DECLARE_BUILD(2,3,0,2);
105  DECLARE_BUILD(2,3,1,1);
106  DECLARE_BUILD(2,3,1,2);
107  DECLARE_BUILD(2,3,2,2);
108  DECLARE_BUILD(2,3,2,3);
109  DECLARE_BUILD(2,3,3,3);
110  DECLARE_BUILD(3,3,0,0);
111  DECLARE_BUILD(3,3,0,1);
112  DECLARE_BUILD(3,3,0,2);
113  DECLARE_BUILD(3,3,1,1);
114  DECLARE_BUILD(3,3,1,2);
115  DECLARE_BUILD(3,3,2,2);
116  DECLARE_BUILD(3,3,3,3);
117 #endif
118 };
119 
120 }
121 
122 #endif
sc::IntV3Arraydoublep3
Definition: array.h:79
sc::BuildIntV3
Definition: build.h:19

Generated at Sun Jan 26 2020 23:33:03 for MPQC 2.3.1 using the documentation package Doxygen 1.8.16.