LIBINT
2.1.0-stable
|
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. | |
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.
|
inline |
m_max | maximum value of the Boys function index; set to -1 to skip initialization |
precision | the desired precision |
|
inline |
fills in Fm with computed Boys function values 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] | x | the Boys function argument |
[in] | mmax | the 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().
|
inline |