MADNESS  version 0.9
Public Member Functions | List of all members
madness::LBNodeDeux< NDIM > Class Template Reference

#include <lbdeux.h>

Public Member Functions

 LBNodeDeux ()
 
 LBNodeDeux (const LBNodeDeux< NDIM > &other)
 
LBNodeDeux< NDIM > & operator= (const LBNodeDeux< NDIM > &other)
 
bool has_children () const
 
double get_total_cost () const
 
Void add (double cost, bool got_kids)
 Accumulates cost into this node. More...
 
Void sum (const treeT &tree, const keyT &child, double value)
 Accumulates cost up the tree from children. More...
 
Void deleter (const treeT &tree, const keyT &key)
 Logically deletes this node by setting cost to -1. More...
 
Void partition (const treeT &tree, const keyT &key, double avg)
 Descends tree deleting all except internal nodes and sub-tree parents. More...
 
template<typename Archive >
void serialize (Archive &ar)
 

Constructor & Destructor Documentation

template<std::size_t NDIM>
madness::LBNodeDeux< NDIM >::LBNodeDeux ( )
inline
template<std::size_t NDIM>
madness::LBNodeDeux< NDIM >::LBNodeDeux ( const LBNodeDeux< NDIM > &  other)
inline

Member Function Documentation

template<std::size_t NDIM>
Void madness::LBNodeDeux< NDIM >::add ( double  cost,
bool  got_kids 
)
inline

Accumulates cost into this node.

template<std::size_t NDIM>
Void madness::LBNodeDeux< NDIM >::deleter ( const treeT tree,
const keyT key 
)
inline

Logically deletes this node by setting cost to -1.

Cannot actually erase this node from the container since the send() handler is holding an accessor to it.

References madness::LBNodeDeux< NDIM >::has_children().

Referenced by madness::LBNodeDeux< NDIM >::partition().

template<std::size_t NDIM>
double madness::LBNodeDeux< NDIM >::get_total_cost ( ) const
inline
template<std::size_t NDIM>
bool madness::LBNodeDeux< NDIM >::has_children ( ) const
inline
template<std::size_t NDIM>
LBNodeDeux<NDIM>& madness::LBNodeDeux< NDIM >::operator= ( const LBNodeDeux< NDIM > &  other)
inline
template<std::size_t NDIM>
Void madness::LBNodeDeux< NDIM >::partition ( const treeT tree,
const keyT key,
double  avg 
)
inline

Descends tree deleting all except internal nodes and sub-tree parents.

References madness::LBNodeDeux< NDIM >::deleter(), madness::LBNodeDeux< NDIM >::has_children(), and std::swap().

Referenced by madness::LoadBalanceDeux< NDIM >::load_balance().

template<std::size_t NDIM>
template<typename Archive >
void madness::LBNodeDeux< NDIM >::serialize ( Archive &  ar)
inline
template<std::size_t NDIM>
Void madness::LBNodeDeux< NDIM >::sum ( const treeT tree,
const keyT child,
double  value 
)
inline

Accumulates cost up the tree from children.

References madness::Key< NDIM >::level(), and madness::Key< NDIM >::parent().


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