LIBINT
2.1.0-stable
|
ITR (Interelectron Transfer Relation) for 2-e ERI. More...
#include <itr_11_twoprep_11.h>
Public Types | |
typedef RecurrenceRelation | ParentType |
typedef BFSet | BasisFunctionType |
typedef ITR_11_TwoPRep_11 | ThisType |
typedef ERI< BFSet, TwoPRep, mType > | TargetType |
typedef TargetType | ChildType |
typedef RecurrenceRelation::ExprType | ExprType |
The type of expressions in which RecurrenceRelations result. | |
![]() | |
typedef RecurrenceRelation | this_type |
typedef AlgebraicOperator< DGVertex > | ExprType |
Numerical expression of a recurrence relation is always expressed as an AlgebraicOperator<DGVertex> | |
Public Member Functions | |
int | partindex_direction () const |
overrides RecurrenceRelation::partindex_direction() | |
unsigned int | num_children () const |
Implementation of RecurrenceRelation::num_children() | |
SafePtr< DGVertex > | rr_target () const |
Implementation of RecurrenceRelation::rr_target() | |
SafePtr< DGVertex > | rr_child (unsigned int i) const |
Implementation of RecurrenceRelation::rr_child() | |
bool | is_simple () const |
Implementation of RecurrenceRelation::is_simple() | |
![]() | |
const SafePtr< ExprType > & | rr_expr () const |
Returns the expression. | |
virtual bool | invariant_type () const |
Returns true is the type of target and all children are exactly the same. | |
size_t | size_of_children () const |
const std::string & | label () const |
label() returns a unique, short, descriptive label of this RR (e.g. More... | |
virtual std::string | description () const |
description() returns a verbose description of this RR | |
virtual void | generate_code (const SafePtr< CodeContext > &context, const SafePtr< ImplicitDimensions > &dims, const std::string &funcname, std::ostream &decl, std::ostream &def) |
Generate declaration and definition for the recurrence relation. | |
virtual void | generate_generic_code (const SafePtr< CodeContext > &context, const SafePtr< ImplicitDimensions > &dims, const std::string &funcname, std::ostream &decl, std::ostream &def) |
Generate declaration and definition for the recurrence relation using generic code (typically, a manually written code) | |
virtual std::string | spfunction_call (const SafePtr< CodeContext > &context, const SafePtr< ImplicitDimensions > &dims) const |
Generate a callback for this recurrence relation. | |
unsigned int | nflops () const |
Return the number of FLOPs per this recurrence relation. | |
void | inst_id (const SingletonStack< RecurrenceRelation, string >::InstanceID &i) |
RecurrenceRelation is managed by SingletonStack but doesn't need to keep track of instance ID. | |
Static Public Member Functions | |
static SafePtr< ThisType > | Instance (const SafePtr< TargetType > &, unsigned int dir=0) |
Use Instance() to obtain an instance of RR. More... | |
static bool | directional () |
Default directionality. More... | |
Additional Inherited Members | |
![]() | |
void | add_expr (const SafePtr< ExprType > &a, int minus=1) |
Adds a (or -a, if minus = -1) to expr_. | |
template<class RR > | |
bool | register_with_rrstack () |
Registers with the stack. | |
![]() | |
unsigned int | nflops_ |
std::string | label_ |
SafePtr< ExprType > | expr_ |
ITR (Interelectron Transfer Relation) for 2-e ERI.
part specifies for which particle the angular momentum is raised. where specifies whether the angular momentum is shifted in bra or ket. Class ERI specifies which particular implementation of ERI to use.
|
inlinestatic |
Default directionality.
is this recurrence relation parameterized by a direction. the default is false if BasisFunctionSet is CGShell, true otherwise.
|
static |
Use Instance() to obtain an instance of RR.
This function is provided to avoid issues with getting a SafePtr from constructor (as needed for registry to work).
dir specifies which quantum number of a and b is shifted. For example, dir can be 0 (x), 1(y), or 2(z) if F is a Cartesian Gaussian.
References libint2::exists(), and libint2::OriginDerivative< NDIM >::zero().