MADNESS 0.10.1
Public Member Functions | Private Member Functions | List of all members
madness::Leaf_op_other< T, NDIM > Class Template Reference

#include <leafop.h>

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

Public Member Functions

 Leaf_op_other ()
 
 Leaf_op_other (const FunctionImpl< T, NDIM > *const f_)
 
 Leaf_op_other (const Leaf_op_other &other)
 
bool compare_to_parent (const Key< NDIM > &key, const GenTensor< T > &a, const GenTensor< T > &b) const
 this should never be called for this leaf_op since the function in this class as already constructed
 
bool do_pre_screening () const
 
bool post_screening (const Key< NDIM > &key, const GenTensor< T > &G) const
 this should never be called for this leaf_op since the function in this class as already constructed
 
bool pre_screening (const Key< NDIM > &key) const
 
void sanity () const
 make sanity check
 
template<typename Archive >
void serialize (Archive &ar)
 
bool special_refinement_needed (const Key< NDIM > &key) const
 this should never be called for this leaf_op since the function in this class as already constructed
 
- Public Member Functions inherited from madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >
 Leaf_op ()
 
 Leaf_op (const FunctionImpl< T, NDIM > *const tmp)
 
 Leaf_op (const FunctionImpl< T, NDIM > *const tmp, const SeparatedConvolution< double, NDIM > *const ope, Specialbox_op< T, NDIM > &sb)
 
 Leaf_op (const FunctionImpl< T, NDIM > *const tmp, Specialbox_op< T, NDIM > &sb)
 
 Leaf_op (const Leaf_op &other)
 
virtual ~Leaf_op ()
 
bool compare_to_parent (const Key< NDIM > &key, const GenTensor< T > &coeff, const GenTensor< T > &parent) const
 
void serialize (Archive &ar)
 
bool special_refinement_needed (const Key< NDIM > &key) const
 

Private Member Functions

std::string name () const
 

Additional Inherited Members

- Public Attributes inherited from madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >
const FunctionImpl< T, NDIM > * f
 the function which the operators use (in most cases this function is also the function that will be constructed)
 
const SeparatedConvolution< double, NDIM > * op
 the operator which is used for screening (null pointer means no screening)
 
Specialbox_op< T, NDIMspecialbox
 

Detailed Description

template<typename T, std::size_t NDIM>
class madness::Leaf_op_other< T, NDIM >

leaf_op for construction of an on-demand function the function in the class is the function which defines the structure of the on-demand function means: The tree of the function which is to construct will mirror the tree-structure of the function in this class (function variable defined in base-class)

Constructor & Destructor Documentation

◆ Leaf_op_other() [1/3]

template<typename T , std::size_t NDIM>
madness::Leaf_op_other< T, NDIM >::Leaf_op_other ( )
inline

◆ Leaf_op_other() [2/3]

template<typename T , std::size_t NDIM>
madness::Leaf_op_other< T, NDIM >::Leaf_op_other ( const FunctionImpl< T, NDIM > *const  f_)
inline

◆ Leaf_op_other() [3/3]

template<typename T , std::size_t NDIM>
madness::Leaf_op_other< T, NDIM >::Leaf_op_other ( const Leaf_op_other< T, NDIM > &  other)
inline

Member Function Documentation

◆ compare_to_parent()

template<typename T , std::size_t NDIM>
bool madness::Leaf_op_other< T, NDIM >::compare_to_parent ( const Key< NDIM > &  key,
const GenTensor< T > &  a,
const GenTensor< T > &  b 
) const
inline

this should never be called for this leaf_op since the function in this class as already constructed

References MADNESS_EXCEPTION.

◆ do_pre_screening()

template<typename T , std::size_t NDIM>
bool madness::Leaf_op_other< T, NDIM >::do_pre_screening ( ) const
inlinevirtual

we only need the pre-determination based on the already constructed function f if f at box(key) is a leaf then return true

Reimplemented from madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >.

◆ name()

template<typename T , std::size_t NDIM>
std::string madness::Leaf_op_other< T, NDIM >::name ( ) const
inlineprivatevirtual

◆ post_screening()

template<typename T , std::size_t NDIM>
bool madness::Leaf_op_other< T, NDIM >::post_screening ( const Key< NDIM > &  key,
const GenTensor< T > &  G 
) const
inlinevirtual

this should never be called for this leaf_op since the function in this class as already constructed

Reimplemented from madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >.

References MADNESS_EXCEPTION.

◆ pre_screening()

template<typename T , std::size_t NDIM>
bool madness::Leaf_op_other< T, NDIM >::pre_screening ( const Key< NDIM > &  key) const
inlinevirtual

pre-determination the decision if the current box will be a leaf box is made from information of another function this is needed for on demand function not that the on-demand function that is beeing constructed is not the function in this class

Reimplemented from madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >.

References madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >::f, and MADNESS_ASSERT.

◆ sanity()

template<typename T , std::size_t NDIM>
void madness::Leaf_op_other< T, NDIM >::sanity ( ) const
inlinevirtual

◆ serialize()

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

◆ special_refinement_needed()

template<typename T , std::size_t NDIM>
bool madness::Leaf_op_other< T, NDIM >::special_refinement_needed ( const Key< NDIM > &  key) const
inline

this should never be called for this leaf_op since the function in this class as already constructed

References MADNESS_EXCEPTION.


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