LIBINT
2.1.0-stable
|
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< Entity > | high () const |
Returns the high dimension. | |
SafePtr< Entity > | low () const |
Returns the low dimension. | |
SafePtr< Entity > | vecdim () 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< ImplicitDimensions > | default_dims () |
Default ImplicitDimension object. | |
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...