28 #ifndef _chemistry_qc_libint2_int1e_h
29 #define _chemistry_qc_libint2_int1e_h
31 #include <util/ref/ref.h>
32 #include <chemistry/qc/basis/basis.h>
33 #include <chemistry/qc/basis/obint.h>
34 #include <chemistry/qc/basis/fjt.h>
35 #include <libint2/boys.h>
36 #include <chemistry/qc/libint2/core_ints_engine.h>
61 double *target_ints_buffer_;
62 int max_doublet_size_;
66 double *sphharm_ints_;
68 int max_cart_doublet_size_;
72 double *contr_doublets_;
73 double *shell_doublet_;
86 double **OIX_, **OIY_, **OIZ_;
105 template <
int Order>
void AI_OSrecurs_(
double PA[3],
double PB[3],
106 double PC[3],
double gamma,
int iang,
int jang);
107 void OI_OSrecurs_(
double **OIX,
double **OIY,
double **OIZ,
double PA[3],
double PB[3],
108 double gamma,
int lmaxi,
int lmaxj);
109 typedef ::libint2::FmEval_Taylor<double,7> _FmEvalType;
115 void compute_doublet_info_(
int,
int);
116 void zero_buffers_();
117 void transform_contrquartets_(
double *,
double *);
118 void sort_contrdoublets_to_shelldoublet_(
double *,
double *);
119 void norm_contrcart1_(
double* data);
120 template <
unsigned int ntypes>
void norm_contrcart_(
double* data);
122 void zero_buffers_vec_(
const int);
123 void transform_contrquartets_vec_(
const int,
double *,
double *);
124 void sort_contrdoublets_to_shelldoublet_vec_(
const int,
double *,
double *);
126 void overlap_full_general_();
127 void overlap_sameam_general_();
128 void kinetic_full_general_();
129 void kinetic_sameam_general_();
130 void nuclear_full_general_();
131 void nuclear_sameam_general_();
132 void hcore_full_general_();
133 void hcore_sameam_general_();
134 void edipole_full_general_();
135 void equadrupole_full_general_();
136 void efield_full_general_();
137 void efield_grad_full_general_();
138 void p4_full_general_();
141 double **init_block_(
int,
int);
142 void free_block_(
double **);
143 double ***init_box_(
int,
int,
int);
144 void free_box_(
double ***);
150 int order,
bool need_overlap,
bool need_coulomb,
int ntypes);
161 double *buffer() {
return target_ints_buffer_; }
166 void kinetic(
int ish,
int jsh);
167 void nuclear(
int ish,
int jsh);
168 void overlap(
int ish,
int jsh);
169 void hcore(
int ish,
int jsh);
170 void edipole(
int ish,
int jsh);
171 void equadrupole(
int ish,
int jsh);
172 void efield(
int ish,
int jsh);
173 void efield_grad(
int ish,
int jsh);
174 void p4(
int ish,
int jsh);
177 #include <chemistry/qc/libint2/obosrr.timpl.h>