32 #ifndef _chemistry_qc_cints_int1e_h
33 #define _chemistry_qc_cints_int1e_h
35 #include <util/ref/ref.h>
36 #include <chemistry/qc/basis/basis.h>
37 #include <chemistry/qc/basis/obint.h>
38 #include <chemistry/qc/intv3/fjt.h>
64 double *target_ints_buffer_;
65 int max_doublet_size_;
69 double *sphharm_ints_;
71 int max_cart_doublet_size_;
75 double *contr_doublets_;
76 double *shell_doublet_;
89 double **OIX_, **OIY_, **OIZ_;
96 void AI_OSrecurs_(
double ***AI0,
double PA[3],
double PB[3],
97 double PC[3],
double gamma,
int iang,
int jang);
98 void OI_OSrecurs_(
double **OIX,
double **OIY,
double **OIZ,
double PA[3],
double PB[3],
99 double gamma,
int lmaxi,
int lmaxj);
103 void compute_doublet_info_(
int,
int);
104 void zero_buffers_();
105 void transform_contrquartets_(
double *,
double *);
106 void sort_contrdoublets_to_shelldoublet_(
double *,
double *);
108 void zero_buffers_vec_(
const int);
109 void transform_contrquartets_vec_(
const int,
double *,
double *);
110 void sort_contrdoublets_to_shelldoublet_vec_(
const int,
double *,
double *);
112 void overlap_full_general_();
113 void overlap_sameam_general_();
114 void kinetic_full_general_();
115 void kinetic_sameam_general_();
116 void nuclear_full_general_();
117 void nuclear_sameam_general_();
118 void hcore_full_general_();
119 void hcore_sameam_general_();
120 void edipole_full_general_();
121 void equadrupole_full_general_();
124 double **init_block_(
int,
int);
125 void free_block_(
double **);
126 double ***init_box_(
int,
int,
int);
127 void free_box_(
double ***);
133 int order,
bool need_overlap,
bool need_coulomb,
int ntypes);
143 double *buffer() {
return target_ints_buffer_; }
148 void kinetic(
int ish,
int jsh);
149 void nuclear(
int ish,
int jsh);
150 void overlap(
int ish,
int jsh);
151 void hcore(
int ish,
int jsh);
152 void edipole(
int ish,
int jsh);
153 void equadrupole(
int ish,
int jsh);