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

returns true if the result of a hartree_product is a leaf node (compute norm & error) More...

#include <funcimpl.h>

Public Types

typedef FunctionImpl< T, NDIMimplT
 

Public Member Functions

 hartree_leaf_op ()=default
 
 hartree_leaf_op (const implT *f, const long &k)
 
bool do_error_leaf_op () const
 
bool operator() (const Key< NDIM > &key) const
 no pre-determination
 
bool operator() (const Key< NDIM > &key, const GenTensor< T > &coeff) const
 no post-determination
 
bool operator() (const Key< NDIM > &key, const Tensor< T > &fcoeff, const Tensor< T > &gcoeff) const
 post-determination: true if f is a leaf and the result is well-represented
 
template<typename Archive >
void serialize (Archive &ar)
 

Public Attributes

const FunctionImpl< T, NDIM > * f
 
long k
 

Detailed Description

template<typename T, size_t NDIM>
struct madness::hartree_leaf_op< T, NDIM >

returns true if the result of a hartree_product is a leaf node (compute norm & error)

Member Typedef Documentation

◆ implT

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

Constructor & Destructor Documentation

◆ hartree_leaf_op() [1/2]

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

◆ hartree_leaf_op() [2/2]

template<typename T , size_t NDIM>
madness::hartree_leaf_op< T, NDIM >::hartree_leaf_op ( const implT f,
const long &  k 
)
inline

Member Function Documentation

◆ do_error_leaf_op()

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

◆ operator()() [1/3]

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

no pre-determination

◆ operator()() [2/3]

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

no post-determination

References MADNESS_EXCEPTION.

◆ operator()() [3/3]

template<typename T , size_t NDIM>
bool madness::hartree_leaf_op< T, NDIM >::operator() ( const Key< NDIM > &  key,
const Tensor< T > &  fcoeff,
const Tensor< T > &  gcoeff 
) const
inline

post-determination: true if f is a leaf and the result is well-represented

Parameters
[in]keythe hi-dimensional key (breaks into keys for f and g)
[in]fcoeffcoefficients of f of its appropriate key in NS form
[in]gcoeffcoefficients of g of its appropriate key in NS form

References std::abs(), madness::error(), madness::hartree_leaf_op< T, NDIM >::f, madness::hartree_leaf_op< T, NDIM >::k, madness::Key< NDIM >::level(), NDIM, norm(), madness::Tensor< T >::normf(), s0, and thresh.

◆ serialize()

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

Member Data Documentation

◆ f

template<typename T , size_t NDIM>
const FunctionImpl<T,NDIM>* madness::hartree_leaf_op< T, NDIM >::f

◆ k

template<typename T , size_t NDIM>
long madness::hartree_leaf_op< T, NDIM >::k

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