cphot 0.1
A C++ tool for computing photometry from spectra.
internal Namespace Reference

Classes

class  BigInteger
 
struct  DiyFp
 
class  Double
 
class  GenericRegex
 Regular expression engine with subset of ECMAscript grammar. More...
 
class  Hasher
 
class  ISchemaStateFactory
 
class  ISchemaValidator
 
struct  IsGenericValue
 
struct  IsGenericValueImpl
 
struct  IsGenericValueImpl< T, typename Void< typename T::EncodingType >::Type, typename Void< typename T::AllocatorType >::Type >
 
class  Schema
 
struct  SchemaValidationContext
 
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...
 
struct  TokenHelper
 
struct  TokenHelper< Stack, char >
 
struct  TypeHelper
 
struct  TypeHelper< ValueType, bool >
 
struct  TypeHelper< ValueType, const typename ValueType::Ch * >
 
struct  TypeHelper< ValueType, double >
 
struct  TypeHelper< ValueType, float >
 
struct  TypeHelper< ValueType, int >
 
struct  TypeHelper< ValueType, int64_t >
 
struct  TypeHelper< ValueType, typename ValueType::Array >
 
struct  TypeHelper< ValueType, typename ValueType::ConstArray >
 
struct  TypeHelper< ValueType, typename ValueType::ConstObject >
 
struct  TypeHelper< ValueType, typename ValueType::Object >
 
struct  TypeHelper< ValueType, uint64_t >
 
struct  TypeHelper< ValueType, unsigned >
 

Typedefs

typedef GenericRegex< UTF8<> > Regex
 

Functions

DiyFp GetCachedPowerByIndex (size_t index)
 
DiyFp GetCachedPower (int e, int *K)
 
DiyFp GetCachedPower10 (int exp, int *outExp)
 
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)
 
char * WriteExponent (int K, char *buffer)
 
char * Prettify (char *buffer, int length, int k, int maxDecimalPlaces)
 
char * dtoa (double value, char *buffer, int maxDecimalPlaces=324)
 
const char * GetDigitsLut ()
 
char * u32toa (uint32_t value, char *buffer)
 
char * i32toa (int32_t value, char *buffer)
 
char * u64toa (uint64_t value, char *buffer)
 
char * i64toa (int64_t value, char *buffer)
 
double Pow10 (int n)
 Computes integer powers of 10 in double (10.0^n). More...
 
template<typename Ch >
SizeType StrLen (const Ch *s)
 Custom strlen() which works on different character types. More...
 
template<typename Encoding >
bool CountStringCodePoint (const typename Encoding::Ch *s, SizeType length, SizeType *outCount)
 Returns number of code points in a encoded string. More...
 
double FastPath (double significand, int exp)
 
double StrtodNormalPrecision (double d, int p)
 
template<typename T >
Min3 (T a, T b, T c)
 
int CheckWithinHalfULP (double b, const BigInteger &d, int dExp)
 
bool StrtodFast (double d, int p, double *result)
 
bool StrtodDiyFp (const char *decimals, size_t length, size_t decimalPosition, int exp, double *result)
 
double StrtodBigInteger (double approx, const char *decimals, size_t length, size_t decimalPosition, int exp)
 
double StrtodFullPrecision (double d, int p, const char *decimals, size_t length, size_t decimalPosition, int exp)
 
template<typename T >
void Swap (T &a, T &b) RAPIDJSON_NOEXCEPT
 Custom swap() to avoid dependency on C++ <algorithm> header. More...
 

Variables

static const SizeType kRegexInvalidState = ~SizeType(0)
 Represents an invalid index in GenericRegex::State::out, out1. More...
 
static const SizeType kRegexInvalidRange = ~SizeType(0)
 

Typedef Documentation

◆ Regex

Definition at line 688 of file regex.h.

Function Documentation

◆ CheckWithinHalfULP()

int internal::CheckWithinHalfULP ( double  b,
const BigInteger d,
int  dExp 
)
inline

Definition at line 54 of file strtod.h.

◆ CountDecimalDigit32()

unsigned internal::CountDecimalDigit32 ( uint32_t  n)
inline

Definition at line 44 of file dtoa.h.

