35 #ifndef IE_CORE_RADIXSORT_H
36 #define IE_CORE_RADIXSORT_H
40 #include "boost/static_assert.hpp"
42 #include "IECore/Export.h"
43 #include "IECore/VectorTypedData.h"
56 BOOST_STATIC_ASSERT(
sizeof(
int ) == 4 );
57 BOOST_STATIC_ASSERT(
sizeof(
unsigned int ) == 4 );
58 BOOST_STATIC_ASSERT(
sizeof(
float ) == 4 );
66 const std::vector<unsigned int> &operator()(
const std::vector<float> &input );
71 const std::vector<unsigned int> &operator()(
const std::vector<unsigned int> &input );
76 const std::vector<unsigned int> &operator()(
const std::vector<int> &input );
81 bool createHistograms(
const std::vector<T> &input );
83 unsigned int m_currentSize;
85 unsigned int m_histogram[1024];
86 unsigned int *m_link[256];
88 UIntVectorDataPtr m_ranks;
89 UIntVectorDataPtr m_ranks2;
92 bool checkPassValidity(
const std::vector<T> &input,
unsigned int j,
unsigned int* &curCount,
unsigned char &uniqueVal );
94 void resize(
unsigned int s );
95 void checkResize(
unsigned int s );
100 #endif // IE_CORE_RADIXSORT_H
Definition: RadixSort.h:52
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43