38 const int * lmn1,
const char ** A,
const char * alpha1,
39 const int * lmn2,
const char ** B,
const char * alpha2,
40 const int * lmn3,
const char ** C,
const char * alpha3,
41 const int * lmn4,
const char ** D,
const char * alpha4,
66 const int * lmn1,
const double * A,
double alpha1,
67 const int * lmn2,
const double * B,
double alpha2,
68 const int * lmn3,
const double * C,
double alpha3,
69 const int * lmn4,
const double * D,
double alpha4,
105 int am1, arb_srcptr A,
int nprim1,
int ngen1, arb_srcptr alpha1, arb_srcptr coeff1,
106 int am2, arb_srcptr B,
int nprim2,
int ngen2, arb_srcptr alpha2, arb_srcptr coeff2,
107 int am3, arb_srcptr C,
int nprim3,
int ngen3, arb_srcptr alpha3, arb_srcptr coeff3,
108 int am4, arb_srcptr D,
int nprim4,
int ngen4, arb_srcptr alpha4, arb_srcptr coeff4,
141 int am1,
const char ** A,
int nprim1,
int ngen1,
const char ** alpha1,
const char ** coeff1,
142 int am2,
const char ** B,
int nprim2,
int ngen2,
const char ** alpha2,
const char ** coeff2,
143 int am3,
const char ** C,
int nprim3,
int ngen3,
const char ** alpha3,
const char ** coeff3,
144 int am4,
const char ** D,
int nprim4,
int ngen4,
const char ** alpha4,
const char ** coeff4,
177 int am1,
const double * A,
int nprim1,
int ngen1,
const double * alpha1,
const double * coeff1,
178 int am2,
const double * B,
int nprim2,
int ngen2,
const double * alpha2,
const double * coeff2,
179 int am3,
const double * C,
int nprim3,
int ngen3,
const double * alpha3,
const double * coeff3,
180 int am4,
const double * D,
int nprim4,
int ngen4,
const double * alpha4,
const double * coeff4,
194 #define MIRP_WRAP_SINGLE4_STR(name) \ 196 void mirp_##name##_single_str(arb_t integral, \ 197 const int * lmn1, const char ** A, const char * alpha1, \ 198 const int * lmn2, const char ** B, const char * alpha2, \ 199 const int * lmn3, const char ** C, const char * alpha3, \ 200 const int * lmn4, const char ** D, const char * alpha4, \ 201 slong working_prec) \ 203 mirp_integral4_single_str(integral, \ 209 mirp_##name##_single); \ 223 #define MIRP_WRAP_SINGLE4_EXACT(name) \ 225 void mirp_##name##_single_exact(double * integral, \ 226 const int * lmn1, const double * A, double alpha1, \ 227 const int * lmn2, const double * B, double alpha2, \ 228 const int * lmn3, const double * C, double alpha3, \ 229 const int * lmn4, const double * D, double alpha4) \ 231 mirp_integral4_single_exact(integral, \ 236 mirp_##name##_single); \ 250 #define MIRP_WRAP_SHELL4(name) \ 252 void mirp_##name(arb_t integrals, \ 253 int am1, arb_srcptr A, int nprim1, int ngen1, arb_srcptr alpha1, arb_srcptr coeff1, \ 254 int am2, arb_srcptr B, int nprim2, int ngen2, arb_srcptr alpha2, arb_srcptr coeff2, \ 255 int am3, arb_srcptr C, int nprim3, int ngen3, arb_srcptr alpha3, arb_srcptr coeff3, \ 256 int am4, arb_srcptr D, int nprim4, int ngen4, arb_srcptr alpha4, arb_srcptr coeff4, \ 257 slong working_prec) \ 259 mirp_integral4(integrals, \ 260 am1, A, nprim1, ngen1, alpha1, coeff1, \ 261 am2, B, nprim2, ngen2, alpha2, coeff2, \ 262 am3, C, nprim3, ngen3, alpha3, coeff3, \ 263 am4, D, nprim4, ngen4, alpha4, coeff4, \ 264 working_prec, mirp_##name##_single); \ 279 #define MIRP_WRAP_SHELL4_STR(name) \ 281 void mirp_##name##_str(arb_ptr integrals, \ 282 int am1, const char ** A, int nprim1, int ngen1, const char ** alpha1, const char ** coeff1, \ 283 int am2, const char ** B, int nprim2, int ngen2, const char ** alpha2, const char ** coeff2, \ 284 int am3, const char ** C, int nprim3, int ngen3, const char ** alpha3, const char ** coeff3, \ 285 int am4, const char ** D, int nprim4, int ngen4, const char ** alpha4, const char ** coeff4, \ 286 slong working_prec) \ 288 mirp_integral4_str(integrals, \ 289 am1, A, nprim1, ngen1, alpha1, coeff1, \ 290 am2, B, nprim2, ngen2, alpha2, coeff2, \ 291 am3, C, nprim3, ngen3, alpha3, coeff3, \ 292 am4, D, nprim4, ngen4, alpha4, coeff4, \ 308 #define MIRP_WRAP_SHELL4_EXACT(name) \ 310 void mirp_##name##_exact(double * integrals, \ 311 int am1, const double * A, int nprim1, int ngen1, const double * alpha1, const double * coeff1, \ 312 int am2, const double * B, int nprim2, int ngen2, const double * alpha2, const double * coeff2, \ 313 int am3, const double * C, int nprim3, int ngen3, const double * alpha3, const double * coeff3, \ 314 int am4, const double * D, int nprim4, int ngen4, const double * alpha4, const double * coeff4) \ 316 mirp_integral4_exact(integrals, \ 317 am1, A, nprim1, ngen1, alpha1, coeff1, \ 318 am2, B, nprim2, ngen2, alpha2, coeff2, \ 319 am3, C, nprim3, ngen3, alpha3, coeff3, \ 320 am4, D, nprim4, ngen4, alpha4, coeff4, \ void mirp_integral4_str(arb_ptr integrals, int am1, const char **A, int nprim1, int ngen1, const char **alpha1, const char **coeff1, int am2, const char **B, int nprim2, int ngen2, const char **alpha2, const char **coeff2, int am3, const char **C, int nprim3, int ngen3, const char **alpha3, const char **coeff3, int am4, const char **D, int nprim4, int ngen4, const char **alpha4, const char **coeff4, slong working_prec, cb_integral4 cb)
Compute a single 4-center integral to a target precision (string input)
Definition: integral4_wrappers.c:221
void(* cb_integral4)(arb_ptr, int, arb_srcptr, int, int, arb_srcptr, arb_srcptr, int, arb_srcptr, int, int, arb_srcptr, arb_srcptr, int, arb_srcptr, int, int, arb_srcptr, arb_srcptr, int, arb_srcptr, int, int, arb_srcptr, arb_srcptr, slong)
Pointer to a function that computes all cartesian integrals for a contracted shell quartet (four-cent...
Definition: typedefs.h:50
void mirp_integral4_exact(double *integrals, int am1, const double *A, int nprim1, int ngen1, const double *alpha1, const double *coeff1, int am2, const double *B, int nprim2, int ngen2, const double *alpha2, const double *coeff2, int am3, const double *C, int nprim3, int ngen3, const double *alpha3, const double *coeff3, int am4, const double *D, int nprim4, int ngen4, const double *alpha4, const double *coeff4, cb_integral4 cb)
Compute all cartesian integrals of a contracted shell quartet for an integral to exact double precisi...
Definition: integral4_wrappers.c:411
void mirp_integral4_single_exact(double *integral, const int *lmn1, const double *A, double alpha1, const int *lmn2, const double *B, double alpha2, const int *lmn3, const double *C, double alpha3, const int *lmn4, const double *D, double alpha4, cb_integral4_single cb)
Computes a single integral to exact double precision using interval arithmetic (four-center) ...
Definition: integral4_wrappers.c:303
void(* cb_integral4_single)(arb_t, const int *, arb_srcptr, const arb_t, const int *, arb_srcptr, const arb_t, const int *, arb_srcptr, const arb_t, const int *, arb_srcptr, const arb_t, slong)
Pointer to a function that computes a single cartesian integral (four-center, interval arithmetic) ...
Definition: typedefs.h:18
Typedefs of common function pointers.
void mirp_integral4(arb_ptr integrals, int am1, arb_srcptr A, int nprim1, int ngen1, arb_srcptr alpha1, arb_srcptr coeff1, int am2, arb_srcptr B, int nprim2, int ngen2, arb_srcptr alpha2, arb_srcptr coeff2, int am3, arb_srcptr C, int nprim3, int ngen3, arb_srcptr alpha3, arb_srcptr coeff3, int am4, arb_srcptr D, int nprim4, int ngen4, arb_srcptr alpha4, arb_srcptr coeff4, slong working_prec, cb_integral4_single cb)
Compute all cartesian integrals of a contracted shell quartet for an integral (four-center, interval arithmetic)
Definition: integral4_wrappers.c:86
void mirp_integral4_single_str(arb_t integral, const int *lmn1, const char **A, const char *alpha1, const int *lmn2, const char **B, const char *alpha2, const int *lmn3, const char **C, const char *alpha3, const int *lmn4, const char **D, const char *alpha4, slong working_prec, cb_integral4_single cb)
Compute a single 4-center integral using interval arithmetic (string input)
Definition: integral4_wrappers.c:165