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");