MADNESS 0.10.1
Public Member Functions | Public Attributes | Private Attributes | List of all members
F Struct Reference
Inheritance diagram for F:
Inheritance graph
[legend]
Collaboration diagram for F:
Collaboration graph
[legend]

Public Member Functions

 F ()
 
 F ()
 
 F (const F &a)
 
 F (const F &a)
 
 F (const functionT &x)
 
 F (const real_function_3d &psi, const real_function_3d &phi)
 
 F (const real_function_3d &x, const real_function_3d &y)
 
 F (double x)
 
 F (double(*f)(const coord_3d &), const coord_3d &pt)
 
 F (int n)
 
const functionTget () const
 
double get () const
 
double operator() (const coord_1d &x) const
 
double operator() (const coord_3d &r) const
 
F operator* (const dataT &a) const
 
F operator* (double a) const
 
F operator* (double a) const
 
F operator* (double a) const
 
F operator+= (const F &b)
 
F operator+= (const F &b)
 
Foperator+= (const F &b)
 
Foperator+= (const F &b)
 
F operator- (const F &b) const
 
F operator- (const F &b) const
 
F operator- (const F &b) const
 
F operator- (const F &b) const
 
F operator= (const F &f)
 
F operator= (const F &f)
 
std::vector< coord_3dspecial_points () const
 Override this to return list of special points to be refined more deeply.
 
- Public Member Functions inherited from madness::FunctionFunctorInterface< double, 3 >
 FunctionFunctorInterface ()
 
virtual ~FunctionFunctorInterface ()
 
virtual coeffT coeff (const keyT &) const
 
virtual void operator() (const Vector< double *, 1 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 2 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 3 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 4 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 5 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 6 > &xvals, double *fvals, int npts) const
 
virtual double operator() (const Vector< double, NDIM > &x) const=0
 You should implement this to return f(x)
 
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 ()
 Override this change level refinement for special points (default is 6)
 
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()?
 
virtual coeffT values (const keyT &key, const Tensor< double > &tensor) const
 
- Public Member Functions inherited from madness::FunctionFunctorInterface< double, 1 >
 FunctionFunctorInterface ()
 
virtual ~FunctionFunctorInterface ()
 
virtual coeffT coeff (const keyT &) const
 
virtual void operator() (const Vector< double *, 1 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 2 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 3 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 4 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 5 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 6 > &xvals, double *fvals, int npts) const
 
virtual double operator() (const Vector< double, NDIM > &x) const=0
 You should implement this to return f(x)
 
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 ()
 Override this change level refinement for special points (default is 6)
 
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()?
 
virtual coeffT values (const keyT &key, const Tensor< double > &tensor) const
 

Public Attributes

int32_t i
 
int64_t l
 
real_function_3d phi
 
real_function_3d psi
 
real_function_3d x
 
real_function_3d y
 
- Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 >
Level special_level_
 
- Public Attributes inherited from madness::FunctionFunctorInterface< double, 1 >
Level special_level_
 

Private Attributes

double(* f )(const coord_3d &)
 
const int n
 
std::vector< coord_3dpts
 
functionT x
 
double x
 

Additional Inherited Members

- Public Types inherited from madness::FunctionFunctorInterface< double, 3 >
typedef GenTensor< double > coeffT
 
typedef Key< NDIMkeyT
 
typedef double value_type
 
- Public Types inherited from madness::FunctionFunctorInterface< double, 1 >
typedef GenTensor< double > coeffT
 
typedef Key< NDIMkeyT
 
typedef double value_type
 

Constructor & Destructor Documentation

◆ F() [1/10]

F::F ( double(*)(const coord_3d &)  f,
const coord_3d pt 
)
inline

◆ F() [2/10]

F::F ( const real_function_3d psi,
const real_function_3d phi 
)
inline

◆ F() [3/10]

F::F ( const real_function_3d x,
const real_function_3d y 
)
inline

◆ F() [4/10]

F::F ( int  n)
inline

◆ F() [5/10]

F::F ( const functionT x)
inline

◆ F() [6/10]

F::F ( )
inline

Referenced by operator*(), operator*(), and operator-().

◆ F() [7/10]

F::F ( const F a)
inline

◆ F() [8/10]

F::F ( double  x)
inline

◆ F() [9/10]

F::F ( )
inline

◆ F() [10/10]

F::F ( const F a)
inline

Member Function Documentation

◆ get() [1/2]

const functionT & F::get ( ) const
inline

References x.

Referenced by main(), main(), and residual().

◆ get() [2/2]

double F::get ( ) const
inline

References x.

◆ operator()() [1/2]

double F::operator() ( const coord_1d x) const
inline

References n, and x.

◆ operator()() [2/2]

double F::operator() ( const coord_3d r) const
inline

References f.

◆ operator*() [1/4]

F F::operator* ( const dataT a) const
inline

References F(), a, and x.

◆ operator*() [2/4]

F F::operator* ( double  a) const
inline

References F(), a, phi, and psi.

◆ operator*() [3/4]

F F::operator* ( double  a) const
inline

References F(), a, x, and y.

◆ operator*() [4/4]

F F::operator* ( double  a) const
inline

References F(), a, and x.

◆ operator+=() [1/4]

F F::operator+= ( const F b)
inline

References b, phi, and psi.

◆ operator+=() [2/4]

F F::operator+= ( const F b)
inline

References b, x, and y.

◆ operator+=() [3/4]

F & F::operator+= ( const F b)
inline

References b, and x.

◆ operator+=() [4/4]

F & F::operator+= ( const F b)
inline

References b, and x.

◆ operator-() [1/4]

F F::operator- ( const F b) const
inline

References F(), b, phi, and psi.

◆ operator-() [2/4]

F F::operator- ( const F b) const
inline

References F(), b, x, and y.

◆ operator-() [3/4]

F F::operator- ( const F b) const
inline

References F(), b, and x.

◆ operator-() [4/4]

F F::operator- ( const F b) const
inline

References F(), b, and x.

◆ operator=() [1/2]

F F::operator= ( const F f)
inline

References copy(), f, and x.

◆ operator=() [2/2]

F F::operator= ( const F f)
inline

References f, and x.

◆ special_points()

std::vector< coord_3d > F::special_points ( ) const
inlinevirtual

Override this to return list of special points to be refined more deeply.

Reimplemented from madness::FunctionFunctorInterface< double, 3 >.

References pts.

Member Data Documentation

◆ f

double(* F::f) (const coord_3d &)
private

Referenced by operator()(), and operator=().

◆ i

int32_t F::i

Referenced by test_in(), and test_out().

◆ l

int64_t F::l

Referenced by test_in(), and test_out().

◆ n

const int F::n
private

Referenced by operator()().

◆ phi

Referenced by operator*(), operator+=(), and operator-().

◆ psi

Referenced by operator*(), operator+=(), and operator-().

◆ pts

std::vector<coord_3d> F::pts
private

Referenced by special_points().

◆ x [1/3]

◆ x [2/3]

functionT F::x
private

◆ x [3/3]

double F::x
private

◆ y


The documentation for this struct was generated from the following files: