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

Generated at Sun Jan 26 2020 23:23:59 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.