Thrill
0.1
|
Classes | |
class | Aggregate< Type_ > |
Calculate running aggregate statistics: feed it with values, and it will keep the minimum, the maximum, the average, the value number, and the standard deviation is values. More... | |
class | AggregateMinMax< Type_ > |
Calculate running aggregate statistics: feed it with values, and it will keep the minimum and the maximum values. More... | |
class | PolynomialRegression< Type, WithStore > |
Calculate the regression polynomial \( a_0+a_1x^1+a_2x^2+\cdots+a_nx^n \) from a list of 2D points. More... | |
Functions | |
template<typename T > | |
T | abs_diff (const T &a, const T &b) |
absolute difference, which also works for unsigned types More... | |
static uint16_t | bswap16 (const uint16_t &v) |
bswap16 - generic More... | |
static uint16_t | bswap16_generic (const uint16_t &x) |
bswap16 - generic implementation More... | |
static uint32_t | bswap32 (const uint32_t &v) |
bswap32 - generic More... | |
static uint32_t | bswap32_generic (const uint32_t &x) |
bswap32 - generic implementation More... | |
static uint64_t | bswap64 (const uint64_t &v) |
bswap64 - generic More... | |
static uint64_t | bswap64_generic (const uint64_t &x) |
bswap64 - generic implementation More... | |
template<typename Integral > | |
unsigned | clz (Integral x) |
template<> | |
unsigned | clz< int > (int i) |
clz (count leading zeros) More... | |
template<> | |
unsigned | clz< long > (long i) |
clz (count leading zeros) More... | |
template<> | |
unsigned | clz< long long > (long long i) |
clz (count leading zeros) More... | |
template<> | |
unsigned | clz< unsigned > (unsigned i) |
clz (count leading zeros) More... | |
template<> | |
unsigned | clz< unsigned long > (unsigned long i) |
clz (count leading zeros) More... | |
template<> | |
unsigned | clz< unsigned long long > (unsigned long long i) |
clz (count leading zeros) More... | |
template<typename Integral > | |
static unsigned | clz_template (Integral x) |
clz (count leading zeros) - generic implementation More... | |
template<typename Integral > | |
unsigned | ctz (Integral x) |
template<> | |
unsigned | ctz< int > (int i) |
ctz (count trailing zeros) More... | |
template<> | |
unsigned | ctz< long > (long i) |
ctz (count trailing zeros) More... | |
template<> | |
unsigned | ctz< long long > (long long i) |
ctz (count trailing zeros) More... | |
template<> | |
unsigned | ctz< unsigned > (unsigned i) |
ctz (count trailing zeros) More... | |
template<> | |
unsigned | ctz< unsigned long > (unsigned long i) |
ctz (count trailing zeros) More... | |
template<> | |
unsigned | ctz< unsigned long long > (unsigned long long i) |
ctz (count trailing zeros) More... | |
template<typename Integral > | |
static unsigned | ctz_template (Integral x) |
ctz (count trailing zeros) - generic implementation More... | |
template<typename IntegralN , typename IntegralK > | |
static constexpr auto | div_ceil (const IntegralN &n, const IntegralK &k) -> decltype(n+k) |
calculate n div k with rounding up, for n and k positive! More... | |
static unsigned | ffs (int i) |
find first set bit in integer, or zero if none are set. More... | |
static unsigned | ffs (unsigned int i) |
find first set bit in integer, or zero if none are set. More... | |
static unsigned | ffs (long i) |
find first set bit in integer, or zero if none are set. More... | |
static unsigned | ffs (unsigned long i) |
find first set bit in integer, or zero if none are set. More... | |
static unsigned | ffs (long long i) |
find first set bit in integer, or zero if none are set. More... | |
static unsigned | ffs (unsigned long long i) |
find first set bit in integer, or zero if none are set. More... | |
template<typename Integral > | |
static unsigned | ffs_template (Integral x) |
ffs (find first set bit) - generic implementation More... | |
static unsigned | integer_log2_ceil (int i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_ceil (unsigned int i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_ceil (long i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_ceil (unsigned long i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_ceil (long long i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_ceil (unsigned long long i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_floor (int i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_floor (unsigned int i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_floor (long i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_floor (unsigned long i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_floor (long long i) |
calculate the log2 floor of an integer type More... | |
static unsigned | integer_log2_floor (unsigned long long i) |
calculate the log2 floor of an integer type More... | |
template<typename IntegerType > | |
static unsigned | integer_log2_floor_template (IntegerType i) |
calculate the log2 floor of an integer type More... | |
static bool | is_power_of_two (int i) |
does what it says: true if i is a power of two More... | |
static bool | is_power_of_two (unsigned int i) |
does what it says: true if i is a power of two More... | |
static bool | is_power_of_two (long i) |
does what it says: true if i is a power of two More... | |
static bool | is_power_of_two (unsigned long i) |
does what it says: true if i is a power of two More... | |
static bool | is_power_of_two (long long i) |
does what it says: true if i is a power of two More... | |
static bool | is_power_of_two (unsigned long long i) |
does what it says: true if i is a power of two More... | |
template<typename Integral > | |
static bool | is_power_of_two_template (Integral i) |
template<typename Integral > | |
unsigned | popcount (Integral i) |
popcount (count one bits) More... | |
static size_t | popcount (const void *data, size_t size) |
static unsigned | popcount_generic16 (uint16_t x) |
popcount (count one bits) - generic SWAR implementation More... | |
static unsigned | popcount_generic32 (uint32_t x) |
static unsigned | popcount_generic64 (uint64_t x) |
popcount (count one bits) - generic SWAR implementation More... | |
static unsigned | popcount_generic8 (uint8_t x) |
popcount (count one bits) - generic SWAR implementation More... | |
template<unsigned D, typename T > | |
static constexpr T | power_to_the (T x) |
power_to_the<D>(x) More... | |
static uint32_t | rol32 (const uint32_t &x, int i) |
rol32 - generic More... | |
static uint32_t | rol32_generic (const uint32_t &x, int i) |
rol32 - generic implementation More... | |
static uint64_t | rol64 (const uint64_t &x, int i) |
rol64 - generic More... | |
static uint64_t | rol64_generic (const uint64_t &x, int i) |
rol64 - generic implementation More... | |
static uint32_t | ror32 (const uint32_t &x, int i) |
ror32 - generic More... | |
static uint32_t | ror32_generic (const uint32_t &x, int i) |
ror32 - generic implementation More... | |
static uint64_t | ror64 (const uint64_t &x, int i) |
ror64 - generic More... | |
static uint64_t | ror64_generic (const uint64_t &x, int i) |
ror64 - generic implementation More... | |
static int | round_down_to_power_of_two (int i) |
does what it says: round down to next power of two More... | |
static unsigned int | round_down_to_power_of_two (unsigned int i) |
does what it says: round down to next power of two More... | |
static long | round_down_to_power_of_two (long i) |
does what it says: round down to next power of two More... | |
static unsigned long | round_down_to_power_of_two (unsigned long i) |
does what it says: round down to next power of two More... | |
static long long | round_down_to_power_of_two (long long i) |
does what it says: round down to next power of two More... | |
static unsigned long long | round_down_to_power_of_two (unsigned long long i) |
does what it says: round down to next power of two More... | |
template<typename IntegralN , typename IntegralK > | |
static constexpr auto | round_up (const IntegralN &n, const IntegralK &k) -> decltype(n+k) |
round n up to the next multiple of k, for n and k positive! More... | |
static int | round_up_to_power_of_two (int i) |
does what it says: round up to next power of two More... | |
static unsigned int | round_up_to_power_of_two (unsigned int i) |
does what it says: round up to next power of two More... | |
static long | round_up_to_power_of_two (long i) |
does what it says: round up to next power of two More... | |
static unsigned long | round_up_to_power_of_two (unsigned long i) |
does what it says: round up to next power of two More... | |
static long long | round_up_to_power_of_two (long long i) |
does what it says: round up to next power of two More... | |
static unsigned long long | round_up_to_power_of_two (unsigned long long i) |
does what it says: round up to next power of two More... | |
template<typename Integral > | |
static Integral | round_up_to_power_of_two_template (Integral n) |
template<typename T > | |
int | sgn (const T &val) |
sgn() - signum More... | |
Simple math functions
absolute difference, which also works for unsigned types
Definition at line 24 of file abs_diff.hpp.
Referenced by Context::Launch(), and MergeNode< ValueType, Comparator, kNumInputs >::MainOp().
|
inlinestatic |
bswap16 - generic
Definition at line 52 of file bswap.hpp.
References tlx::bswap16_generic().
Referenced by tlx::bswap16_generic().
|
inlinestatic |
bswap16 - generic implementation
Definition at line 31 of file bswap.hpp.
References tlx::bswap16().
Referenced by tlx::bswap16().
|
inlinestatic |
bswap32 - generic
Definition at line 84 of file bswap.hpp.
References tlx::bswap32_generic().
Referenced by tlx::bswap32_generic().
|
inlinestatic |
bswap32 - generic implementation
Definition at line 62 of file bswap.hpp.
References tlx::bswap32().
Referenced by tlx::bswap32().
|
inlinestatic |
bswap64 - generic
Definition at line 122 of file bswap.hpp.
References tlx::bswap64_generic().
Referenced by tlx::bswap64_generic().
|
inlinestatic |
bswap64 - generic implementation
Definition at line 94 of file bswap.hpp.
References tlx::bswap64().
Referenced by tlx::bswap64().
|
inline |
Referenced by tlx::clz_template(), thrill::core::hyperloglog::decodeHash(), thrill::core::hyperloglog::encodeHash(), HyperLogLogRegisters< p >::insert_hash(), tlx::sort_strings_detail::lcpKeyType(), BucketComputation< Radix, ranked_key_type >::operator()(), SSTreeBuilderPreAndLevelOrder< key_type, num_splitters >::recurse(), and SSTreeBuilderLevelOrder< key_type, num_splitters >::recurse().
|
inline |
clz (count leading zeros)
Definition at line 112 of file clz.hpp.
References tlx::clz_template().
Referenced by tlx::clz_template().
|
inline |
clz (count leading zeros)
Definition at line 124 of file clz.hpp.
References tlx::clz_template().
Referenced by tlx::clz_template().
|
inline |
clz (count leading zeros)
Definition at line 136 of file clz.hpp.
References tlx::clz_template().
Referenced by tlx::clz_template().
|
inline |
clz (count leading zeros)
Definition at line 118 of file clz.hpp.
References tlx::clz_template().
Referenced by tlx::clz_template().
|
inline |
clz (count leading zeros)
Definition at line 130 of file clz.hpp.
References tlx::clz_template().
Referenced by tlx::clz_template().
|
inline |
clz (count leading zeros)
Definition at line 142 of file clz.hpp.
References tlx::clz_template().
Referenced by tlx::clz_template().
|
inlinestatic |
clz (count leading zeros) - generic implementation
Definition at line 30 of file clz.hpp.
References tlx::clz(), tlx::clz< int >(), tlx::clz< long >(), tlx::clz< long long >(), tlx::clz< unsigned >(), tlx::clz< unsigned long >(), tlx::clz< unsigned long long >(), and gen_data::x.
Referenced by tlx::clz< int >(), tlx::clz< long >(), tlx::clz< long long >(), tlx::clz< unsigned >(), tlx::clz< unsigned long >(), and tlx::clz< unsigned long long >().
|
inline |
Referenced by tlx::ctz_template(), and tlx::sort_strings_detail::lcpKeyDepth().
|
inline |
ctz (count trailing zeros)
Definition at line 112 of file ctz.hpp.
References tlx::ctz_template().
Referenced by tlx::ctz_template().
|
inline |
ctz (count trailing zeros)
Definition at line 124 of file ctz.hpp.
References tlx::ctz_template().
Referenced by tlx::ctz_template().
|
inline |
ctz (count trailing zeros)
Definition at line 136 of file ctz.hpp.
References tlx::ctz_template().
Referenced by tlx::ctz_template().
|
inline |
ctz (count trailing zeros)
Definition at line 118 of file ctz.hpp.
References tlx::ctz_template().
Referenced by tlx::ctz_template().
|
inline |
ctz (count trailing zeros)
Definition at line 130 of file ctz.hpp.
References tlx::ctz_template().
Referenced by tlx::ctz_template().
|
inline |
ctz (count trailing zeros)
Definition at line 142 of file ctz.hpp.
References tlx::ctz_template().
Referenced by tlx::ctz_template().
|
inlinestatic |
ctz (count trailing zeros) - generic implementation
Definition at line 30 of file ctz.hpp.
References tlx::ctz(), tlx::ctz< int >(), tlx::ctz< long >(), tlx::ctz< long long >(), tlx::ctz< unsigned >(), tlx::ctz< unsigned long >(), tlx::ctz< unsigned long long >(), and gen_data::x.
Referenced by tlx::ctz< int >(), tlx::ctz< long >(), tlx::ctz< long long >(), tlx::ctz< unsigned >(), tlx::ctz< unsigned long >(), and tlx::ctz< unsigned long long >().
|
inlinestatic |
calculate n div k with rounding up, for n and k positive!
Definition at line 25 of file div_ceil.hpp.
Referenced by tlx::power_to_the().
|
inlinestatic |
find first set bit in integer, or zero if none are set.
Definition at line 79 of file ffs.hpp.
References tlx::ffs_template().
Referenced by Group::BroadcastBinomialTree(), tlx::ffs_template(), BitArrayRecursive< Size, true >::find_lsb(), and thrill::mem::GPool().
|
inlinestatic |
find first set bit in integer, or zero if none are set.
Definition at line 85 of file ffs.hpp.
References tlx::ffs_template().
|
inlinestatic |
find first set bit in integer, or zero if none are set.
Definition at line 91 of file ffs.hpp.
References tlx::ffs_template().
|
inlinestatic |
find first set bit in integer, or zero if none are set.
Definition at line 97 of file ffs.hpp.
References tlx::ffs_template().
|
inlinestatic |
find first set bit in integer, or zero if none are set.
Definition at line 103 of file ffs.hpp.
References tlx::ffs_template().
|
inlinestatic |
find first set bit in integer, or zero if none are set.
Definition at line 109 of file ffs.hpp.
References tlx::ffs_template().
|
inlinestatic |
ffs (find first set bit) - generic implementation
Definition at line 27 of file ffs.hpp.
References tlx::ffs().
Referenced by tlx::ffs().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 111 of file integer_log2.hpp.
References tlx::integer_log2_floor().
Referenced by Group::AllGatherRecursiveDoublingPowerOfTwo(), examples::suffix_sorting::ConstructWaveletTree(), ConstructWaveletTree(), LocationDetection< thrill::api::JoinNode::HashCount >::Flush(), Sampling< RNG >::hash_sample(), SortNode< ValueType, CompareFunction, SortAlgorithm, Stable >::MainOp(), and examples::suffix_sorting::PrefixDoublingPack().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 117 of file integer_log2.hpp.
References tlx::integer_log2_floor().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 123 of file integer_log2.hpp.
References tlx::integer_log2_floor().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 129 of file integer_log2.hpp.
References tlx::integer_log2_floor().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 135 of file integer_log2.hpp.
References tlx::integer_log2_floor().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 141 of file integer_log2.hpp.
References tlx::integer_log2_floor().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 76 of file integer_log2.hpp.
References tlx::integer_log2_floor_template().
Referenced by tlx::integer_log2_ceil(), tlx::integer_log2_floor_template(), and examples::suffix_sorting::PrefixDoublingPack().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 81 of file integer_log2.hpp.
References tlx::integer_log2_floor_template().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 86 of file integer_log2.hpp.
References tlx::integer_log2_floor_template().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 91 of file integer_log2.hpp.
References tlx::integer_log2_floor_template().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 96 of file integer_log2.hpp.
References tlx::integer_log2_floor_template().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 101 of file integer_log2.hpp.
References tlx::integer_log2_floor_template().
|
inlinestatic |
calculate the log2 floor of an integer type
Definition at line 24 of file integer_log2.hpp.
References tlx::integer_log2_floor().
Referenced by thrill::mem::calc_bin_for_size(), and tlx::integer_log2_floor().
|
inlinestatic |
does what it says: true if i is a power of two
Definition at line 31 of file is_power_of_two.hpp.
References tlx::is_power_of_two_template().
Referenced by FlowControlChannel::AllGather(), and BlockPool::AllocateByteBlock().
|
inlinestatic |
does what it says: true if i is a power of two
Definition at line 36 of file is_power_of_two.hpp.
References tlx::is_power_of_two_template().
|
inlinestatic |
does what it says: true if i is a power of two
Definition at line 41 of file is_power_of_two.hpp.
References tlx::is_power_of_two_template().
|
inlinestatic |
does what it says: true if i is a power of two
Definition at line 46 of file is_power_of_two.hpp.
References tlx::is_power_of_two_template().
|
inlinestatic |
does what it says: true if i is a power of two
Definition at line 51 of file is_power_of_two.hpp.
References tlx::is_power_of_two_template().
|
inlinestatic |
does what it says: true if i is a power of two
Definition at line 56 of file is_power_of_two.hpp.
References tlx::is_power_of_two_template().
|
inlinestatic |
Definition at line 22 of file is_power_of_two.hpp.
Referenced by tlx::is_power_of_two().
|
inline |
popcount (count one bits)
Definition at line 114 of file popcount.hpp.
References tlx::popcount_generic16(), tlx::popcount_generic32(), tlx::popcount_generic64(), and tlx::popcount_generic8().
Referenced by tlx::popcount(), and tlx::popcount_generic64().
|
inlinestatic |
Definition at line 133 of file popcount.hpp.
References tlx::popcount().
|
inlinestatic |
popcount (count one bits) - generic SWAR implementation
Definition at line 39 of file popcount.hpp.
Referenced by tlx::popcount().
|
inlinestatic |
popcount (count one bits) - generic SWAR implementation from https://stackoverflow.com/questions/109023
Definition at line 47 of file popcount.hpp.
Referenced by tlx::popcount().
|
inlinestatic |
popcount (count one bits) - generic SWAR implementation
Definition at line 54 of file popcount.hpp.
References tlx::popcount().
Referenced by tlx::popcount().
|
inlinestatic |
popcount (count one bits) - generic SWAR implementation
Definition at line 32 of file popcount.hpp.
Referenced by tlx::popcount().
power_to_the<D>(x)
returns x raised to the power of D using log(D) explicit multiplications.
Definition at line 30 of file power_to_the.hpp.
References gen_data::D, tlx::div_ceil(), and gen_data::x.
|
inlinestatic |
rol32 - generic
Definition at line 55 of file rol.hpp.
References tlx::rol32_generic().
Referenced by tlx::digest_detail::FF(), tlx::digest_detail::GG(), tlx::digest_detail::HH(), tlx::digest_detail::II(), tlx::rol32_generic(), and tlx::digest_detail::sha1_compress().
|
inlinestatic |
rol32 - generic implementation
Definition at line 31 of file rol.hpp.
References tlx::rol32(), and gen_data::x.
Referenced by tlx::rol32().
|
inlinestatic |
rol64 - generic
Definition at line 89 of file rol.hpp.
References tlx::rol64_generic().
Referenced by tlx::rol64_generic().
|
inlinestatic |
rol64 - generic implementation
Definition at line 65 of file rol.hpp.
References tlx::rol64(), and gen_data::x.
Referenced by tlx::rol64().
|
inlinestatic |
ror32 - generic
Definition at line 55 of file ror.hpp.
References tlx::ror32_generic().
Referenced by tlx::ror32_generic().
|
inlinestatic |
ror32 - generic implementation
Definition at line 31 of file ror.hpp.
References tlx::ror32(), and gen_data::x.
Referenced by tlx::ror32().
|
inlinestatic |
ror64 - generic
Definition at line 89 of file ror.hpp.
References tlx::ror64_generic().
Referenced by tlx::digest_detail::Gamma0(), tlx::digest_detail::Gamma1(), tlx::ror64_generic(), tlx::digest_detail::Sigma0(), and tlx::digest_detail::Sigma1().
|
inlinestatic |
ror64 - generic implementation
Definition at line 65 of file ror.hpp.
References tlx::ror64(), and gen_data::x.
Referenced by tlx::ror64().
|
inlinestatic |
does what it says: round down to next power of two
Definition at line 72 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two().
Referenced by MixStreamData::GetWriters(), and CatStreamData::GetWriters().
|
inlinestatic |
does what it says: round down to next power of two
Definition at line 77 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two().
|
inlinestatic |
does what it says: round down to next power of two
Definition at line 82 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two().
|
inlinestatic |
does what it says: round down to next power of two
Definition at line 87 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two().
|
inlinestatic |
does what it says: round down to next power of two
Definition at line 92 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two().
|
inlinestatic |
does what it says: round down to next power of two
Definition at line 98 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two().
|
inlinestatic |
round n up to the next multiple of k, for n and k positive!
Definition at line 25 of file round_up.hpp.
|
inlinestatic |
does what it says: round up to next power of two
Definition at line 38 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two_template().
Referenced by RingBuffer< Input >::allocate(), Group::BroadcastBinomialTree(), RingBuffer< Input >::load(), tlx::multisequence_partition(), tlx::multisequence_selection(), Multiplexer::OnMultiplexerHeader(), tlx::round_down_to_power_of_two(), WriteBinaryNode< ValueType >::WriteBinaryNode(), and WriteLinesNode< ValueType >::WriteLinesNode().
|
inlinestatic |
does what it says: round up to next power of two
Definition at line 43 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two_template().
|
inlinestatic |
does what it says: round up to next power of two
Definition at line 48 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two_template().
|
inlinestatic |
does what it says: round up to next power of two
Definition at line 53 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two_template().
|
inlinestatic |
does what it says: round up to next power of two
Definition at line 58 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two_template().
|
inlinestatic |
does what it says: round up to next power of two
Definition at line 64 of file round_to_power_of_two.hpp.
References tlx::round_up_to_power_of_two_template().
|
inlinestatic |
Definition at line 25 of file round_to_power_of_two.hpp.
Referenced by tlx::round_up_to_power_of_two().