Assimp  v3.1.1 (June 2014)
internal Namespace Reference

Classes

class  BigInteger
 
struct  DiyFp
 
class  Double
 
struct  IsGenericValue
 
struct  IsGenericValueImpl
 
struct  IsGenericValueImpl< T, typename Void< typename T::EncodingType >::Type, typename Void< typename T::AllocatorType >::Type >
 
class  Stack
 A type-unsafe stack for storing different types of data. More...
 
class  StreamLocalCopy
 
class  StreamLocalCopy< Stream, 0 >
 Keep reference. More...
 
class  StreamLocalCopy< Stream, 1 >
 Do copy optimization. More...
 

Functions

int CheckWithinHalfULP (double b, const BigInteger &d, int dExp)
 
unsigned CountDecimalDigit32 (uint32_t n)
 
void DigitGen (const DiyFp &W, const DiyFp &Mp, uint64_t delta, char *buffer, int *len, int *K)
 
char * dtoa (double value, char *buffer)
 
double FastPath (double significand, int exp)
 
DiyFp GetCachedPower (int e, int *K)
 
DiyFp GetCachedPower10 (int exp, int *outExp)
 
DiyFp GetCachedPowerByIndex (size_t index)
 
const char * GetDigitsLut ()
 
void Grisu2 (double value, char *buffer, int *length, int *K)
 
void GrisuRound (char *buffer, int len, uint64_t delta, uint64_t rest, uint64_t ten_kappa, uint64_t wp_w)
 
char * i32toa (int32_t value, char *buffer)
 
char * i64toa (int64_t value, char *buffer)
 
template<typename T >
Min3 (T a, T b, T c)
 
double Pow10 (int n)
 Computes integer powers of 10 in double (10.0^n). More...
 
char * Prettify (char *buffer, int length, int k)
 
template<typename Ch >
SizeType StrLen (const Ch *s)
 Custom strlen() which works on different character types. More...
 
double StrtodBigInteger (double approx, const char *decimals, size_t length, size_t decimalPosition, int exp)
 
bool StrtodDiyFp (const char *decimals, size_t length, size_t decimalPosition, int exp, double *result)
 
bool StrtodFast (double d, int p, double *result)
 
double StrtodFullPrecision (double d, int p, const char *decimals, size_t length, size_t decimalPosition, int exp)
 
double StrtodNormalPrecision (double d, int p)
 
template<typename T >
void Swap (T &a, T &b) RAPIDJSON_NOEXCEPT
 Custom swap() to avoid dependency on C++ <algorithm> header. More...
 
char * u32toa (uint32_t value, char *buffer)
 
char * u64toa (uint64_t value, char *buffer)
 
char * WriteExponent (int K, char *buffer)
 

Function Documentation

int internal::CheckWithinHalfULP ( double  b,
const BigInteger &  d,
int  dExp 
)
inline
unsigned internal::CountDecimalDigit32 ( uint32_t  n)
inline
void internal::DigitGen ( const DiyFp &  W,
const DiyFp &  Mp,
uint64_t  delta,
char *  buffer,
int *  len,
int *  K 
)
inline
char* internal::dtoa ( double  value,
char *  buffer 
)
inline
double internal::FastPath ( double  significand,
int  exp 
)
inline
DiyFp internal::GetCachedPower ( int  e,
int *  K 
)
inline
DiyFp internal::GetCachedPower10 ( int  exp,
int *  outExp 
)
inline
DiyFp internal::GetCachedPowerByIndex ( size_t  index)
inline
const char* internal::GetDigitsLut ( )
inline
void internal::Grisu2 ( double  value,
char *  buffer,
int *  length,
int *  K 
)
inline
void internal::GrisuRound ( char *  buffer,
int  len,
uint64_t  delta,
uint64_t  rest,
uint64_t  ten_kappa,
uint64_t  wp_w 
)
inline

closer

char* internal::i32toa ( int32_t  value,
char *  buffer 
)
inline
char* internal::i64toa ( int64_t  value,
char *  buffer 
)
inline
template<typename T >
T internal::Min3 ( a,
b,
c 
)
inline
double internal::Pow10 ( int  n)
inline

Computes integer powers of 10 in double (10.0^n).

This function uses lookup table for fast and accurate results.

Parameters
nnon-negative exponent. Must <= 308.
Returns
10.0^n
char* internal::Prettify ( char *  buffer,
int  length,
int  k 
)
inline
template<typename Ch >
SizeType internal::StrLen ( const Ch *  s)
inline

Custom strlen() which works on different character types.

Template Parameters
ChCharacter type (e.g. char, wchar_t, short)
Parameters
sNull-terminated input string.
Returns
Number of characters in the string.
Note
This has the same semantics as strlen(), the return value is not number of Unicode codepoints.
double internal::StrtodBigInteger ( double  approx,
const char *  decimals,
size_t  length,
size_t  decimalPosition,
int  exp 
)
inline
bool internal::StrtodDiyFp ( const char *  decimals,
size_t  length,
size_t  decimalPosition,
int  exp,
double *  result 
)
inline
bool internal::StrtodFast ( double  d,
int  p,
double *  result 
)
inline
double internal::StrtodFullPrecision ( double  d,
int  p,
const char *  decimals,
size_t  length,
size_t  decimalPosition,
int  exp 
)
inline
double internal::StrtodNormalPrecision ( double  d,
int  p 
)
inline
template<typename T >
void internal::Swap ( T &  a,
T &  b 
)
inline

Custom swap() to avoid dependency on C++ <algorithm> header.

Template Parameters
TType of the arguments to swap, should be instantiated with primitive C++ types only.
Note
This has the same semantics as std::swap().
char* internal::u32toa ( uint32_t  value,
char *  buffer 
)
inline
char* internal::u64toa ( uint64_t  value,
char *  buffer 
)
inline
char* internal::WriteExponent ( int  K,
char *  buffer 
)
inline