dconv 1.0
C++14 library for printing and parsing floating point numbers
Loading...
Searching...
No Matches
dconv::details Namespace Reference

Classes

struct  LocaleDelete
 
struct  Power
 

Typedefs

using LocalePtr = std::unique_ptr <std::remove_pointer_t <locale_t>, LocaleDelete>
 

Functions

const char * strtodSlow (const char *beg, double &value)
 
void umul192 (uint64_t hi, uint64_t lo, uint64_t significand, uint64_t &high, uint64_t &middle, uint64_t &low) noexcept
 
bool strtodFast (bool negative, uint64_t significand, int64_t exponent, double &value) noexcept
 
constexpr bool isDigit (char c) noexcept
 
constexpr bool isSign (char c) noexcept
 
const char * atod (View &view, double &value)
 
char * writeExponent (char *buffer, int k)
 
char * prettify (char *buffer, int length, int k)
 
void grisuRound (char *buffer, int length, uint64_t delta, uint64_t rest, uint64_t ten_kappa, uint64_t wp_w)
 
size_t digitsCount (uint32_t n)
 
void digitsGen (DiyFp W, DiyFp Mp, uint64_t delta, char *buffer, int &length, int &k)
 
int kComputation (int exp, int alpha)
 
void grisu2 (char *buffer, int &length, int &k, double value)
 

Variables

constexpr Power atodpow []
 
constexpr DiyFp dtoapow []
 

Typedef Documentation

◆ LocalePtr

using dconv::details::LocalePtr = std::unique_ptr <std::remove_pointer_t <locale_t>, LocaleDelete>

Function Documentation

◆ atod()

const char * dconv::details::atod ( View & view,
double & value )
inline

◆ digitsCount()

size_t dconv::details::digitsCount ( uint32_t n)
inline

◆ digitsGen()

void dconv::details::digitsGen ( DiyFp W,
DiyFp Mp,
uint64_t delta,
char * buffer,
int & length,
int & k )
inline

◆ grisu2()

void dconv::details::grisu2 ( char * buffer,
int & length,
int & k,
double value )
inline

◆ grisuRound()

void dconv::details::grisuRound ( char * buffer,
int length,
uint64_t delta,
uint64_t rest,
uint64_t ten_kappa,
uint64_t wp_w )
inline

◆ isDigit()

bool dconv::details::isDigit ( char c)
inlineconstexprnoexcept

◆ isSign()

bool dconv::details::isSign ( char c)
inlineconstexprnoexcept

◆ kComputation()

int dconv::details::kComputation ( int exp,
int alpha )
inline

◆ prettify()

char * dconv::details::prettify ( char * buffer,
int length,
int k )
inline

◆ strtodFast()

bool dconv::details::strtodFast ( bool negative,
uint64_t significand,
int64_t exponent,
double & value )
inlinenoexcept

◆ strtodSlow()

const char * dconv::details::strtodSlow ( const char * beg,
double & value )
inline

◆ umul192()

void dconv::details::umul192 ( uint64_t hi,
uint64_t lo,
uint64_t significand,
uint64_t & high,
uint64_t & middle,
uint64_t & low )
inlinenoexcept

◆ writeExponent()

char * dconv::details::writeExponent ( char * buffer,
int k )
inline

Variable Documentation

◆ atodpow

Power dconv::details::atodpow[]
constexpr

◆ dtoapow

DiyFp dconv::details::dtoapow[]
constexpr