MADNESS 0.10.1
madness::op_leaf_op< T, NDIM, opT > Struct Template Reference

#include <funcimpl.h>

Collaboration diagram for madness::op_leaf_op< T, NDIM, opT >:

Public Types

typedef FunctionImpl< T, NDIM > implT

Public Member Functions

 op_leaf_op ()=default
 op_leaf_op (const opT *op, const implT *f)
bool do_error_leaf_op () const
bool operator() (const Key< NDIM > &key) const
 pre-determination: we can't know if this will be a leaf node before we got the final coeffs
bool operator() (const Key< NDIM > &key, const double &cnorm) const
 post-determination: return true if operator and coefficient norms are small
bool operator() (const Key< NDIM > &key, const GenTensor< T > &coeff) const
 post-determination: return true if operator and coefficient norms are small
template<typename Archive>
void serialize (Archive &ar)

Public Attributes

const implT * f
 the source or result function, needed for truncate_tol
const opT * op
 the convolution operator

Detailed Description

template<typename T, size_t NDIM, typename opT>
struct madness::op_leaf_op< T, NDIM, opT >

returns true if the result of the convolution operator op with some provided coefficients will be small

Member Typedef Documentation

◆ implT

template<typename T, size_t NDIM, typename opT>
typedef FunctionImpl<T,NDIM> madness::op_leaf_op< T, NDIM, opT >::implT

Constructor & Destructor Documentation

◆ op_leaf_op() [1/2]

template<typename T, size_t NDIM, typename opT>
madness::op_leaf_op< T, NDIM, opT >::op_leaf_op ( )
default

◆ op_leaf_op() [2/2]

template<typename T, size_t NDIM, typename opT>
madness::op_leaf_op< T, NDIM, opT >::op_leaf_op ( const opT * op,
const implT * f )
inline

References f, and op.

Member Function Documentation

◆ do_error_leaf_op()

template<typename T, size_t NDIM, typename opT>
bool madness::op_leaf_op< T, NDIM, opT >::do_error_leaf_op ( ) const
inline

◆ operator()() [1/3]

template<typename T, size_t NDIM, typename opT>
bool madness::op_leaf_op< T, NDIM, opT >::operator() ( const Key< NDIM > & key) const
inline

pre-determination: we can't know if this will be a leaf node before we got the final coeffs

Referenced by operator()().

◆ operator()() [2/3]

template<typename T, size_t NDIM, typename opT>
bool madness::op_leaf_op< T, NDIM, opT >::operator() ( const Key< NDIM > & key,
const double & cnorm ) const
inline

post-determination: return true if operator and coefficient norms are small

References f, madness::FunctionDefaults< NDIM >::thresh, madness::Key< NDIM >::level(), norm(), op, and source().

◆ operator()() [3/3]

template<typename T, size_t NDIM, typename opT>
bool madness::op_leaf_op< T, NDIM, opT >::operator() ( const Key< NDIM > & key,
const GenTensor< T > & coeff ) const
inline

post-determination: return true if operator and coefficient norms are small

References madness::Key< NDIM >::level(), madness::GenTensor< T >::normf(), and operator()().

◆ serialize()

template<typename T, size_t NDIM, typename opT>
template<typename Archive>
void madness::op_leaf_op< T, NDIM, opT >::serialize ( Archive & ar)
inline

References f, and op.

Member Data Documentation

◆ f

template<typename T, size_t NDIM, typename opT>
const implT* madness::op_leaf_op< T, NDIM, opT >::f

the source or result function, needed for truncate_tol

Referenced by op_leaf_op(), operator()(), and serialize().

◆ op

template<typename T, size_t NDIM, typename opT>
const opT* madness::op_leaf_op< T, NDIM, opT >::op

the convolution operator

Referenced by op_leaf_op(), operator()(), and serialize().


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