LIBINT  2.1.0-stable
Public Member Functions | Static Public Member Functions | List of all members
libint2::FmEval_Chebyshev3< Real > Class Template Reference

Computes the Boys function, $ F_m (T) = ^1 u^{2m} (-T u^2) \, { d}u $, using 3-rd order Chebyshev interpolation. More...

#include <boys.h>

Public Member Functions

 FmEval_Chebyshev3 (int m_max, double=0.0)
 
int max_m () const
 
void eval (Real *Fm, Real x, int m_max) const
 fills in Fm with computed Boys function values for m in [0,mmax] More...
 

Static Public Member Functions

static const std::shared_ptr< FmEval_Chebyshev3 > & instance (int m_max, double=0.0)
 Singleton interface allows to manage the lone instance; adjusts max m values as needed in thread-safe fashion.
 

Detailed Description

template<typename Real = double>
class libint2::FmEval_Chebyshev3< Real >

Computes the Boys function, $ F_m (T) = ^1 u^{2m} (-T u^2) \, { d}u $, using 3-rd order Chebyshev interpolation.

based on the code from ORCA by Dr. Frank Neese.

Constructor & Destructor Documentation

template<typename Real = double>
libint2::FmEval_Chebyshev3< Real >::FmEval_Chebyshev3 ( int  m_max,
double  = 0.0 
)
inline
Parameters
m_maxmaximum value of the Boys function index; set to -1 to skip initialization
precisionthe desired precision

Member Function Documentation

template<typename Real = double>
void libint2::FmEval_Chebyshev3< Real >::eval ( Real *  Fm,
Real  x,
int  m_max 
) const
inline

fills in Fm with computed Boys function values for m in [0,mmax]

Parameters
[out]Fmarray to be filled in with the Boys function values, must be at least mmax+1 elements long
[in]xthe Boys function argument
[in]mmaxthe maximum value of m for which Boys function will be computed; mmax must be <= the value returned by max_m

References libint2::simd::VectorSSEDouble::convert(), libint2::simd::VectorAVXDouble::convert(), libint2::Delta, libint2::FmEval_Reference2< Real >::eval(), libint2::simd::VectorSSEDouble::load_aligned(), and libint2::simd::VectorAVXDouble::load_aligned().

template<typename Real = double>
int libint2::FmEval_Chebyshev3< Real >::max_m ( ) const
inline
Returns
the maximum value of m for which the Boys function can be computed with this object

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