Computes the Boys function, $ F_m (T) = ^1 u^{2m} (-T u^2) \, { d}u $, using Taylor interpolation of up to 8-th order.
More...
#include <boys.h>
|
|
| FmEval_Taylor (unsigned int mmax, Real precision) |
| | Constructs the object to be able to compute Boys funcion for m in [0,mmax], with relative precision.
|
| |
| int | max_m () const |
| |
| Real | precision () const |
| |
| void | eval (Real *Fm, Real T, int mmax) const |
| | computes Boys function values with m index in range [0,mmax] More...
|
| |
|
|
static const std::shared_ptr< FmEval_Taylor > & | instance (unsigned int mmax, Real precision) |
| | Singleton interface allows to manage the lone instance; adjusts max m and precision values as needed in thread-safe fashion.
|
| |
|
|
static const int | max_interp_order = 8 |
| |
|
static const bool | INTERPOLATION_AND_RECURSION = false |
| |
template<typename Real = double, int INTERPOLATION_ORDER = 7>
class libint2::FmEval_Taylor< Real, INTERPOLATION_ORDER >
Computes the Boys function, $ F_m (T) = ^1 u^{2m} (-T u^2) \, { d}u $, using Taylor interpolation of up to 8-th order.
- Template Parameters
-
| Real | the type to use for all floating-point computations. Must support std::exp, std::pow, std::fabs, std::max, and std::floor. |
| INTERPOLATION_ORDER | the interpolation order. The higher the order the less memory this object will need, but the computational cost will increase (usually very slightly) |
template<typename Real = double, int INTERPOLATION_ORDER = 7>
computes Boys function values with m index in range [0,mmax]
- Parameters
-
| [out] | Fm | array to be filled in with the Boys function values, must be at least mmax+1 elements long |
| [in] | x | the Boys function argument |
| [in] | mmax | the maximum value of m for which Boys function will be computed; it must be <= the value returned by max_m() (this is not checked) |
References libint2::simd::VectorSSEDouble::convert(), and libint2::simd::VectorAVXDouble::load().
template<typename Real = double, int INTERPOLATION_ORDER = 7>
- Returns
- the maximum value of m for which this object can compute the Boys function
template<typename Real = double, int INTERPOLATION_ORDER = 7>
- Returns
- the precision with which this object can compute the Boys function
The documentation for this class was generated from the following file: