Thrill
0.1

Functions  
template<typename T >  
T  abs_diff (const T &a, const T &b) 
absolute difference, which also works for unsigned types 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 IntegralN , typename IntegralK >  
static constexpr auto  div_ceil (const IntegralN &n, const IntegralK &k) > decltype(n+k) 
calculate n div k with rounding up 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...  
unsigned  integer_log2_ceil (int i) 
calculate the log2 ceiling of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_ceil (unsigned int i) 
calculate the log2 ceiling of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_ceil (long i) 
calculate the log2 ceiling of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_ceil (unsigned long i) 
calculate the log2 ceiling of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_ceil (long long i) 
calculate the log2 ceiling of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_ceil (unsigned long long i) 
calculate the log2 ceiling of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_floor (int i) 
calculate the log2 floor of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_floor (unsigned int i) 
calculate the log2 floor of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_floor (long i) 
calculate the log2 floor of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_floor (unsigned long i) 
calculate the log2 floor of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_floor (long long i) 
calculate the log2 floor of an integer type (by repeated bit shifts) More...  
unsigned  integer_log2_floor (unsigned long long i) 
calculate the log2 floor of an integer type (by repeated bit shifts) More...  
template<typename IntegerType >  
static unsigned  integer_log2_floor_template (IntegerType i) 
calculate the log2 floor of an integer type (by repeated bit shifts) More...  
bool  is_power_of_two (int i) 
does what it says: true if i is a power of two More...  
bool  is_power_of_two (unsigned int i) 
does what it says: true if i is a power of two More...  
bool  is_power_of_two (long i) 
does what it says: true if i is a power of two More...  
bool  is_power_of_two (unsigned long i) 
does what it says: true if i is a power of two More...  
bool  is_power_of_two (long long i) 
does what it says: true if i is a power of two More...  
bool  is_power_of_two (unsigned long long i) 
does what it says: true if i is a power of two More...  
int  round_down_to_power_of_two (int i) 
does what it says: round down to next power of two More...  
unsigned int  round_down_to_power_of_two (unsigned int i) 
does what it says: round down to next power of two More...  
long  round_down_to_power_of_two (long i) 
does what it says: round down to next power of two More...  
unsigned long  round_down_to_power_of_two (unsigned long i) 
does what it says: round down to next power of two More...  
long long  round_down_to_power_of_two (long long i) 
does what it says: round down to next power of two More...  
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...  
int  round_up_to_power_of_two (int i) 
does what it says: round up to next power of two More...  
unsigned int  round_up_to_power_of_two (unsigned int i) 
does what it says: round up to next power of two More...  
long  round_up_to_power_of_two (long i) 
does what it says: round up to next power of two More...  
unsigned long  round_up_to_power_of_two (unsigned long i) 
does what it says: round up to next power of two More...  
long long  round_up_to_power_of_two (long long i) 
does what it says: round up to next power of two More...  
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...  
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().

inline 

inline 

inline 

inline 

inline 

inline 

inline 

inlinestatic 
clz (count leading zeros)  generic implementation
Definition at line 30 of file clz.hpp.
References 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 >().

inlinestatic 
calculate n div k with rounding up
Definition at line 25 of file div_ceil.hpp.

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().

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.
Referenced by tlx::ffs().
unsigned integer_log2_ceil  (  int  i  ) 
calculate the log2 ceiling of an integer type (by repeated bit shifts)
Definition at line 43 of file integer_log2.cpp.
References tlx::integer_log2_floor().
Referenced by examples::suffix_sorting::ConstructWaveletTree(), ConstructWaveletTree(), LocationDetection< thrill::api::JoinNode::HashCount >::Flush(), SortNode< ValueType, CompareFunction, SortAlgorithm >::MainOp(), and examples::suffix_sorting::PrefixDoublingPack().
unsigned integer_log2_ceil  (  unsigned int  i  ) 
calculate the log2 ceiling of an integer type (by repeated bit shifts)
Definition at line 48 of file integer_log2.cpp.
References tlx::integer_log2_floor().
unsigned integer_log2_ceil  (  long  i  ) 
calculate the log2 ceiling of an integer type (by repeated bit shifts)
Definition at line 53 of file integer_log2.cpp.
References tlx::integer_log2_floor().
unsigned integer_log2_ceil  (  unsigned long  i  ) 
calculate the log2 ceiling of an integer type (by repeated bit shifts)
Definition at line 58 of file integer_log2.cpp.
References tlx::integer_log2_floor().
unsigned integer_log2_ceil  (  long long  i  ) 
calculate the log2 ceiling of an integer type (by repeated bit shifts)
Definition at line 63 of file integer_log2.cpp.
References tlx::integer_log2_floor().
unsigned integer_log2_ceil  (  unsigned long long  i  ) 
calculate the log2 ceiling of an integer type (by repeated bit shifts)
Definition at line 68 of file integer_log2.cpp.
References tlx::integer_log2_floor().
unsigned integer_log2_floor  (  int  i  ) 
calculate the log2 floor of an integer type (by repeated bit shifts)
Definition at line 17 of file integer_log2.cpp.
References tlx::integer_log2_floor_template().
Referenced by Sampling< RNG >::hash_sample(), tlx::integer_log2_ceil(), and examples::suffix_sorting::PrefixDoublingPack().
unsigned integer_log2_floor  (  unsigned int  i  ) 
calculate the log2 floor of an integer type (by repeated bit shifts)
Definition at line 21 of file integer_log2.cpp.
References tlx::integer_log2_floor_template().
unsigned integer_log2_floor  (  long  i  ) 
calculate the log2 floor of an integer type (by repeated bit shifts)
Definition at line 25 of file integer_log2.cpp.
References tlx::integer_log2_floor_template().
unsigned integer_log2_floor  (  unsigned long  i  ) 
calculate the log2 floor of an integer type (by repeated bit shifts)
Definition at line 29 of file integer_log2.cpp.
References tlx::integer_log2_floor_template().
unsigned integer_log2_floor  (  long long  i  ) 
calculate the log2 floor of an integer type (by repeated bit shifts)
Definition at line 33 of file integer_log2.cpp.
References tlx::integer_log2_floor_template().
unsigned integer_log2_floor  (  unsigned long long  i  ) 
calculate the log2 floor of an integer type (by repeated bit shifts)
Definition at line 37 of file integer_log2.cpp.
References tlx::integer_log2_floor_template().

