MADNESS  0.10.1
Public Member Functions | Private Types | Private Attributes | Static Private Attributes | List of all members
ParserHandler< T, NDIM > Class Template Reference

#include <phandler.h>

Inheritance diagram for ParserHandler< T, NDIM >:
Inheritance graph
[legend]
Collaboration diagram for ParserHandler< T, NDIM >:
Collaboration graph
[legend]

Public Member Functions

 ParserHandler (std::string expr)
 
void changeExpr (const std::string newExpr)
 
virtual T operator() (const coordT &vals_in) const
 You should implement this to return f(x) More...
 
- Public Member Functions inherited from madness::FunctionFunctorInterface< T, NDIM >
 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? More...
 
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? More...
 
void set_length_scale (double lo)
 adapt the special level to resolve the smallest length scale More...
 
virtual Level special_level ()
 Override this change level refinement for special points (default is 6) More...
 
virtual std::vector< Vector< double, NDIM > > special_points () const
 Override this to return list of special points to be refined more deeply. More...
 
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()? More...
 
virtual coeffT values (const keyT &key, const Tensor< double > &tensor) const
 

Private Types

typedef madness::Vector< double, NDIMcoordT
 

Private Attributes

mu::Parser parser
 
double r
 
double vars [MAX_DIM]
 

Static Private Attributes

static const int MAX_DIM = 6
 

Additional Inherited Members

- Public Types inherited from madness::FunctionFunctorInterface< T, NDIM >
typedef GenTensor< TcoeffT
 
typedef Key< NDIMkeyT
 
typedef T value_type
 
- Public Attributes inherited from madness::FunctionFunctorInterface< T, NDIM >
Level special_level_
 

Member Typedef Documentation

◆ coordT

template<typename T , int NDIM>
typedef madness::Vector<double, NDIM> ParserHandler< T, NDIM >::coordT
private

Constructor & Destructor Documentation

◆ ParserHandler()

template<typename T , int NDIM>
ParserHandler< T, NDIM >::ParserHandler ( std::string  expr)
inline

Member Function Documentation

◆ changeExpr()

template<typename T , int NDIM>
void ParserHandler< T, NDIM >::changeExpr ( const std::string  newExpr)
inline

◆ operator()()

template<typename T , int NDIM>
virtual T ParserHandler< T, NDIM >::operator() ( const coordT x) const
inlinevirtual

Member Data Documentation

◆ MAX_DIM

template<typename T , int NDIM>
const int ParserHandler< T, NDIM >::MAX_DIM = 6
staticprivate

◆ parser

template<typename T , int NDIM>
mu::Parser ParserHandler< T, NDIM >::parser
private

◆ r

template<typename T , int NDIM>
double ParserHandler< T, NDIM >::r
mutableprivate

◆ vars

template<typename T , int NDIM>
double ParserHandler< T, NDIM >::vars[MAX_DIM]
mutableprivate

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