28 #ifndef __LBPOINTARRAY_HPP 29 #define __LBPOINTARRAY_HPP 35 #include <unordered_set> 75 template<
typename T,
typename U>
82 template<
typename T,
typename U>
85 int current_dim, T value,
86 T& deviation_left, T& deviation_right,
const unsigned int& orig_dim,
87 const std::list<U>& critical_indices_left,
const std::list<U>& critical_indices_right);
89 template<
typename T,
typename U>
92 int current_dim, T value,
93 T& deviation_left, T& deviation_right,
const unsigned int& orig_dim,
94 const std::unordered_set<U>& critical_indices_left,
95 const std::unordered_set<U>& critical_indices_right);
105 template<
typename T,
typename U>
107 unsigned int i2,
unsigned int j2,
int limit);
109 template<
typename T,
typename U>
112 template<
typename T,
typename U>
115 template<
typename T,
typename U>
121 #include "LBPointArray.tcc" 123 #endif // !__POINTARRAY_HPP static void sortByDim(LBPointArray< T > &V, int dim, LBPointArray< U > &indices, LBPointArray< T > &values)
static void mergeHostWithIndices(T *a, U *b, unsigned int i1, unsigned int j1, unsigned int i2, unsigned int j2, int limit)
static void mallocPointArray(LBPointArray< T > &m)
static void splitPointArray(LBPointArray< T > &I, LBPointArray< T > &I_L, LBPointArray< T > &I_R)
static unsigned int checkNumberOfSmallerEqualValues(LBPointArray< float > &V, unsigned int dim, float split)
static void splitPointArrayWithValue(const LBPointArray< T > &V, const LBPointArray< U > &I, LBPointArray< U > &I_L, LBPointArray< U > &I_R, int current_dim, T value, T &deviation_left, T &deviation_right, const unsigned int &orig_dim, const std::list< U > &critical_indices_left, const std::list< U > &critical_indices_right)
static void copyDimensionToPointArray(LBPointArray< T > &in, int dim, LBPointArray< T > &out)
static void splitPointArrayWithValueSet(const LBPointArray< T > &V, const LBPointArray< U > &I, LBPointArray< U > &I_L, LBPointArray< U > &I_R, int current_dim, T value, T &deviation_left, T &deviation_right, const unsigned int &orig_dim, const std::unordered_set< U > &critical_indices_left, const std::unordered_set< U > &critical_indices_right)
static unsigned int checkNumberOfBiggerValues(LBPointArray< T > &V, unsigned int dim, T split)
static bool checkSortedIndices(const LBPointArray< T > &V, const LBPointArray< U > &sorted_indices, unsigned int dim, int n=0)
static void generatePointArray(LBPointArray< T > &m, int width, int dim)
static void naturalMergeSort(LBPointArray< T > &in, int dim, LBPointArray< U > &indices, LBPointArray< T > &m, int limit=-1)
static void fillPointArrayWithSequence(LBPointArray< T > &m)
static void generateAndSort(int id, LBPointArray< T > &vertices, LBPointArray< U > *indices_sorted, LBPointArray< T > *values_sorted, int dim)
static void copyVectorInterval(LBPointArray< T > &in, int start, int end, LBPointArray< T > &out)