LIBINT  2.1.0-stable
Public Member Functions | Static Public Member Functions | List of all members
libint2::ImplicitDimensions Class Reference

ImplicitDimensions describes basis functions or other "degrees of freedom" not actively engaged in a recurrence relation. More...

#include <dims.h>

Public Member Functions

 ImplicitDimensions (const SafePtr< Entity > &high, const SafePtr< Entity > &low, const SafePtr< Entity > &vecdim)
 Explicitly initialize both quantities. Their exact type is not known.
 
 ImplicitDimensions ()
 Default assumes runtime (dynamical) quantities.
 
 ImplicitDimensions (int high, int low, int vec)
 Handy constructor to initialize dimensions as compile-time (static) quatities.
 
SafePtr< Entityhigh () const
 Returns the high dimension.
 
SafePtr< Entitylow () const
 Returns the low dimension.
 
SafePtr< Entityvecdim () const
 Returns the vector dimension.
 
bool high_is_static () const
 Returns true if the rank of high dimension is known.
 
bool low_is_static () const
 Returns true if the rank of low dimension is known.
 
bool vecdim_is_static () const
 Returns true if the rank of vector dimension is known.
 
const std::string & high_label () const
 Returns the label of the high dimension.
 
const std::string & low_label () const
 Returns the label of the low dimension.
 
const std::string & vecdim_label () const
 Returns the label of the vector dimension.
 

Static Public Member Functions

static void set_default_dims (const SafePtr< CompilationParameters > &cparams)
 Sets default ImplicitDimension object.
 
static SafePtr< ImplicitDimensionsdefault_dims ()
 Default ImplicitDimension object.
 

Detailed Description

ImplicitDimensions describes basis functions or other "degrees of freedom" not actively engaged in a recurrence relation.

For example, horizontal AM transfer to obtain a (dd|ps) integral from (fp|ps) and (dp|ps) does not involve the |ps) part. Thus there's may be no reason to generate transfer routine specific to this integral, only a routine specific to the (dd| part. Such function will require the information about the rank of the |ps) part. This information is encoded in ImplicitDimensions.

Another special dimension is the vector length...


The documentation for this class was generated from the following files: