Vowpal Wabbit
Classes | Functions | Variables
VW::details Namespace Reference

Classes

struct  cache_temp_buffer
 
class  index_sequence
 
struct  invert_hash_info
 
struct  make_index_sequence
 
struct  make_index_sequence< 0, Integers... >
 
class  scope_exit_caller
 
class  swap_guard_impl
 
class  swap_guard_impl_rvalue
 

Functions

constexpr float constexpr_int_pow10 (uint8_t exponent)
 
constexpr float constexpr_negative_int_pow10 (uint8_t exponent)
 
constexpr float constexpr_negative_int_pow10_with_offset (uint8_t exponent, uint8_t offset)
 
template<std::size_t ArrayLength, std::size_t... IntegerSequence>
constexpr std::array< float, ArrayLength > gen_negative_pow10s (index_sequence< IntegerSequence... >)
 
template<std::size_t ArrayLength, std::size_t... IntegerSequence>
constexpr std::array< float, ArrayLength > gen_positive_pow10s (index_sequence< IntegerSequence... >)
 
std::vector< std::pair< bool, uint64_t > > flatten_namespace_extents (const std::vector< namespace_extent > &extents, size_t overall_feature_space_size)
 
std::vector< namespace_extentunflatten_namespace_extents (const std::vector< std::pair< bool, uint64_t >> &extents)
 
void global_print_newline (const std::vector< std::unique_ptr< VW::io::writer >> &final_prediction_sink, VW::io::logger &logger)
 
constexpr uint32_t rotl32 (uint32_t x, int8_t r) noexcept
 
static VW_STD14_CONSTEXPR uint32_t fmix (uint32_t h) noexcept
 
static constexpr uint32_t getblock (const uint32_t *p, int i) noexcept
 

Variables

constexpr float POW10_BASE = 10.f
 
const constexpr uint8_t VALUES_BELOW_ZERO = FLT_MIN_10_EXP * -1
 
const constexpr uint8_t VALUES_ABOVE_AND_INCLUDING_ZERO = FLT_MAX_10_EXP + 1
 
const constexpr uint8_t VALUES_ABOVE_ZERO = FLT_MAX_10_EXP
 
static constexpr std::array< float, VALUES_ABOVE_AND_INCLUDING_ZEROpow_10_positive_lookup_table
 
static constexpr std::array< float, VALUES_BELOW_ZEROpow_10_negative_lookup_table
 

Function Documentation

◆ constexpr_int_pow10()

constexpr float VW::details::constexpr_int_pow10 ( uint8_t  exponent)

◆ constexpr_negative_int_pow10()

constexpr float VW::details::constexpr_negative_int_pow10 ( uint8_t  exponent)

◆ constexpr_negative_int_pow10_with_offset()

constexpr float VW::details::constexpr_negative_int_pow10_with_offset ( uint8_t  exponent,
uint8_t  offset 
)

◆ flatten_namespace_extents()

std::vector<std::pair<bool, uint64_t> > VW::details::flatten_namespace_extents ( const std::vector< namespace_extent > &  extents,
size_t  overall_feature_space_size 
)

◆ fmix()

static VW_STD14_CONSTEXPR uint32_t VW::details::fmix ( uint32_t  h)
inlinestaticnoexcept

◆ gen_negative_pow10s()

template<std::size_t ArrayLength, std::size_t... IntegerSequence>
constexpr std::array<float, ArrayLength> VW::details::gen_negative_pow10s ( index_sequence< IntegerSequence... >  )

◆ gen_positive_pow10s()

template<std::size_t ArrayLength, std::size_t... IntegerSequence>
constexpr std::array<float, ArrayLength> VW::details::gen_positive_pow10s ( index_sequence< IntegerSequence... >  )

◆ getblock()

static constexpr uint32_t VW::details::getblock ( const uint32_t *  p,
int  i 
)
inlinestaticnoexcept

◆ global_print_newline()

void VW::details::global_print_newline ( const std::vector< std::unique_ptr< VW::io::writer >> &  final_prediction_sink,
VW::io::logger logger 
)

◆ rotl32()

constexpr uint32_t VW::details::rotl32 ( uint32_t  x,
int8_t  r 
)
inlinenoexcept

◆ unflatten_namespace_extents()

std::vector<namespace_extent> VW::details::unflatten_namespace_extents ( const std::vector< std::pair< bool, uint64_t >> &  extents)

Variable Documentation

◆ POW10_BASE

constexpr float VW::details::POW10_BASE = 10.f

◆ pow_10_negative_lookup_table

constexpr std::array<float, VALUES_BELOW_ZERO> VW::details::pow_10_negative_lookup_table
static
Initial value:
=
gen_negative_pow10s<VALUES_BELOW_ZERO>(make_index_sequence<VALUES_BELOW_ZERO>{})

◆ pow_10_positive_lookup_table

constexpr std::array<float, VALUES_ABOVE_AND_INCLUDING_ZERO> VW::details::pow_10_positive_lookup_table
static
Initial value:
=
gen_positive_pow10s<VALUES_ABOVE_AND_INCLUDING_ZERO>(make_index_sequence<VALUES_ABOVE_AND_INCLUDING_ZERO>{})

◆ VALUES_ABOVE_AND_INCLUDING_ZERO

const constexpr uint8_t VW::details::VALUES_ABOVE_AND_INCLUDING_ZERO = FLT_MAX_10_EXP + 1

◆ VALUES_ABOVE_ZERO

const constexpr uint8_t VW::details::VALUES_ABOVE_ZERO = FLT_MAX_10_EXP

◆ VALUES_BELOW_ZERO

const constexpr uint8_t VW::details::VALUES_BELOW_ZERO = FLT_MIN_10_EXP * -1