LIBINT
2.6.0
|
Computes the Boys function, , using single algorithm (asymptotic expansion).
More...
#include <boys.h>
Static Public Member Functions | |
static std::shared_ptr< const FmEval_Reference > | instance (int, Real) |
static Real | eval (Real T, size_t m) |
computes a single value of ![]() Real | |
static void | eval (Real *Fm, Real T, size_t mmax) |
fills up an array of Fm(T) for m in [0,mmax] More... | |
Computes the Boys function, , using single algorithm (asymptotic expansion).
Slow for the sake of precision control. Useful in two cases:
Real
supports high/arbitrary precision, and Real
is a low-precision floating-point type. N.B. FmEval_Reference2 , which can compute for all practical values of Real
types (double
and float
). Real
is exhausted. It is important that std::numeric_limits<Real>
is defined appropriately.Real | the type to use for all floating-point computations. Must be able to compute logarithm and exponential, i.e. log(x) and exp(x), where x is Real, must be valid expressions. |
|
inlinestatic |
fills up an array of Fm(T) for m in [0,mmax]
[out] | Fm | array to be filled in with the Boys function values, must be at least mmax+1 elements long |
[in] | T | the Boys function argument |
[in] | mmax | the maximum value of m for which Boys function will be computed; |
References libint2::FmEval_Reference< Real >::eval().