◆ CountStringCodePoint()

template<typename Encoding >
bool internal::CountStringCodePoint ( const typename Encoding::Ch *  s,
SizeType  length,
SizeType outCount 
)

Returns number of code points in a encoded string.

Definition at line 39 of file strfunc.h.

◆ DigitGen()

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

Definition at line 60 of file dtoa.h.

◆ dtoa()

char* internal::dtoa ( double  value,
char *  buffer,
int  maxDecimalPlaces = 324 
)
inline

Definition at line 216 of file dtoa.h.

◆ FastPath()

double internal::FastPath ( double  significand,
int  exp 
)
inline

Definition at line 26 of file strtod.h.

◆ GetCachedPower()

DiyFp internal::GetCachedPower ( int  e,
int *  K 
)
inline

Definition at line 226 of file diyfp.h.

◆ GetCachedPower10()

DiyFp internal::GetCachedPower10 ( int  exp,
int *  outExp 
)
inline

Definition at line 240 of file diyfp.h.

◆ GetCachedPowerByIndex()

DiyFp internal::GetCachedPowerByIndex ( size_t  index)
inline

Definition at line 164 of file diyfp.h.

◆ GetDigitsLut()

const char* internal::GetDigitsLut ( )
inline

Definition at line 23 of file itoa.h.

◆ Grisu2()

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

Definition at line 112 of file dtoa.h.

◆ GrisuRound()

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

closer

Definition at line 35 of file dtoa.h.

◆ i32toa()

char* internal::i32toa ( int32_t  value,
char *  buffer 
)
inline

Definition at line 113 of file itoa.h.

◆ i64toa()

char* internal::i64toa ( int64_t  value,
char *  buffer 
)
inline

Definition at line 291 of file itoa.h.

◆ Min3()

template<typename T >
T internal::Min3 ( a,
b,
c 
)
inline

Definition at line 47 of file strtod.h.

◆ Pow10()

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

Definition at line 28 of file pow10.h.

◆ Prettify()

char* internal::Prettify ( char *  buffer,
int  length,
int  k,
int  maxDecimalPlaces 
)
inline

Definition at line 150 of file dtoa.h.

◆ StrLen()

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.

Definition at line 30 of file strfunc.h.

◆ StrtodBigInteger()

double internal::StrtodBigInteger ( double  approx,
const char *  decimals,
size_t  length,
size_t  decimalPosition,
int  exp 
)
inline

Definition at line 206 of file strtod.h.

◆ StrtodDiyFp()

bool internal::StrtodDiyFp ( const char *  decimals,
size_t  length,
size_t  decimalPosition,
int  exp,
double *  result 
)
inline

Definition at line 129 of file strtod.h.

◆ StrtodFast()

bool internal::StrtodFast ( double  d,
int  p,
double *  result 
)
inline

Definition at line 111 of file strtod.h.

◆ StrtodFullPrecision()

double internal::StrtodFullPrecision ( double  d,
int  p,
const char *  decimals,
size_t  length,
size_t  decimalPosition,
int  exp 
)
inline

Definition at line 224 of file strtod.h.

◆ StrtodNormalPrecision()

double internal::StrtodNormalPrecision ( double  d,
int  p 
)
inline

Definition at line 35 of file strtod.h.

◆ Swap()

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().

Definition at line 33 of file swap.h.

◆ u32toa()

char* internal::u32toa ( uint32_t  value,
char *  buffer 
)
inline

Definition at line 39 of file itoa.h.

◆ u64toa()

char* internal::u64toa ( uint64_t  value,
char *  buffer 
)
inline

Definition at line 123 of file itoa.h.

◆ WriteExponent()

char* internal::WriteExponent ( int  K,
char *  buffer 
)
inline

Definition at line 126 of file dtoa.h.

Variable Documentation

◆ kRegexInvalidRange

const SizeType internal::kRegexInvalidRange = ~SizeType(0)
static

Definition at line 50 of file regex.h.

◆ kRegexInvalidState

const SizeType internal::kRegexInvalidState = ~SizeType(0)
static

Represents an invalid index in GenericRegex::State::out, out1.

Definition at line 49 of file regex.h.