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

recursive part of recursive_apply More...

#include <funcimpl.h>

Collaboration diagram for madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >:
Collaboration graph
[legend]

Public Types

typedef recursive_apply_op< opT, LDIM > this_type
 

Public Member Functions

 recursive_apply_op ()=default
 
 recursive_apply_op (const recursive_apply_op &other)
 
 recursive_apply_op (implT *result, const CoeffTracker< T, LDIM > &iaf, const CoeffTracker< T, LDIM > &iag, const opT *apply_op)
 
Future< this_typeactivate () const
 
std::pair< bool, coeffTfinalize (const double kernel_norm, const keyT &key, const coeffT &coeff) const
 sole purpose is to wait for the kernel norm, wrap it and send it back to caller
 
this_type forward_ctor (implT *r, const CoeffTracker< T, LDIM > &f1, const CoeffTracker< T, LDIM > &g1, const opT *apply_op1)
 
this_type make_child (const keyT &child) const
 
std::pair< bool, coeffToperator() (const Key< NDIM > &key) const
 make the NS-coefficients and send off the application of the operator
 
bool randomize () const
 
template<typename Archive >
void serialize (const Archive &ar)
 

Public Attributes

opT * apply_op
 
CoeffTracker< T, LDIM > iaf
 
CoeffTracker< T, LDIM > iag
 
implTresult
 

Detailed Description

template<typename T, std::size_t NDIM>
template<typename opT, std::size_t LDIM>
struct madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >

recursive part of recursive_apply

Member Typedef Documentation

◆ this_type

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
typedef recursive_apply_op<opT,LDIM> madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::this_type

Constructor & Destructor Documentation

◆ recursive_apply_op() [1/3]

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::recursive_apply_op ( )
default

◆ recursive_apply_op() [2/3]

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::recursive_apply_op ( implT result,
const CoeffTracker< T, LDIM > &  iaf,
const CoeffTracker< T, LDIM > &  iag,
const opT *  apply_op 
)
inline

References MADNESS_ASSERT, and NDIM.

◆ recursive_apply_op() [3/3]

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::recursive_apply_op ( const recursive_apply_op< opT, LDIM > &  other)
inline

Member Function Documentation

◆ activate()

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
Future< this_type > madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::activate ( ) const
inline

◆ finalize()

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
std::pair< bool, coeffT > madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::finalize ( const double  kernel_norm,
const keyT key,
const coeffT coeff 
) const
inline

◆ forward_ctor()

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
this_type madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::forward_ctor ( implT r,
const CoeffTracker< T, LDIM > &  f1,
const CoeffTracker< T, LDIM > &  g1,
const opT *  apply_op1 
)
inline

References f1.

◆ make_child()

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
this_type madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::make_child ( const keyT child) const
inline

◆ operator()()

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
std::pair< bool, coeffT > madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::operator() ( const Key< NDIM > &  key) const
inline

◆ randomize()

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
bool madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::randomize ( ) const
inline

◆ serialize()

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
template<typename Archive >
void madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::serialize ( const Archive &  ar)
inline

Member Data Documentation

◆ apply_op

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
opT* madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::apply_op

◆ iaf

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
CoeffTracker<T,LDIM> madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::iaf

◆ iag

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
CoeffTracker<T,LDIM> madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::iag

◆ result

template<typename T , std::size_t NDIM>
template<typename opT , std::size_t LDIM>
implT* madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::result

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