MADNESS
version 0.9
|
a class to track where relevant (parent) coeffs are More...
#include <funcimpl.h>
Public Member Functions | |
CoeffTracker () | |
default ctor More... | |
CoeffTracker (const implT *impl) | |
the initial ctor making the root key More... | |
CoeffTracker (const CoeffTracker &other, const datumT &datum) | |
ctor with a pair<keyT,nodeT> More... | |
CoeffTracker (const CoeffTracker &other) | |
copy ctor More... | |
const implT * | get_impl () const |
const reference to impl More... | |
const coeffT & | coeff () const |
const reference to the coeffs More... | |
const keyT & | key () const |
const reference to the key More... | |
coeffT | coeff (const keyT &key) const |
return the coefficients belonging to the passed-in key More... | |
const LeafStatus & | is_leaf () const |
const reference to is_leaf flag More... | |
CoeffTracker | make_child (const keyT &child) const |
make a child of this, ignoring the coeffs More... | |
Future< CoeffTracker > | activate () const |
find the coefficients More... | |
template<typename Archive > | |
void | serialize (const Archive &ar) |
serialization More... | |
a class to track where relevant (parent) coeffs are
E.g. if a 6D function is composed of two 3D functions their coefficients must be tracked. We might need coeffs from a box that does not exist, and to avoid searching for parents we track which are their required respective boxes.
Usage: 1. make the child of a given CoeffTracker. If the parent CoeffTracker refers to a leaf node (flag is_leaf) the child will refer to the same node. Otherwise it will refer to the child node.
|
inline |
default ctor
Referenced by madness::CoeffTracker< T, LDIM >::activate(), and madness::CoeffTracker< T, LDIM >::make_child().
|
inline |
the initial ctor making the root key
|
inlineexplicit |
ctor with a pair<keyT,nodeT>
|
inline |
copy ctor
|
inline |
find the coefficients
this involves communication to a remote node
Referenced by madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::activate(), madness::FunctionImpl< T, NDIM >::add_op::activate(), madness::FunctionImpl< T, NDIM >::hartree_op< LDIM, leaf_opT >::activate(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::activate(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::activate(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::activate(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::activate().
|
inline |
const reference to the coeffs
Referenced by madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::make_childrens_sum_coeffs(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::make_sum_coeffs(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::add_op::operator()(), madness::FunctionImpl< T, NDIM >::hartree_op< LDIM, leaf_opT >::operator()(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::operator()().
|
inline |
return the coefficients belonging to the passed-in key
if key equals tracked key just return the coeffs, otherwise make the child coefficients.
[in] | key | return coeffs corresponding to this key |
|
inline |
const reference to impl
Referenced by madness::FunctionImpl< T, NDIM >::add_op::activate(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::make_childrens_sum_coeffs(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::make_sum_coeffs(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::add_op::operator()(), madness::FunctionImpl< T, NDIM >::hartree_op< LDIM, leaf_opT >::operator()(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::operator()(), and madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::screen().
|
inline |
const reference to is_leaf flag
Referenced by madness::FunctionImpl< T, NDIM >::add_op::operator()(), and madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()().
|
inline |
const reference to the key
Referenced by madness::CoeffTracker< T, LDIM >::activate(), madness::CoeffTracker< T, LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::add_op::operator()(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::operator()().
|
inline |
make a child of this, ignoring the coeffs
Referenced by madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::add_op::make_child(), madness::FunctionImpl< T, NDIM >::hartree_op< LDIM, leaf_opT >::make_child(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::make_child(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::make_child().
|
inline |
serialization