|
MADNESS 0.10.1
|
recursive part of recursive_apply for a vector of matched pairs More...
#include <funcimpl.h>

Public Types | |
| typedef CoeffTracker< T, LDIM > | ctL |
| typedef recursive_apply_op_vec< opT, LDIM > | this_type |
Public Member Functions | |
| recursive_apply_op_vec ()=default | |
| recursive_apply_op_vec (const recursive_apply_op_vec &other) | |
| recursive_apply_op_vec (implT *result, const std::vector< ctL > &iafs, const std::vector< ctL > &iags, const opT *apply_op) | |
| Future< this_type > | activate () const |
| std::pair< bool, coeffT > | finalize (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 std::vector< Future< ctL > > &f_futures, const std::vector< Future< ctL > > &g_futures, const opT *apply_op1) |
| this_type | make_child (const keyT &child) const |
| std::pair< bool, coeffT > | operator() (const Key< NDIM > &key) const |
| make the summed 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 |
| std::vector< ctL > | iafs |
| std::vector< ctL > | iags |
| implT * | result |
recursive part of recursive_apply for a vector of matched pairs
Handles Σ_i f_i(1) * g_i(2) in a single tree traversal, accumulating outer products with immediate truncation.
| typedef CoeffTracker<T,LDIM> madness::FunctionImpl< T, NDIM >::recursive_apply_op_vec< opT, LDIM >::ctL |
| typedef recursive_apply_op_vec<opT,LDIM> madness::FunctionImpl< T, NDIM >::recursive_apply_op_vec< opT, LDIM >::this_type |
|
default |
Referenced by recursive_apply_op_vec().
|
inline |
References recursive_apply_op_vec(), apply_op, iafs, iags, and result.
|
inline |
activate all CoeffTrackers using fan-in: all 2N futures are registered as dependencies and the forward_ctor task fires only when all are resolved
References apply_op, forward_ctor(), iafs, iags, result, 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::Key< NDIM >::level(), result, and madness::FunctionImpl< T, NDIM >::thresh.
|
inline |
Referenced by activate().
|
inline |
References apply_op, madness::Key< NDIM >::break_apart(), iafs, iags, and result.
|
inline |
make the summed NS-coefficients and send off the application of the operator
Forms Σ_i outer(f_i, g_i) with immediate truncation after each addition
References apply_op, madness::Key< NDIM >::break_apart(), madness::FunctionImpl< T, NDIM >::do_apply_directed_screening(), madness::finalize(), madness::FunctionDefaults< NDIM >::get_thresh(), iafs, iags, madness::outer(), p(), madness::FunctionImpl< T, NDIM >::reduce(), result, and s0.
|
inline |
|
inline |
| opT* madness::FunctionImpl< T, NDIM >::recursive_apply_op_vec< opT, LDIM >::apply_op |
Referenced by recursive_apply_op_vec(), recursive_apply_op_vec(), activate(), make_child(), operator()(), and serialize().
| std::vector<ctL> madness::FunctionImpl< T, NDIM >::recursive_apply_op_vec< opT, LDIM >::iafs |
Referenced by recursive_apply_op_vec(), recursive_apply_op_vec(), activate(), make_child(), operator()(), and serialize().
| std::vector<ctL> madness::FunctionImpl< T, NDIM >::recursive_apply_op_vec< opT, LDIM >::iags |
Referenced by recursive_apply_op_vec(), recursive_apply_op_vec(), activate(), make_child(), operator()(), and serialize().
| implT* madness::FunctionImpl< T, NDIM >::recursive_apply_op_vec< opT, LDIM >::result |
Referenced by recursive_apply_op_vec(), recursive_apply_op_vec(), activate(), finalize(), make_child(), operator()(), and serialize().