Vowpal Wabbit
Classes | Namespaces | Functions | Variables
fast_pow10.h File Reference
#include <array>
#include <cfloat>
#include <cstdint>
#include <limits>
#include "future_compat.h"

Classes

class  VW::details::index_sequence< Integers >
 
struct  VW::details::make_index_sequence< CurrentNum, Integers >
 
struct  VW::details::make_index_sequence< 0, Integers... >
 

Namespaces

 VW
 
 VW::details
 

Functions

constexpr float VW::details::constexpr_int_pow10 (uint8_t exponent)
 
constexpr float VW::details::constexpr_negative_int_pow10 (uint8_t exponent)
 
constexpr float VW::details::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 > VW::details::gen_negative_pow10s (index_sequence< IntegerSequence... >)
 
template<std::size_t ArrayLength, std::size_t... IntegerSequence>
constexpr std::array< float, ArrayLength > VW::details::gen_positive_pow10s (index_sequence< IntegerSequence... >)
 
VW_STD14_CONSTEXPR float VW::fast_pow10 (int8_t exponent)
 

Variables

constexpr float VW::details::POW10_BASE = 10.f
 
const constexpr uint8_t VW::details::VALUES_BELOW_ZERO = FLT_MIN_10_EXP * -1
 
const constexpr uint8_t VW::details::VALUES_ABOVE_AND_INCLUDING_ZERO = FLT_MAX_10_EXP + 1
 
const constexpr uint8_t VW::details::VALUES_ABOVE_ZERO = FLT_MAX_10_EXP
 
static constexpr std::array< float, VALUES_ABOVE_AND_INCLUDING_ZERO > VW::details::pow_10_positive_lookup_table
 
static constexpr std::array< float, VALUES_BELOW_ZERO > VW::details::pow_10_negative_lookup_table