MolSSI Integral Reference Project
typedefs.h
Go to the documentation of this file.
1 /*! \file
2  *
3  * \brief Typedefs of common function pointers
4  */
5 
6 #pragma once
7 
8 #include <arb.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 
15 /*! \brief Pointer to a function that computes a single cartesian integral
16  * (four-center, interval arithmetic)
17  */
18 typedef void (*cb_integral4_single)(arb_t,
19  const int *, arb_srcptr, const arb_t,
20  const int *, arb_srcptr, const arb_t,
21  const int *, arb_srcptr, const arb_t,
22  const int *, arb_srcptr, const arb_t,
23  slong);
24 
25 
26 /*! \brief Pointer to a function that computes a single cartesian integral
27  * from string inputs (four-center)
28  */
29 typedef void (*cb_integral4_single_str)(arb_t,
30  const int *, const char **, const char *,
31  const int *, const char **, const char *,
32  const int *, const char **, const char *,
33  const int *, const char **, const char *,
34  slong);
35 
36 
37 /*! \brief Pointer to a function that computes a single cartesian integral
38  * to exact double precision (four-center)
39  */
40 typedef void (*cb_integral4_single_exact)(double * integral,
41  const int * lmn1, const double * A, double alpha1,
42  const int * lmn2, const double * B, double alpha2,
43  const int * lmn3, const double * C, double alpha3,
44  const int * lmn4, const double * D, double alpha4);
45 
46 
47 /*! \brief Pointer to a function that computes all cartesian integrals
48  * for a contracted shell quartet (four-center, interval arithmetic)
49  */
50 typedef void (*cb_integral4)(arb_ptr,
51  int, arb_srcptr, int, int, arb_srcptr, arb_srcptr,
52  int, arb_srcptr, int, int, arb_srcptr, arb_srcptr,
53  int, arb_srcptr, int, int, arb_srcptr, arb_srcptr,
54  int, arb_srcptr, int, int, arb_srcptr, arb_srcptr,
55  slong);
56 
57 
58 /*! \brief Pointer to a function that computes all cartesian integrals
59  * for a contracted shell quartet from string inputs (four-center)
60  */
61 typedef void (*cb_integral4_str)(arb_ptr,
62  int, const char **, int, int, const char **, const char **,
63  int, const char **, int, int, const char **, const char **,
64  int, const char **, int, int, const char **, const char **,
65  int, const char **, int, int, const char **, const char **,
66  slong);
67 
68 
69 /*! \brief Pointer to a function that computes all cartesian integrals
70  * for a contracted shell quartet to exact double precision (four-center)
71  */
72 typedef void (*cb_integral4_exact)(double *,
73  int, const double *, int, int, const double *, const double *,
74  int, const double *, int, int, const double *, const double *,
75  int, const double *, int, int, const double *, const double *,
76  int, const double *, int, int, const double *, const double *);
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
void(* cb_integral4_str)(arb_ptr, int, const char **, int, int, const char **, const char **, int, const char **, int, int, const char **, const char **, int, const char **, int, int, const char **, const char **, int, const char **, int, int, const char **, const char **, slong)
Pointer to a function that computes all cartesian integrals for a contracted shell quartet from strin...
Definition: typedefs.h:61
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(* cb_integral4_exact)(double *, int, const double *, int, int, const double *, const double *, int, const double *, int, int, const double *, const double *, int, const double *, int, int, const double *, const double *, int, const double *, int, int, const double *, const double *)
Pointer to a function that computes all cartesian integrals for a contracted shell quartet to exact d...
Definition: typedefs.h:72
void(* cb_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)
Pointer to a function that computes a single cartesian integral to exact double precision (four-cente...
Definition: typedefs.h:40
void(* cb_integral4_single_str)(arb_t, const int *, const char **, const char *, const int *, const char **, const char *, const int *, const char **, const char *, const int *, const char **, const char *, slong)
Pointer to a function that computes a single cartesian integral from string inputs (four-center) ...
Definition: typedefs.h:29
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