|
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 ()=default | |
| 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) | |
| 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 | |
| this_type | forward_ctor (implT *result1, const ctT &iaf1, const opT *apply_op1) |
| taskq-compatible ctor | |
| this_type | make_child (const keyT &child) const |
| argT | operator() (const Key< NDIM > &key) const |
| send off the application of the operator | |
| bool | randomize () const |
| template<typename Archive > | |
| void | serialize (const Archive &ar) |
Public Attributes | |
| const opT * | apply_op |
| need this for randomization | |
| 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 |
|
default |
|
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::nonlinear_vector_solver(), madness::FunctionImpl< T, NDIM >::thresh, and madness::FunctionImpl< T, NDIM >::truncate_tol().
|
inline |
taskq-compatible ctor
References madness::nonlinear_vector_solver().
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::finalize(), madness::GenTensor< T >::has_data(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::iaf, madness::CoeffTracker< T, NDIM >::is_leaf(), madness::nonlinear_vector_solver(), 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().