OpenLexocad  27.1
dtoa.h File Reference
#include <assert.h>
#include <math.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  DiyFp
 

Macros

#define UINT64_C2(h, l)   ((static_cast<uint64_t>(h) << 32) | static_cast<uint64_t>(l))
 

Functions

DiyFp GetCachedPower (int e, int *K)
 
void GrisuRound (char *buffer, int len, uint64_t delta, uint64_t rest, uint64_t ten_kappa, uint64_t wp_w)
 
unsigned CountDecimalDigit32 (uint32_t n)
 
void DigitGen (const DiyFp &W, const DiyFp &Mp, uint64_t delta, char *buffer, int *len, int *K)
 
void Grisu2 (double value, char *buffer, int *length, int *K)
 
const char * GetDigitsLut ()
 
void WriteExponent (int K, char *buffer)
 
void Prettify (char *buffer, int length, int k)
 
void dtoa_milo (double value, char *buffer)
 

Macro Definition Documentation

◆ UINT64_C2

#define UINT64_C2 (   h,
 
)    ((static_cast<uint64_t>(h) << 32) | static_cast<uint64_t>(l))

Function Documentation

◆ CountDecimalDigit32()

unsigned CountDecimalDigit32 ( uint32_t  n)
inline

◆ DigitGen()

void DigitGen ( const DiyFp W,
const DiyFp Mp,
uint64_t  delta,
char *  buffer,
int *  len,
int *  K 
)
inline

◆ dtoa_milo()

void dtoa_milo ( double  value,
char *  buffer 
)
inline

◆ GetCachedPower()

DiyFp GetCachedPower ( int  e,
int *  K 
)
inline

◆ GetDigitsLut()

const char* GetDigitsLut ( )
inline

◆ Grisu2()

void Grisu2 ( double  value,
char *  buffer,
int *  length,
int *  K 
)
inline

◆ GrisuRound()

void GrisuRound ( char *  buffer,
int  len,
uint64_t  delta,
uint64_t  rest,
uint64_t  ten_kappa,
uint64_t  wp_w 
)
inline

closer

◆ Prettify()

void Prettify ( char *  buffer,
int  length,
int  k 
)
inline

◆ WriteExponent()

void WriteExponent ( int  K,
char *  buffer 
)
inline