MADNESS
0.10.1
|
recursive part of recursive_apply More...
#include <funcimpl.h>
Public Types | |
typedef std::pair< bool, coeffT > | argT |
typedef CoeffTracker< T, NDIM > | ctT |
typedef recursive_apply_op2< opT > | this_type |
Public Member Functions | |
recursive_apply_op2 () | |
recursive_apply_op2 (const recursive_apply_op2 &other) | |
recursive_apply_op2 (implT *result, const ctT &iaf, const opT *apply_op) | |
Future< this_type > | activate () const |
retrieve the coefficients (parent coeffs might be remote) More... | |
argT | finalize (const double kernel_norm, const keyT &key, const coeffT &coeff, const implT *r) const |
sole purpose is to wait for the kernel norm, wrap it and send it back to caller More... | |
this_type | forward_ctor (implT *result1, const ctT &iaf1, const opT *apply_op1) |
taskq-compatible ctor More... | |
this_type | make_child (const keyT &child) const |
argT | operator() (const Key< NDIM > &key) const |
send off the application of the operator More... | |
bool | randomize () const |
template<typename Archive > | |
void | serialize (const Archive &ar) |
Public Attributes | |
const opT * | apply_op |
need this for randomization More... | |
ctT | iaf |
implT * | result |
recursive part of recursive_apply
typedef std::pair<bool,coeffT> madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::argT |
typedef CoeffTracker<T,NDIM> madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::ctT |
typedef recursive_apply_op2<opT> madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::this_type |
|
inline |
|
inline |
|
inline |
|
inline |
retrieve the coefficients (parent coeffs might be remote)
References madness::CoeffTracker< T, NDIM >::activate(), madness::WorldTaskQueue::add(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::apply_op, f1, madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::forward_ctor(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::iaf, madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::result, madness::World::taskq, madness::FunctionImpl< T, NDIM >::world, and madness::detail::wrap_mem_fn().
|
inline |
sole purpose is to wait for the kernel norm, wrap it and send it back to caller
References madness::FunctionImpl< T, NDIM >::get_thresh(), madness::Key< NDIM >::level(), madness::FunctionImpl< T, NDIM >::thresh, and madness::FunctionImpl< T, NDIM >::truncate_tol().
Referenced by madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()().
|
inline |
taskq-compatible ctor
Referenced by madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::activate().
|
inline |
|
inline |
send off the application of the operator
the first (core) neighbor (ie. the box itself) is processed immediately, all other ones are shoved into the taskq
References madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::apply_op, madness::CoeffTracker< T, NDIM >::coeff(), madness::FunctionImpl< T, NDIM >::do_apply_directed_screening(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::finalize(), madness::GenTensor< T >::has_data(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::iaf, madness::CoeffTracker< T, NDIM >::is_leaf(), p(), madness::World::rank(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::result, T(), madness::WorldObject< Derived >::task(), and madness::FunctionImpl< T, NDIM >::world.
|
inline |
|
inline |
const opT* madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::apply_op |
need this for randomization
Referenced by madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::activate(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::make_child(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()(), and madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::serialize().
ctT madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::iaf |
Referenced by madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::activate(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::make_child(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()(), and madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::serialize().
|
mutable |
Referenced by madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::activate(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::make_child(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()(), and madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::serialize().