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;
146 if (bs1_==bs2_ && bs1_ == bs3_ && bs1_ == bs4_)
return bs1_;
150 Ref<GaussianBasisSet> basis2() {
return bs2_; }
151 Ref<GaussianBasisSet> basis3() {
return bs3_; }
152 Ref<GaussianBasisSet> basis4() {
return bs4_; }
A shell of Gaussian functions.
Definition gaussshell.h:57
Int2eLibint2 is an interface to various specializations of two-electron integral evaluators implement...
Definition int2e.h:46
virtual int log2_bound(int s1, int s2, int s3, int s4)
Computes log2 bound.
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.
size_t storage_used() const
Reports how much storage is actually used at a given time.
Definition int2e.h:123
void set_permute(int flag)
Set shell permutation flag.
Definition int2e.h:133
Int2eLibint2(const Int2eLibint2 &other)
shallow-copies other
const Ref< Log2Bounds > & bounds() const
returns the bounds evaluator for log2_bound
Definition int2e.h:120
virtual Ref< Int2eLibint2 > clone()
"clones" this engine, all precomputed data is shallow-copied
void set_redundant(int flag)
Set redundant flag.
Definition int2e.h:128
int redundant() const
Whether redundant integrals are returned.
Definition int2e.h:126
void bounds(const Ref< Log2Bounds > &)
provides the bounds evaluator for log2_bound
int permute() const
Whether shells can be permuted.
Definition int2e.h:131
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition integral.h:111
The base class for all reference counted objects.
Definition ref.h:192
A template class that maintains references counts.
Definition ref.h:361
SpinCase1 other(SpinCase1 S)
given 1-spin return the other 1-spin
Contains all MPQC code up to version 3.
Definition mpqcin.h:14