21#ifndef _libint2_src_bin_libint_compxyz_h_
22#define _libint2_src_bin_libint_compxyz_h_
24#include <generic_rr.h>
33template <
typename F,
typename Oper,
typename AuxQuanta = EmptySet>
35 CR_XYZ_1_1<F, Oper, AuxQuanta>, F,
36 GenIntegralSet_1_1<F, Oper, AuxQuanta> > {
39 typedef F BasisFunctionType;
46 static const unsigned int max_nchildren = 100;
50 static bool directional() {
return false; }
54 using ParentType::target_;
55 using ParentType::RecurrenceRelation::expr_;
56 using ParentType::RecurrenceRelation::nflops_;
60 CR_XYZ_1_1(
const std::shared_ptr<TargetType>&,
unsigned int dir = 0);
62 static std::string descr() {
return "CR"; }
65 void compute(
const BasisFunctionType& bra,
const BasisFunctionType& ket,
69template <
typename F,
typename Oper,
typename AuxQuanta>
71 const std::shared_ptr<TargetType>& Tint,
unsigned int dir)
72 : ParentType(Tint, dir) {
74 const auto& a = Tint->bra(0, 0);
75 const auto& b = Tint->ket(0, 0);
76 const auto& aux = Tint->aux();
77 const auto& oper = Tint->oper();
81 if (a.contracted() || b.contracted())
return;
84 (a.deriv().norm() != 0 || b.deriv().norm() != 0))
this computes integral of 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:36
RRImpl must inherit GenericRecurrenceRelation<RRImpl>
Definition generic_rr.h:47
bool is_simple() const override
Implementation of RecurrenceRelation::is_simple()
Definition generic_rr.h:81
static std::shared_ptr< RRImpl > Instance(const std::shared_ptr< 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:91
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:906