21#ifndef _libint2_src_bin_libint_compxyz_h_
22#define _libint2_src_bin_libint_compxyz_h_
24#include <generic_rr.h>
32 template <
typename F,
typename Oper,
typename AuxQuanta = EmptySet>
35 GenIntegralSet_1_1<F,Oper,AuxQuanta> >
39 typedef F BasisFunctionType;
44 static const unsigned int max_nchildren = 100;
48 static bool directional() {
return false; }
51 using ParentType::RecurrenceRelation::expr_;
52 using ParentType::RecurrenceRelation::nflops_;
53 using ParentType::target_;
57 CR_XYZ_1_1(
const SafePtr<TargetType>&,
unsigned int dir = 0);
59 static std::string descr() {
return "CR"; }
62 void compute(
const BasisFunctionType& bra,
const BasisFunctionType& ket,
const Oper& oper);
65 template <
typename F,
typename Oper,
typename AuxQuanta>
71 const auto& a = Tint->bra(0,0);
72 const auto& b = Tint->ket(0,0);
73 const auto& aux = Tint->aux();
74 const auto& oper = Tint->oper();
78 if (a.contracted() || b.contracted())
82 (a.deriv().norm() != 0 ||
83 b.deriv().norm() != 0))
this computes integral over Oper over CGShell/CGF as a product of 1-d integrals
Definition: comp_xyz.h:36
Generic integral over a one-body operator with one bfs for each particle in bra and ket.
Definition: integral_1_1.h:33
RRImpl must inherit GenericRecurrenceRelation<RRImpl>
Definition: generic_rr.h:47
bool is_simple() const override
Implementation of RecurrenceRelation::is_simple()
Definition: generic_rr.h:79
static SafePtr< RRImpl > Instance(const SafePtr< TargetType > &Tint, unsigned int dir)
Return an instance if applicable, or a null pointer otherwise.
Definition: generic_rr.h:55
Oper is OperSet characterized by properties Props.
Definition: oper.h:90
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:24
TrivialBFSet<T> defines static member result, which is true if T is a basis function set consisting o...
Definition: bfset.h:892