Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends

LibGeoDecomp::RecursiveBisectionPartition< DIM > Class Template Reference

#include <recursivebisectionpartition.h>

Inherits LibGeoDecomp::Partition< DIM >.

Collaboration diagram for LibGeoDecomp::RecursiveBisectionPartition< DIM >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector< std::size_t > SizeTVec

Public Member Functions

 RecursiveBisectionPartition (const Coord< DIM > &origin=Coord< DIM >(), const Coord< DIM > &dimensions=Coord< DIM >(), const long &offset=0, const SizeTVec weights=SizeTVec(), const Coord< DIM > &dimWeights=Coord< DIM >::diagonal(1))
Region< DIM > getRegion (const std::size_t i) const

Private Member Functions

CoordBox< DIM > searchNodeCuboid (const SizeTVec::const_iterator &begin, const SizeTVec::const_iterator &end, const SizeTVec::const_iterator &node, const CoordBox< DIM > &box) const
 returns the CoordBox which belongs to the node whose weight is being pointed to by the iterator node.
void splitBox (CoordBox< DIM > *newBoxes, const CoordBox< DIM > &oldBox, const double &ratio) const

Private Attributes

Coord< DIM > origin
Coord< DIM > dimensions
Coord< DIM > dimWeights

Friends

class RecursiveBisectionPartitionTest

template<int DIM>
class LibGeoDecomp::RecursiveBisectionPartition< DIM >


Member Typedef Documentation

template<int DIM>
typedef std::vector<std::size_t> LibGeoDecomp::RecursiveBisectionPartition< DIM >::SizeTVec

Constructor & Destructor Documentation

template<int DIM>
LibGeoDecomp::RecursiveBisectionPartition< DIM >::RecursiveBisectionPartition ( const Coord< DIM > &  origin = Coord<DIM>(),
const Coord< DIM > &  dimensions = Coord<DIM>(),
const long &  offset = 0,
const SizeTVec  weights = SizeTVec(),
const Coord< DIM > &  dimWeights = Coord<DIM>::diagonal(1) 
) [inline, explicit]

Member Function Documentation

template<int DIM>
Region<DIM> LibGeoDecomp::RecursiveBisectionPartition< DIM >::getRegion ( const std::size_t  i  )  const [inline, virtual]
template<int DIM>
CoordBox<DIM> LibGeoDecomp::RecursiveBisectionPartition< DIM >::searchNodeCuboid ( const SizeTVec::const_iterator &  begin,
const SizeTVec::const_iterator &  end,
const SizeTVec::const_iterator &  node,
const CoordBox< DIM > &  box 
) const [inline, private]

returns the CoordBox which belongs to the node whose weight is being pointed to by the iterator node.

We assume that all regions of the nodes from begin to end combined for the CoordBox box.

template<int DIM>
void LibGeoDecomp::RecursiveBisectionPartition< DIM >::splitBox ( CoordBox< DIM > *  newBoxes,
const CoordBox< DIM > &  oldBox,
const double &  ratio 
) const [inline, private]

Friends And Related Function Documentation

template<int DIM>
friend class RecursiveBisectionPartitionTest [friend]

Member Data Documentation

template<int DIM>
Coord<DIM> LibGeoDecomp::RecursiveBisectionPartition< DIM >::dimensions [private]
template<int DIM>
Coord<DIM> LibGeoDecomp::RecursiveBisectionPartition< DIM >::dimWeights [private]
template<int DIM>
Coord<DIM> LibGeoDecomp::RecursiveBisectionPartition< DIM >::origin [private]

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