10#ifndef IPPL_ORTHOGONAL_RECURSIVE_BISECTION_H
11#define IPPL_ORTHOGONAL_RECURSIVE_BISECTION_H
27 template <
class Field,
class Tp =
typename Field::value_type>
54 template <
typename Attrib>
56 const bool& isFirstRepartition);
90 int cutAxis,
int median);
98 template <
typename Attrib>
void cutDomain(std::vector< NDIndex< Dim > > &domains, std::vector< int > &procs, int it, int cutAxis, int median)
void scatterR(const Attrib &r)
int findMedian(std::vector< Tf > &w)
void initialize(FieldLayout< Dim > &fl, mesh_type &mesh, const Field &rho)
void perpendicularReduction(std::vector< Tf > &rankWeights, unsigned int cutAxis, NDIndex< Dim > &dom)
bool binaryRepartition(const Attrib &R, FieldLayout< Dim > &fl, const bool &isFirstRepartition)
int findCutAxis(NDIndex< Dim > &dom)
typename Field::value_type Tf
typename Field::Mesh_t mesh_type
static constexpr unsigned Dim
static constexpr unsigned dim