MADNESS  version 0.9
Public Types | Public Member Functions | List of all members
madness::FunctionFunctorInterface< T, NDIM > Singleton Referenceabstract

Abstract base class interface required for functors used as input to Functions. More...

#include <function_interface.h>

Inheritance diagram for madness::FunctionFunctorInterface< T, NDIM >:
Inheritance graph
[legend]

Public Types

typedef GenTensor< T > coeffT
 
typedef Key< NDIMkeyT
 

Public Member Functions

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...
 
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()? More...
 
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 T operator() (const Vector< double, NDIM > &x) const =0
 You should implement this to return f(x) 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 Level special_level ()
 Override this change level refinement for special points (default is 6) More...
 
virtual ~FunctionFunctorInterface ()
 
virtual coeffT coeff (const keyT &) const
 
virtual coeffT values (const keyT &key, const Tensor< double > &tensor) const
 
virtual bool provides_coeff () const
 does this functor directly provide sum coefficients? or only function values? More...
 

Detailed Description

template<typename T, std::size_t NDIM>
singleton madness::FunctionFunctorInterface< T, NDIM >

Abstract base class interface required for functors used as input to Functions.

Member Typedef Documentation

template<typename T, std::size_t NDIM>
typedef GenTensor<T> madness::FunctionFunctorInterface< T, NDIM >::coeffT
template<typename T, std::size_t NDIM>
typedef Key<NDIM> madness::FunctionFunctorInterface< T, NDIM >::keyT

Constructor & Destructor Documentation

template<typename T, std::size_t NDIM>
virtual madness::FunctionFunctorInterface< T, NDIM >::~FunctionFunctorInterface ( )
inlinevirtual

Member Function Documentation

template<typename T, std::size_t NDIM>
virtual coeffT madness::FunctionFunctorInterface< T, NDIM >::coeff ( const keyT ) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual void madness::FunctionFunctorInterface< T, NDIM >::operator() ( const Vector< double *, 1 > &  xvals,
T *  fvals,
int  npts 
) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual void madness::FunctionFunctorInterface< T, NDIM >::operator() ( const Vector< double *, 2 > &  xvals,
T *  fvals,
int  npts 
) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual void madness::FunctionFunctorInterface< T, NDIM >::operator() ( const Vector< double *, 3 > &  xvals,
T *  fvals,
int  npts 
) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual void madness::FunctionFunctorInterface< T, NDIM >::operator() ( const Vector< double *, 4 > &  xvals,
T *  fvals,
int  npts 
) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual void madness::FunctionFunctorInterface< T, NDIM >::operator() ( const Vector< double *, 5 > &  xvals,
T *  fvals,
int  npts 
) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual void madness::FunctionFunctorInterface< T, NDIM >::operator() ( const Vector< double *, 6 > &  xvals,
T *  fvals,
int  npts 
) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual T madness::FunctionFunctorInterface< T, NDIM >::operator() ( const Vector< double, NDIM > &  x) const
pure virtual
template<typename T, std::size_t NDIM>
virtual bool madness::FunctionFunctorInterface< T, NDIM >::provides_coeff ( ) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual bool madness::FunctionFunctorInterface< T, NDIM >::screened ( const Vector< double, NDIM > &  c1,
const Vector< double, NDIM > &  c2 
) const
inlinevirtual

Can we screen this function based on the bounding box information?

Referenced by madness::fcube().

template<typename T, std::size_t NDIM>
virtual Level madness::FunctionFunctorInterface< T, NDIM >::special_level ( )
inlinevirtual

Override this change level refinement for special points (default is 6)

Reimplemented in MolecularNuclearChargeDensityFunctor, madness::ProjRLMFunctor, TipMolecule, MolecularNuclearChargeDensityFunctor, GaussianBF, and madness::VLocalFunctor.

template<typename T, std::size_t NDIM>
virtual std::vector< Vector<double,NDIM> > madness::FunctionFunctorInterface< T, NDIM >::special_points ( ) const
inlinevirtual
template<typename T, std::size_t NDIM>
virtual bool madness::FunctionFunctorInterface< T, NDIM >::supports_vectorized ( ) const
inlinevirtual

Does the interface support a vectorized operator()?

Reimplemented in madness::ProjRLMFunctor.

Referenced by madness::fcube().

template<typename T, std::size_t NDIM>
virtual coeffT madness::FunctionFunctorInterface< T, NDIM >::values ( const keyT key,
const Tensor< double > &  tensor 
) const
inlinevirtual

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