32 #ifndef _chemistry_qc_cints_int2e_h
33 #define _chemistry_qc_cints_int2e_h
37 #include <util/ref/ref.h>
38 #include <chemistry/qc/basis/basis.h>
39 #include <chemistry/qc/basis/tbint.h>
75 void check_storage_()
const;
87 void transform_contrquartets_(
double *,
double *);
89 void sort_contrquartets_to_shellquartet_(
double *,
double *);
91 void permute_target_(
double *,
double *,
int,
int,
int);
92 void permute_1234_to_1243_(
double *,
double *);
93 void permute_1234_to_2134_(
double *,
double *);
94 void permute_1234_to_2143_(
double *,
double *);
95 void permute_1234_to_3412_(
double *,
double *);
96 void permute_1234_to_3421_(
double *,
double *);
97 void permute_1234_to_4312_(
double *,
double *);
98 void permute_1234_to_4321_(
double *,
double *);
100 void get_nonredundant_ints_(
double *,
double *,
int,
int,
int);
135 if (bs1_==bs2_ && bs1_ == bs3_ && bs1_ == bs4_)
return bs1_;
139 Ref<GaussianBasisSet> basis2() {
return bs2_; }
140 Ref<GaussianBasisSet> basis3() {
return bs3_; }
141 Ref<GaussianBasisSet> basis4() {
return bs4_; }
A Gaussian orbital shell.
Definition: gaussshell.h:48
Int2eCints is an interface to various specializations of two-electron integral evaluators implemented...
Definition: cints/int2e.h:48
virtual double * buffer(TwoBodyInt::tbint_type=TwoBodyInt::eri) const =0
Returns the location of the buffer with target integrals.
void set_redundant(int flag)
Set redundant flag.
Definition: cints/int2e.h:121
void init_storage(size_t)
Sets storage limit and starts storage tracking.
void set_permute(int flag)
Set shell permutation flag.
Definition: cints/int2e.h:126
size_t storage_used() const
Reports how much storage is actually used at a given time.
Definition: cints/int2e.h:116
void done_storage()
Finishes storage tracking.
int permute() const
Whether shells can be permuted.
Definition: cints/int2e.h:124
virtual void compute_quartet(int *, int *, int *, int *)=0
Evaluate the target quartet of integrals.
int redundant() const
Whether redundant integrals are returned.
Definition: cints/int2e.h:119
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition: integral.h:58
The base class for all reference counted objects.
Definition: ref.h:194
tbint_type
Types of two-body integrals that TwoBodyInt understands: eri stands for electron repulsion integral,...
Definition: tbint.h:111