Template Function exafmm_t::balance_tree(Nodes<T>&, Bodies<T>&, Bodies<T>&, NodePtrs<T>&, NodePtrs<T>&, FmmBase<T>&)

Function Documentation

template<typename T>
void exafmm_t::balance_tree(Nodes<T> &nodes, Bodies<T> &sources, Bodies<T> &targets, NodePtrs<T> &leafs, NodePtrs<T> &nonleafs, FmmBase<T> &fmm)

Rebuild the tree by enforcing 2:1 balance constraint.

Template Parameters

T – Target’s value type (real or complex)

Parameters
  • nodes – Vector of nodes that represents the tree (after 2:1 balancing)

  • sources – Vector of sources

  • targets – Vector of targets

  • leafs – Vector of pointers of leaf nodes

  • nonleafs – Vector of pointers of non-leaf nodes

  • fmm – FMM instance