Thrill  0.1
hyperloglog.cpp File Reference
+ Include dependency graph for hyperloglog.cpp:

Go to the source code of this file.

Namespaces

 thrill
 
 thrill::core
 
 thrill::core::hyperloglog
 
 thrill::data
 

Functions

template<size_t p>
constexpr double alpha ()
 
template<>
constexpr double alpha< 4 > ()
 
template<>
constexpr double alpha< 5 > ()
 
template<>
constexpr double alpha< 6 > ()
 
template<size_t sparsePrecision, size_t densePrecision>
std::pair< size_t, uint8_t > decodeHash (HyperLogLogSparseRegister reg)
 
template std::pair< size_t, uint8_t > decodeHash< 25, 12 > (HyperLogLogSparseRegister)
 
template std::pair< size_t, uint8_t > decodeHash< 25, 16 > (HyperLogLogSparseRegister)
 
template std::pair< size_t, uint8_t > decodeHash< 25, 4 > (HyperLogLogSparseRegister)
 
std::vector< uint32_t > decodeSparseList (const std::vector< uint8_t > &sparseList)
 
template<size_t sparsePrecision, size_t densePrecision>
uint32_t encodeHash (uint64_t hash)
 
template uint32_t encodeHash< 25, 12 > (uint64_t)
 
template uint32_t encodeHash< 25, 16 > (uint64_t)
 
template uint32_t encodeHash< 25, 4 > (uint64_t)
 
template<size_t sparsePrecision, size_t densePrecision>
uint32_t encodePair (uint32_t index, uint8_t value)
 
std::vector< uint8_t > encodeSparseList (const std::vector< uint32_t > &sparseList)
 Perform a varint and a difference encoding. More...
 
template<size_t p>
double estimateBias (double rawEstimate)
 
template<>
double estimateBias< 10 > (double rawEstimate)
 
template<>
double estimateBias< 11 > (double rawEstimate)
 
template<>
double estimateBias< 12 > (double rawEstimate)
 
template<>
double estimateBias< 13 > (double rawEstimate)
 
template<>
double estimateBias< 14 > (double rawEstimate)
 
template<>
double estimateBias< 15 > (double rawEstimate)
 
template<>
double estimateBias< 16 > (double rawEstimate)
 
template<>
double estimateBias< 17 > (double rawEstimate)
 
template<>
double estimateBias< 18 > (double rawEstimate)
 
template<>
double estimateBias< 4 > (double rawEstimate)
 
template<>
double estimateBias< 5 > (double rawEstimate)
 
template<>
double estimateBias< 6 > (double rawEstimate)
 
template<>
double estimateBias< 7 > (double rawEstimate)
 
template<>
double estimateBias< 8 > (double rawEstimate)
 
template<>
double estimateBias< 9 > (double rawEstimate)
 
static double estimateBiasCalculation (double rawEstimate, const double *estimatedData, const double *biasData, size_t estimateSize)
 
static double knearestNeighbor (int k, int index, double estimate, const double *bias, const double *estimateData, size_t estimateDataLength)
 
constexpr uint64_t lowerNBitMask (uint64_t n)
 
template<typename ForwardIt >
SparseListIterator< ForwardIt > makeSparseListIterator (ForwardIt it)
 
template<size_t precision>
std::vector< HyperLogLogSparseRegister > mergeSameIndices (const std::vector< HyperLogLogSparseRegister > &sparseList)
 
template<size_t precision>
std::pair< uint32_t, uint8_t > splitSparseRegister (const HyperLogLogSparseRegister &reg)
 
template<size_t p>
static double threshold ()
 
constexpr uint32_t upperNBitMask (uint32_t n)
 

Variables

static const double s_thresholds [15]