inlinestatic 
calculate the log2 floor of an integer type (by repeated bit shifts)
Definition at line 24 of file integer_log2.hpp.
Referenced by thrill::mem::calc_bin_for_size(), and tlx::integer_log2_floor().
bool is_power_of_two  (  int  i  ) 
does what it says: true if i is a power of two
Definition at line 23 of file is_power_of_two.cpp.
References tlx::is_power_of_two_template().
Referenced by BlockPool::AllocateByteBlock().
bool is_power_of_two  (  unsigned int  i  ) 
does what it says: true if i is a power of two
Definition at line 27 of file is_power_of_two.cpp.
References tlx::is_power_of_two_template().
bool is_power_of_two  (  long  i  ) 
does what it says: true if i is a power of two
Definition at line 31 of file is_power_of_two.cpp.
References tlx::is_power_of_two_template().
bool is_power_of_two  (  unsigned long  i  ) 
does what it says: true if i is a power of two
Definition at line 35 of file is_power_of_two.cpp.
References tlx::is_power_of_two_template().
bool is_power_of_two  (  long long  i  ) 
does what it says: true if i is a power of two
Definition at line 39 of file is_power_of_two.cpp.
References tlx::is_power_of_two_template().
bool is_power_of_two  (  unsigned long long  i  ) 
does what it says: true if i is a power of two
Definition at line 43 of file is_power_of_two.cpp.
References tlx::is_power_of_two_template().
int round_down_to_power_of_two  (  int  i  ) 
does what it says: round down to next power of two
Definition at line 55 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two().
Referenced by MixStreamData::GetWriters(), and CatStreamData::GetWriters().
unsigned int round_down_to_power_of_two  (  unsigned int  i  ) 
does what it says: round down to next power of two
Definition at line 59 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two().
long round_down_to_power_of_two  (  long  i  ) 
does what it says: round down to next power of two
Definition at line 63 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two().
unsigned long round_down_to_power_of_two  (  unsigned long  i  ) 
does what it says: round down to next power of two
Definition at line 67 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two().
long long round_down_to_power_of_two  (  long long  i  ) 
does what it says: round down to next power of two
Definition at line 71 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two().
unsigned long long round_down_to_power_of_two  (  unsigned long long  i  ) 
does what it says: round down to next power of two
Definition at line 75 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two().
int round_up_to_power_of_two  (  int  i  ) 
does what it says: round up to next power of two
Definition at line 29 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two_template().
Referenced by RingBuffer< Input >::allocate(), Group::BroadcastBinomialTree(), RingBuffer< Input >::load(), Multiplexer::OnMultiplexerHeader(), and tlx::round_down_to_power_of_two().
unsigned int round_up_to_power_of_two  (  unsigned int  i  ) 
does what it says: round up to next power of two
Definition at line 33 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two_template().
long round_up_to_power_of_two  (  long  i  ) 
does what it says: round up to next power of two
Definition at line 37 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two_template().
unsigned long round_up_to_power_of_two  (  unsigned long  i  ) 
does what it says: round up to next power of two
Definition at line 41 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two_template().
long long round_up_to_power_of_two  (  long long  i  ) 
does what it says: round up to next power of two
Definition at line 45 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two_template().
unsigned long long round_up_to_power_of_two  (  unsigned long long  i  ) 
does what it says: round up to next power of two
Definition at line 49 of file round_to_power_of_two.cpp.
References tlx::round_up_to_power_of_two_template().