ergo
IntegralInfo Class Reference

Contains coefficients needed for quick integral evaluation. More...

#include <integral_info.h>

Public Member Functions

void init ()
 
ergo_real BoysFunction (int n, ergo_real x) const
 
ergo_real BoysFunction_expensive (int n, ergo_real x, int noOfIntegrationIntervals) const
 
const MultipolePrepManagerGetMultipolePrep () const
 
const MMLimitTableGetMMLimitTable () const
 
int multiply_by_hermite_conversion_matrix_from_right (int n1max, int n2max, ergo_real a, ergo_real *A, ergo_real *result) const
 
int multiply_by_hermite_conversion_matrix_from_left (int n1max, int n2max, ergo_real a, ergo_real *A, ergo_real *result) const
 
int get_hermite_conversion_matrix_right (int nmax, ergo_real a, ergo_real *result) const
 
int get_hermite_conversion_matrix_left (int nmax, ergo_real a, ergo_real *result) const
 
int get_hermite_conversion_matrix_right_sparse (int nmax, ergo_real a, i_j_val_struct *result) const
 
 IntegralInfo (bool initialize)
 
 ~IntegralInfo ()
 
 IntegralInfo (const IntegralInfo &ii)
 Function needed for Chunks&Tasks usage. More...
 
void write_to_buffer (char *dataBuffer, size_t const bufferSize) const
 Function needed for Chunks&Tasks usage. More...
 
size_t get_size () const
 Function needed for Chunks&Tasks usage. More...
 
void assign_from_buffer (char const *dataBuffer, size_t const bufferSize)
 Function needed for Chunks&Tasks usage. More...
 

Public Attributes

basis_func_poly_struct basis_func_poly_list [MAX_NO_OF_BASIS_FUNC_POLYS]
 
int no_of_basis_func_polys
 
monomial_info_struct monomial_info
 

Private Member Functions

 IntegralInfo ()
 

Private Attributes

BoysFunctionManager boysFunctionManager
 
MultipolePrepManager multipolePrep
 
MMLimitTable mmLimitTable
 
hermite_conversion_info_struct hermite_conversion_info
 
bool initialized
 

Detailed Description

Contains coefficients needed for quick integral evaluation.

This object is quite large and should always be allocated with new. Placing it on stack is a bad idea.

Constructor & Destructor Documentation

◆ IntegralInfo() [1/3]

IntegralInfo::IntegralInfo ( )
private

◆ IntegralInfo() [2/3]

IntegralInfo::IntegralInfo ( bool  initialize)

References init().

◆ ~IntegralInfo()

IntegralInfo::~IntegralInfo ( )

◆ IntegralInfo() [3/3]

IntegralInfo::IntegralInfo ( const IntegralInfo ii)

Function needed for Chunks&Tasks usage.

References basis_func_poly_list.

Member Function Documentation

◆ assign_from_buffer()

◆ BoysFunction()

ergo_real IntegralInfo::BoysFunction ( int  n,
ergo_real  x 
) const

◆ BoysFunction_expensive()

ergo_real IntegralInfo::BoysFunction_expensive ( int  n,
ergo_real  x,
int  noOfIntegrationIntervals 
) const

◆ get_hermite_conversion_matrix_left()

int IntegralInfo::get_hermite_conversion_matrix_left ( int  nmax,
ergo_real  a,
ergo_real result 
) const

◆ get_hermite_conversion_matrix_right()

int IntegralInfo::get_hermite_conversion_matrix_right ( int  nmax,
ergo_real  a,
ergo_real result 
) const

◆ get_hermite_conversion_matrix_right_sparse()

int IntegralInfo::get_hermite_conversion_matrix_right_sparse ( int  nmax,
ergo_real  a,
i_j_val_struct result 
) const

◆ get_size()

◆ GetMMLimitTable()

◆ GetMultipolePrep()

◆ init()

◆ multiply_by_hermite_conversion_matrix_from_left()

int IntegralInfo::multiply_by_hermite_conversion_matrix_from_left ( int  n1max,
int  n2max,
ergo_real  a,
ergo_real A,
ergo_real result 
) const

◆ multiply_by_hermite_conversion_matrix_from_right()

◆ write_to_buffer()

Member Data Documentation

◆ basis_func_poly_list

◆ boysFunctionManager

BoysFunctionManager IntegralInfo::boysFunctionManager
private

◆ hermite_conversion_info

◆ initialized

bool IntegralInfo::initialized
private

◆ mmLimitTable

MMLimitTable IntegralInfo::mmLimitTable
private

◆ monomial_info

◆ multipolePrep

MultipolePrepManager IntegralInfo::multipolePrep
private

◆ no_of_basis_func_polys


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