28 #ifndef _chemistry_qc_libint2_libint2utils_h
29 #define _chemistry_qc_libint2_libint2utils_h
32 typedef Libint_t prim_data;
33 inline void assign_FjT(prim_data* Data,
const int& jmax,
const double* FjT,
const double& scale) {
35 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(28))
37 Data->LIBINT_T_SS_EREP_SS(28)[0] = FjT[28] * scale;
39 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(27))
41 Data->LIBINT_T_SS_EREP_SS(27)[0] = FjT[27] * scale;
43 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(26))
45 Data->LIBINT_T_SS_EREP_SS(26)[0] = FjT[26] * scale;
47 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(25))
49 Data->LIBINT_T_SS_EREP_SS(25)[0] = FjT[25] * scale;
51 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(24))
53 Data->LIBINT_T_SS_EREP_SS(24)[0] = FjT[24] * scale;
55 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(23))
57 Data->LIBINT_T_SS_EREP_SS(23)[0] = FjT[23] * scale;
59 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(22))
61 Data->LIBINT_T_SS_EREP_SS(22)[0] = FjT[22] * scale;
63 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(21))
65 Data->LIBINT_T_SS_EREP_SS(21)[0] = FjT[21] * scale;
67 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(20))
69 Data->LIBINT_T_SS_EREP_SS(20)[0] = FjT[20] * scale;
71 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(19))
73 Data->LIBINT_T_SS_EREP_SS(19)[0] = FjT[19] * scale;
75 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(18))
77 Data->LIBINT_T_SS_EREP_SS(18)[0] = FjT[18] * scale;
79 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(17))
81 Data->LIBINT_T_SS_EREP_SS(17)[0] = FjT[17] * scale;
83 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(16))
85 Data->LIBINT_T_SS_EREP_SS(16)[0] = FjT[16] * scale;
87 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(15))
89 Data->LIBINT_T_SS_EREP_SS(15)[0] = FjT[15] * scale;
91 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(14))
93 Data->LIBINT_T_SS_EREP_SS(14)[0] = FjT[14] * scale;
95 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(13))
97 Data->LIBINT_T_SS_EREP_SS(13)[0] = FjT[13] * scale;
99 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(12))
101 Data->LIBINT_T_SS_EREP_SS(12)[0] = FjT[12] * scale;
103 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(11))
105 Data->LIBINT_T_SS_EREP_SS(11)[0] = FjT[11] * scale;
107 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(10))
109 Data->LIBINT_T_SS_EREP_SS(10)[0] = FjT[10] * scale;
111 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(9))
113 Data->LIBINT_T_SS_EREP_SS(9)[0] = FjT[9] * scale;
115 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(8))
117 Data->LIBINT_T_SS_EREP_SS(8)[0] = FjT[8] * scale;
119 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(7))
121 Data->LIBINT_T_SS_EREP_SS(7)[0] = FjT[7] * scale;
123 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(6))
125 Data->LIBINT_T_SS_EREP_SS(6)[0] = FjT[6] * scale;
127 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(5))
129 Data->LIBINT_T_SS_EREP_SS(5)[0] = FjT[5] * scale;
131 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(4))
133 Data->LIBINT_T_SS_EREP_SS(4)[0] = FjT[4] * scale;
135 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(3))
137 Data->LIBINT_T_SS_EREP_SS(3)[0] = FjT[3] * scale;
139 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(2))
141 Data->LIBINT_T_SS_EREP_SS(2)[0] = FjT[2] * scale;
143 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(1))
145 Data->LIBINT_T_SS_EREP_SS(1)[0] = FjT[1] * scale;
147 #if LIBINT2_DEFINED(eri,LIBINT_T_SS_EREP_SS(0))
149 Data->LIBINT_T_SS_EREP_SS(0)[0] = FjT[0] * scale;
153 throw std::logic_error(
"assign_FjT() -- max_am exceeded");
157 inline void assign_ss_r12m1g12_ss(prim_data* Data,
const int& jmax,
const double* ss_r12m1g12_ss,
const double& scale) {
159 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(28))
161 Data->LIBINT_T_SS_Km1G12_SS(28)[0] = ss_r12m1g12_ss[28] * scale;
163 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(27))
165 Data->LIBINT_T_SS_Km1G12_SS(27)[0] = ss_r12m1g12_ss[27] * scale;
167 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(26))
169 Data->LIBINT_T_SS_Km1G12_SS(26)[0] = ss_r12m1g12_ss[26] * scale;
171 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(25))
173 Data->LIBINT_T_SS_Km1G12_SS(25)[0] = ss_r12m1g12_ss[25] * scale;
175 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(24))
177 Data->LIBINT_T_SS_Km1G12_SS(24)[0] = ss_r12m1g12_ss[24] * scale;
179 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(23))
181 Data->LIBINT_T_SS_Km1G12_SS(23)[0] = ss_r12m1g12_ss[23] * scale;
183 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(22))
185 Data->LIBINT_T_SS_Km1G12_SS(22)[0] = ss_r12m1g12_ss[22] * scale;
187 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(21))
189 Data->LIBINT_T_SS_Km1G12_SS(21)[0] = ss_r12m1g12_ss[21] * scale;
191 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(20))
193 Data->LIBINT_T_SS_Km1G12_SS(20)[0] = ss_r12m1g12_ss[20] * scale;
195 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(19))
197 Data->LIBINT_T_SS_Km1G12_SS(19)[0] = ss_r12m1g12_ss[19] * scale;
199 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(18))
201 Data->LIBINT_T_SS_Km1G12_SS(18)[0] = ss_r12m1g12_ss[18] * scale;
203 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(17))
205 Data->LIBINT_T_SS_Km1G12_SS(17)[0] = ss_r12m1g12_ss[17] * scale;
207 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(16))
209 Data->LIBINT_T_SS_Km1G12_SS(16)[0] = ss_r12m1g12_ss[16] * scale;
211 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(15))
213 Data->LIBINT_T_SS_Km1G12_SS(15)[0] = ss_r12m1g12_ss[15] * scale;
215 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(14))
217 Data->LIBINT_T_SS_Km1G12_SS(14)[0] = ss_r12m1g12_ss[14] * scale;
219 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(13))
221 Data->LIBINT_T_SS_Km1G12_SS(13)[0] = ss_r12m1g12_ss[13] * scale;
223 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(12))
225 Data->LIBINT_T_SS_Km1G12_SS(12)[0] = ss_r12m1g12_ss[12] * scale;
227 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(11))
229 Data->LIBINT_T_SS_Km1G12_SS(11)[0] = ss_r12m1g12_ss[11] * scale;
231 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(10))
233 Data->LIBINT_T_SS_Km1G12_SS(10)[0] = ss_r12m1g12_ss[10] * scale;
235 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(9))
237 Data->LIBINT_T_SS_Km1G12_SS(9)[0] = ss_r12m1g12_ss[9] * scale;
239 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(8))
241 Data->LIBINT_T_SS_Km1G12_SS(8)[0] = ss_r12m1g12_ss[8] * scale;
243 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(7))
245 Data->LIBINT_T_SS_Km1G12_SS(7)[0] = ss_r12m1g12_ss[7] * scale;
247 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(6))
249 Data->LIBINT_T_SS_Km1G12_SS(6)[0] = ss_r12m1g12_ss[6] * scale;
251 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(5))
253 Data->LIBINT_T_SS_Km1G12_SS(5)[0] = ss_r12m1g12_ss[5] * scale;
255 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(4))
257 Data->LIBINT_T_SS_Km1G12_SS(4)[0] = ss_r12m1g12_ss[4] * scale;
259 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(3))
261 Data->LIBINT_T_SS_Km1G12_SS(3)[0] = ss_r12m1g12_ss[3] * scale;
263 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(2))
265 Data->LIBINT_T_SS_Km1G12_SS(2)[0] = ss_r12m1g12_ss[2] * scale;
267 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(1))
269 Data->LIBINT_T_SS_Km1G12_SS(1)[0] = ss_r12m1g12_ss[1] * scale;
271 #if LIBINT2_DEFINED(r12kg12,LIBINT_T_SS_Km1G12_SS(0))
273 Data->LIBINT_T_SS_Km1G12_SS(0)[0] = ss_r12m1g12_ss[0] * scale;
277 throw std::logic_error(
"assign_ss_r12m1g12_ss() -- max_am exceeded");