MADNESS 0.10.1
Public Types | Public Member Functions | Public Attributes | List of all members
madness::op_leaf_op< T, NDIM, opT > Struct Template Reference

#include <funcimpl.h>

Collaboration diagram for madness::op_leaf_op< T, NDIM, opT >:
Collaboration graph
[legend]

Public Types

typedef FunctionImpl< T, NDIMimplT
 

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 implTf
 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

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 madness::op_leaf_op< T, NDIM, opT >::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

◆ 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 madness::op_leaf_op< T, NDIM, opT >::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

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 madness::op_leaf_op< T, NDIM, opT >::operator()(), and madness::op_leaf_op< T, NDIM, opT >::serialize().

◆ op

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

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