28 #ifndef _chemistry_qc_libint2_int2e_h
29 #define _chemistry_qc_libint2_int2e_h
33 #include <util/ref/ref.h>
34 #include <chemistry/qc/basis/basis.h>
35 #include <chemistry/qc/basis/tbint.h>
36 #include <chemistry/qc/libint2/bounds.h>
73 void check_storage_()
const;
81 std::vector<double> tformbuf_;
85 void transform_contrquartets_(
double *,
double *);
87 void norm_contrcart1_(
double* data);
88 template <
unsigned int ntypes>
void norm_contrcart_(
double* data);
90 void sort_contrquartets_to_shellquartet_(
double *,
double *);
92 void permute_target_(
double *,
double *,
int,
int,
int);
93 void permute_1234_to_1243_(
double *,
double *);
94 void permute_1234_to_2134_(
double *,
double *);
95 void permute_1234_to_2143_(
double *,
double *);
96 void permute_1234_to_3412_(
double *,
double *);
97 void permute_1234_to_3421_(
double *,
double *);
98 void permute_1234_to_4312_(
double *,
double *);
99 void permute_1234_to_4321_(
double *,
double *);
101 void get_nonredundant_ints_(
double *,
double *,
int,
int,
int);
138 virtual double *
buffer(
unsigned int)
const =0;
141 virtual int log2_bound(
int s1,
int s2,
int s3,
int s4);
146 if (bs1_==bs2_ && bs1_ == bs3_ && bs1_ == bs4_)
return bs1_;
149 Ref<GaussianBasisSet> basis1() {
return bs1_; }
150 Ref<GaussianBasisSet> basis2() {
return bs2_; }
151 Ref<GaussianBasisSet> basis3() {
return bs3_; }
152 Ref<GaussianBasisSet> basis4() {
return bs4_; }
156 Int2eLibint2(
const Int2eLibint2&
other);
virtual void compute_quartet(int *, int *, int *, int *)=0
Evaluate the target quartet of integrals.
virtual double * buffer(unsigned int) const =0
Returns the location of the buffer with target integrals.
A template class that maintains references counts.
Definition: ref.h:361
virtual Ref< Int2eLibint2 > clone()
"clones" this engine, all precomputed data is shallow-copied
int permute() const
Whether shells can be permuted.
Definition: int2e.h:131
const Ref< Log2Bounds > & bounds() const
returns the bounds evaluator for log2_bound
Definition: int2e.h:120
SpinCase1 other(SpinCase1 S)
given 1-spin return the other 1-spin
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition: integral.h:111
virtual int log2_bound(int s1, int s2, int s3, int s4)
Computes log2 bound.
void set_redundant(int flag)
Set redundant flag.
Definition: int2e.h:128
Int2eLibint2 is an interface to various specializations of two-electron integral evaluators implement...
Definition: int2e.h:46
The base class for all reference counted objects.
Definition: ref.h:192
size_t storage_used() const
Reports how much storage is actually used at a given time.
Definition: int2e.h:123
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
int redundant() const
Whether redundant integrals are returned.
Definition: int2e.h:126
A shell of Gaussian functions.
Definition: gaussshell.h:51
void set_permute(int flag)
Set shell permutation flag.
Definition: int2e.h:133
Generated at Sun Jan 26 2020 23:23:57 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.