MADNESS 0.10.1
|
ElementaryInterface (formerly FunctorInterfaceWrapper) interfaces a c-function. More...
#include <function_interface.h>
Public Types | |
typedef GenTensor< T > | coeffT |
typedef Vector< double, NDIM > | coordT |
Type of vector holding coordinates. | |
![]() | |
typedef GenTensor< T > | coeffT |
typedef Key< NDIM > | keyT |
typedef T | value_type |
Public Member Functions | |
ElementaryInterface (T(*f)(const coordT &)) | |
T | operator() (const coordT &x) const |
You should implement this to return f(x) | |
coeffT | values (const Key< NDIM > &key, const Tensor< double > &quad_x) const |
![]() | |
FunctionFunctorInterface () | |
virtual | ~FunctionFunctorInterface () |
virtual coeffT | coeff (const keyT &) const |
virtual void | operator() (const Vector< double *, 1 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 2 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 3 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 4 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 5 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 6 > &xvals, T *fvals, int npts) const |
virtual bool | provides_coeff () const |
does this functor directly provide sum coefficients? or only function values? | |
virtual bool | screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) const |
Can we screen this function based on the bounding box information? | |
void | set_length_scale (double lo) |
adapt the special level to resolve the smallest length scale | |
virtual Level | special_level () const |
Override this to change the minimum level of refinement at special points (default is 6) | |
virtual std::vector< Vector< double, NDIM > > | special_points () const |
Override this to return list of special points to be refined more deeply. | |
virtual bool | supports_vectorized () const |
Does the interface support a vectorized operator()? | |
Public Attributes | |
T(* | f )(const coordT &) |
![]() | |
Level | special_level_ |
ElementaryInterface (formerly FunctorInterfaceWrapper) interfaces a c-function.
hard-code your favorite function and interface it with this; Does only provide function values, no MRA coefficients. Care must be taken if the function we refer to is a singular function, and a on-demand function at the same time, since direct computation of coefficients via mraimpl::project might suffer from inaccurate quadrature.
Type of vector holding coordinates.
|
inline |
|
inlinevirtual |
You should implement this to return f(x)
Implements madness::FunctionFunctorInterface< T, NDIM >.
References madness::ElementaryInterface< T, NDIM >::f.
|
inlinevirtual |
Reimplemented from madness::FunctionFunctorInterface< T, NDIM >.
References madness::ElementaryInterface< T, NDIM >::f, madness::fcube(), madness::nonlinear_vector_solver(), and madness::TT_FULL.
T(* madness::ElementaryInterface< T, NDIM >::f) (const coordT &) |