Hermes
hermes::Numbers Struct Reference

Number functions. More...

Public Member Functions

template<>
constexpr HERMES_DEVICE_CALLABLE f64 lowest ()
 Gets lowest representable 64 bit floating point. More...
 
template<>
constexpr HERMES_DEVICE_CALLABLE f32 greatest ()
 Gets greatest 32 bit floating point number. More...
 

Static Public Member Functions

static constexpr HERMES_DEVICE_CALLABLE f64 lowest_f64 ()
 Gets lowest representable 64 bit floating point. More...
 
static constexpr HERMES_DEVICE_CALLABLE f32 lowest_f32 ()
 Gets lowest representable 64 bit floating point. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLElowest ()
 Gets lowest representable floating point. More...
 
static constexpr HERMES_DEVICE_CALLABLE f64 greatest_f32 ()
 Gets greatest representable 32 bit floating point. More...
 
static constexpr HERMES_DEVICE_CALLABLE f64 greatest_f64 ()
 Gets greatest representable 64 bit floating point. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEgreatest ()
 Gets greatest representable floating point. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEmin (const T &a, const T &b)
 Computes minimum between two numbers. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEmax (const T &a, const T &b)
 Computes maximum between two numbers. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEmin (std::initializer_list< T > l)
 Computes minimum value from input. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEmax (std::initializer_list< T > l)
 Computes maximum value from input. More...
 
template<typename T >
static HERMES_DEVICE_CALLABLE u8 countHexDigits (T n)
 Counts hexadecimal digits. More...
 
template<typename T >
static HERMES_DEVICE_CALLABLEclamp (const T &n, const T &l, const T &u)
 Clamps value to closed interval. More...
 
template<typename T >
static HERMES_DEVICE_CALLABLE void swap (T &a, T &b)
 Swaps values. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEsqr (T a)
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEcube (T a)
 Computes square. More...
 
template<typename T >
static HERMES_DEVICE_CALLABLE int sign (T a)
 Computes sign. More...
 
template<typename T >
static constexpr HERMES_DEVICE_CALLABLEsqrt (T a)
 Computes square root. More...
 
template<typename T >
static HERMES_DEVICE_CALLABLEFMA (T a, T b, T c)
 Computes a * b + c. More...
 
template<typename Ta , typename Tb , typename Tc , typename Td >
static HERMES_DEVICE_CALLABLE auto differenceOfProducts (Ta a, Tb b, Tc c, Td d)
 Computes difference of products. More...
 
template<typename T , typename C >
static constexpr HERMES_DEVICE_CALLABLEevaluatePolynomial (T t, C c)
 Solves polynomial. More...
 
template<typename T , typename C , typename... Args>
static constexpr HERMES_DEVICE_CALLABLEevaluatePolynomial (T t, C c, Args... cs)
 Solves polynomial. More...
 
template<typename Predicate >
static HERMES_DEVICE_CALLABLE size_t findInterval (size_t sz, const Predicate &pred)
 Bisect range based on predicate. More...
 
static HERMES_DEVICE_CALLABLE u32 separateBitsBy1 (u32 n)
 Separate bits by 1 bit-space. More...
 
static HERMES_DEVICE_CALLABLE u32 separateBitsBy2 (u32 n)
 Separate bits by 2 bit-spaces. More...
 
static HERMES_DEVICE_CALLABLE u32 interleaveBits (u32 x, u32 y, u32 z)
 Interleaves bits of three integers. More...
 
static HERMES_DEVICE_CALLABLE u32 interleaveBits (u32 x, u32 y)
 Interleaves bits of two integers. More...
 
static HERMES_DEVICE_CALLABLE int floatExponent (f32 v)
 Extracts exponent from floating-point number. More...
 
static HERMES_DEVICE_CALLABLE int floatSignificand (f32 v)
 Extracts significand bits. More...
 
static HERMES_DEVICE_CALLABLE uint32_t floatSignBit (f32 v)
 Extracts sign bit. More...
 
static HERMES_DEVICE_CALLABLE uint32_t floatToBits (f32 f)
 Interprets a floating-point value into a integer type. More...
 
static HERMES_DEVICE_CALLABLE f32 bitsToFloat (uint32_t ui)
 Fills a f32 variable data. More...
 
static HERMES_DEVICE_CALLABLE uint64_t floatToBits (f64 d)
 Interprets a f64-point value into a integer type. More...
 
static HERMES_DEVICE_CALLABLE f64 bitsToDouble (uint64_t ui)
 Fills a f64 variable data. More...
 
static HERMES_DEVICE_CALLABLE f32 nextFloatUp (f32 v)
 Computes the next greater representable floating-point value. More...
 
static HERMES_DEVICE_CALLABLE f32 nextFloatDown (f32 v)
 Computes the next smaller representable floating-point value. More...
 
static HERMES_DEVICE_CALLABLE f64 nextDoubleUp (f64 v)
 Computes the next greater representable floating-point value. More...
 
static HERMES_DEVICE_CALLABLE f64 nextDoubleDown (f64 v)
 Computes the next smaller representable floating-point value. More...
 
static constexpr HERMES_DEVICE_CALLABLE int lowest_int ()
 Gets minimum representable 32 bit signed integer. More...
 
static constexpr HERMES_DEVICE_CALLABLE int greatest_int ()
 Gets maximum representable 32 bit signed integer. More...
 
static constexpr HERMES_DEVICE_CALLABLE bool isPowerOf2 (int v)
 Checks if integer is power of 2. More...
 
static HERMES_DEVICE_CALLABLE int mod (int a, int b)
 Computes modulus. More...
 
static HERMES_DEVICE_CALLABLE int ceil2Int (float f)
 rounds up More...
 
static HERMES_DEVICE_CALLABLE int floor2Int (float f)
 rounds down More...
 
static HERMES_DEVICE_CALLABLE int round2Int (float f)
 rounds to closest integer More...
 
static HERMES_DEVICE_CALLABLE u8 countDigits (u64 t, u8 base=10)
 Computes number of digits. More...
 
static HERMES_DEVICE_CALLABLE real_t fract (real_t x)
 Extract decimal fraction from x. More...
 
static HERMES_DEVICE_CALLABLE real_t mulRoundDown (real_t a, real_t b)
 Multiplies and rounds down to the next smaller float value. More...
 
static HERMES_DEVICE_CALLABLE real_t mulRoundUp (real_t a, real_t b)
 Multiplies and rounds up to the next float value. More...
 
static HERMES_DEVICE_CALLABLE real_t divRoundDown (real_t a, real_t b)
 Divides and rounds down to the next smaller float value. More...
 
static HERMES_DEVICE_CALLABLE real_t divRoundUp (real_t a, real_t b)
 Divides and rounds up to the next float value. More...
 
static HERMES_DEVICE_CALLABLE real_t addRoundDown (real_t a, real_t b)
 Adds and rounds down to the next smaller float value. More...
 
static HERMES_DEVICE_CALLABLE real_t addRoundUp (real_t a, real_t b)
 Adds and rounds up to the next float value. More...
 
static HERMES_DEVICE_CALLABLE real_t subRoundDown (real_t a, real_t b)
 Subtracts and rounds down to the next smaller float value. More...
 
static HERMES_DEVICE_CALLABLE real_t subRoundUp (real_t a, real_t b)
 Subtracts and rounds up to the next float value. More...
 
static HERMES_DEVICE_CALLABLE real_t sqrtRoundDown (real_t a)
 Computes square root rounded down to the next smaller float value. More...
 
static HERMES_DEVICE_CALLABLE real_t sqrtRoundUp (real_t a)
 Computes square root rounded up to the next float value. More...
 
static HERMES_DEVICE_CALLABLE f32 log2 (f32 x)
 Computes base 2 log. More...
 
static HERMES_DEVICE_CALLABLE f32 safe_sqrt (f32 x)
 Computes square root with clamped input. More...
 
template<int n>
static constexpr HERMES_DEVICE_CALLABLE real_t pow (real_t b)
 Computes b to the power of n. More...
 
static HERMES_DEVICE_CALLABLE real_t fastExp (real_t x)
 Computes fast exponential. More...
 
static constexpr HERMES_DEVICE_CALLABLE real_t gamma (i32 n)
 Computes conservative bounds in error. More...
 
template<>
constexpr HERMES_DEVICE_CALLABLE float pow (float v)
 Computes v to the power of 1. More...
 
template<>
constexpr HERMES_DEVICE_CALLABLE float pow (float v)
 Computes v to the power of 0. More...
 

Detailed Description

Number functions.

Member Function Documentation

◆ addRoundDown()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::addRoundDown ( real_t  a,
real_t  b 
)
inlinestatic

Adds and rounds down to the next smaller float value.

Parameters
a
b
Returns

◆ addRoundUp()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::addRoundUp ( real_t  a,
real_t  b 
)
inlinestatic

Adds and rounds up to the next float value.

Parameters
a
b
Returns

◆ bitsToDouble()

static HERMES_DEVICE_CALLABLE f64 hermes::Numbers::bitsToDouble ( uint64_t  ui)
inlinestatic

Fills a f64 variable data.

Parameters
uibits
Returns
a f64 built from bits of ui

◆ bitsToFloat()

static HERMES_DEVICE_CALLABLE f32 hermes::Numbers::bitsToFloat ( uint32_t  ui)
inlinestatic

Fills a f32 variable data.

Parameters
uibits
Returns
a f32 built from bits of ui

◆ ceil2Int()

static HERMES_DEVICE_CALLABLE int hermes::Numbers::ceil2Int ( float  f)
inlinestatic

rounds up

Parameters
f[in]
Returns
ceil of f

◆ clamp()

template<typename T >
static HERMES_DEVICE_CALLABLE T hermes::Numbers::clamp ( const T &  n,
const T &  l,
const T &  u 
)
inlinestatic

Clamps value to closed interval.

Parameters
n[in] value
l[in] low
u[in] high
Returns
clamp b to be in [l, h]

◆ countDigits()

static HERMES_DEVICE_CALLABLE u8 hermes::Numbers::countDigits ( u64  t,
u8  base = 10 
)
inlinestatic

Computes number of digits.

Parameters
t
base
Returns

◆ countHexDigits()

template<typename T >
static HERMES_DEVICE_CALLABLE u8 hermes::Numbers::countHexDigits ( n)
inlinestatic

Counts hexadecimal digits.

Template Parameters
T
Parameters
n
Returns

◆ cube()

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::cube ( a)
inlinestaticconstexpr

Computes square.

Template Parameters
T
Parameters
a
Returns

◆ differenceOfProducts()

template<typename Ta , typename Tb , typename Tc , typename Td >
static HERMES_DEVICE_CALLABLE auto hermes::Numbers::differenceOfProducts ( Ta  a,
Tb  b,
Tc  c,
Td  d 
)
inlinestatic

Computes difference of products.

Template Parameters
Ta
Tb
Tc
Td
Parameters
a
b
c
d
Returns

◆ divRoundDown()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::divRoundDown ( real_t  a,
real_t  b 
)
inlinestatic

Divides and rounds down to the next smaller float value.

Parameters
a
b
Returns

◆ divRoundUp()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::divRoundUp ( real_t  a,
real_t  b 
)
inlinestatic

Divides and rounds up to the next float value.

Parameters
a
b
Returns

◆ evaluatePolynomial() [1/2]

template<typename T , typename C >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::evaluatePolynomial ( t,
c 
)
inlinestaticconstexpr

Solves polynomial.

Template Parameters
T
C
Parameters
t
c
Returns

◆ evaluatePolynomial() [2/2]

template<typename T , typename C , typename... Args>
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::evaluatePolynomial ( t,
c,
Args...  cs 
)
inlinestaticconstexpr

Solves polynomial.

Template Parameters
T
C
Args
Parameters
t
c
cs
Returns

◆ fastExp()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::fastExp ( real_t  x)
inlinestatic

Computes fast exponential.

Parameters
x
Returns

◆ findInterval()

template<typename Predicate >
static HERMES_DEVICE_CALLABLE size_t hermes::Numbers::findInterval ( size_t  sz,
const Predicate &  pred 
)
inlinestatic

Bisect range based on predicate.

Template Parameters
Predicate
Parameters
sz
pred
Returns

◆ floatExponent()

static HERMES_DEVICE_CALLABLE int hermes::Numbers::floatExponent ( f32  v)
inlinestatic

Extracts exponent from floating-point number.

Parameters
v
Returns

◆ floatSignBit()

static HERMES_DEVICE_CALLABLE uint32_t hermes::Numbers::floatSignBit ( f32  v)
inlinestatic

Extracts sign bit.

Parameters
v
Returns

◆ floatSignificand()

static HERMES_DEVICE_CALLABLE int hermes::Numbers::floatSignificand ( f32  v)
inlinestatic

Extracts significand bits.

Parameters
v
Returns

◆ floatToBits() [1/2]

static HERMES_DEVICE_CALLABLE uint32_t hermes::Numbers::floatToBits ( f32  f)
inlinestatic

Interprets a floating-point value into a integer type.

Parameters
ff32 value
Returns
a 32 bit unsigned integer containing the bits of f

◆ floatToBits() [2/2]

static HERMES_DEVICE_CALLABLE uint64_t hermes::Numbers::floatToBits ( f64  d)
inlinestatic

Interprets a f64-point value into a integer type.

Parameters
df64 value
Returns
a 64 bit unsigned integer containing the bits of f

◆ floor2Int()

static HERMES_DEVICE_CALLABLE int hermes::Numbers::floor2Int ( float  f)
inlinestatic

rounds down

Parameters
f[in]
Returns
floor of f

◆ FMA()

template<typename T >
static HERMES_DEVICE_CALLABLE T hermes::Numbers::FMA ( a,
b,
c 
)
inlinestatic

Computes a * b + c.

Template Parameters
T
Parameters
a
b
c
Returns

◆ fract()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::fract ( real_t  x)
inlinestatic

Extract decimal fraction from x.

Parameters
x
Returns

◆ gamma()

static constexpr HERMES_DEVICE_CALLABLE real_t hermes::Numbers::gamma ( i32  n)
inlinestaticconstexpr

Computes conservative bounds in error.

Parameters
n
Returns

◆ greatest() [1/2]

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::greatest ( )
inlinestaticconstexpr

Gets greatest representable floating point.

Template Parameters
T
Returns

◆ greatest() [2/2]

template<>
constexpr HERMES_DEVICE_CALLABLE f64 hermes::Numbers::greatest ( )
inlineconstexpr

Gets greatest 32 bit floating point number.

Gets greatest 64 bit floating point number.

Returns

◆ greatest_f32()

static constexpr HERMES_DEVICE_CALLABLE f64 hermes::Numbers::greatest_f32 ( )
inlinestaticconstexpr

Gets greatest representable 32 bit floating point.

Returns

◆ greatest_f64()

static constexpr HERMES_DEVICE_CALLABLE f64 hermes::Numbers::greatest_f64 ( )
inlinestaticconstexpr

Gets greatest representable 64 bit floating point.

Returns

◆ greatest_int()

static constexpr HERMES_DEVICE_CALLABLE int hermes::Numbers::greatest_int ( )
inlinestaticconstexpr

Gets maximum representable 32 bit signed integer.

Returns

◆ interleaveBits() [1/2]

static HERMES_DEVICE_CALLABLE u32 hermes::Numbers::interleaveBits ( u32  x,
u32  y 
)
inlinestatic

Interleaves bits of two integers.

Parameters
x
y
Returns

◆ interleaveBits() [2/2]

static HERMES_DEVICE_CALLABLE u32 hermes::Numbers::interleaveBits ( u32  x,
u32  y,
u32  z 
)
inlinestatic

Interleaves bits of three integers.

Parameters
x
y
z
Returns

◆ isPowerOf2()

static constexpr HERMES_DEVICE_CALLABLE bool hermes::Numbers::isPowerOf2 ( int  v)
inlinestaticconstexpr

Checks if integer is power of 2.

Parameters
v[in] value
Returns
true if v is power of 2

◆ log2()

static HERMES_DEVICE_CALLABLE f32 hermes::Numbers::log2 ( f32  x)
inlinestatic

Computes base 2 log.

Parameters
x[in] value
Returns
base-2 logarithm of x

◆ lowest() [1/2]

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::lowest ( )
inlinestaticconstexpr

Gets lowest representable floating point.

Template Parameters
T
Returns

◆ lowest() [2/2]

template<>
constexpr HERMES_DEVICE_CALLABLE f32 hermes::Numbers::lowest ( )
inlineconstexpr

Gets lowest representable 64 bit floating point.

Gets lowest representable 32 bit floating point.

Returns

◆ lowest_f32()

static constexpr HERMES_DEVICE_CALLABLE f32 hermes::Numbers::lowest_f32 ( )
inlinestaticconstexpr

Gets lowest representable 64 bit floating point.

Template Parameters
T
Returns

◆ lowest_f64()

static constexpr HERMES_DEVICE_CALLABLE f64 hermes::Numbers::lowest_f64 ( )
inlinestaticconstexpr

Gets lowest representable 64 bit floating point.

Template Parameters
T
Returns

◆ lowest_int()

static constexpr HERMES_DEVICE_CALLABLE int hermes::Numbers::lowest_int ( )
inlinestaticconstexpr

Gets minimum representable 32 bit signed integer.

Returns

◆ max() [1/2]

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::max ( const T &  a,
const T &  b 
)
inlinestaticconstexpr

Computes maximum between two numbers.

Template Parameters
T
Parameters
a
b
Returns

◆ max() [2/2]

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::max ( std::initializer_list< T >  l)
inlinestaticconstexpr

Computes maximum value from input.

Template Parameters
T
Parameters
l
Returns

◆ min() [1/2]

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::min ( const T &  a,
const T &  b 
)
inlinestaticconstexpr

Computes minimum between two numbers.

Template Parameters
T
Parameters
a
b
Returns

◆ min() [2/2]

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::min ( std::initializer_list< T >  l)
inlinestaticconstexpr

Computes minimum value from input.

Template Parameters
T
Parameters
l
Returns

◆ mod()

static HERMES_DEVICE_CALLABLE int hermes::Numbers::mod ( int  a,
int  b 
)
inlinestatic

Computes modulus.

Parameters
a[in]
b[in]
Returns
the remainder of a / b

◆ mulRoundDown()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::mulRoundDown ( real_t  a,
real_t  b 
)
inlinestatic

Multiplies and rounds down to the next smaller float value.

Parameters
a
b
Returns

◆ mulRoundUp()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::mulRoundUp ( real_t  a,
real_t  b 
)
inlinestatic

Multiplies and rounds up to the next float value.

Parameters
a
b
Returns

◆ nextDoubleDown()

static HERMES_DEVICE_CALLABLE f64 hermes::Numbers::nextDoubleDown ( f64  v)
inlinestatic

Computes the next smaller representable floating-point value.

Parameters
vfloating point value
Returns
the next smaller floating point value

◆ nextDoubleUp()

static HERMES_DEVICE_CALLABLE f64 hermes::Numbers::nextDoubleUp ( f64  v)
inlinestatic

Computes the next greater representable floating-point value.

Parameters
vfloating point value
Returns
the next greater floating point value

◆ nextFloatDown()

static HERMES_DEVICE_CALLABLE f32 hermes::Numbers::nextFloatDown ( f32  v)
inlinestatic

Computes the next smaller representable floating-point value.

Parameters
vfloating point value
Returns
the next smaller floating point value

◆ nextFloatUp()

static HERMES_DEVICE_CALLABLE f32 hermes::Numbers::nextFloatUp ( f32  v)
inlinestatic

Computes the next greater representable floating-point value.

Parameters
vfloating point value
Returns
the next greater floating point value

◆ pow() [1/3]

template<>
constexpr HERMES_DEVICE_CALLABLE float hermes::Numbers::pow ( float  v)
inlinestaticconstexpr

Computes v to the power of 1.

Parameters
v
Returns

◆ pow() [2/3]

template<>
constexpr HERMES_DEVICE_CALLABLE float hermes::Numbers::pow ( float  v)
inlinestaticconstexpr

Computes v to the power of 0.

Parameters
v
Returns

◆ pow() [3/3]

template<int n>
static constexpr HERMES_DEVICE_CALLABLE real_t hermes::Numbers::pow ( real_t  b)
inlinestaticconstexpr

Computes b to the power of n.

Template Parameters
n
Parameters
b
Returns

◆ round2Int()

static HERMES_DEVICE_CALLABLE int hermes::Numbers::round2Int ( float  f)
inlinestatic

rounds to closest integer

Parameters
f[in]
Returns
next integer greater or equal to f

◆ safe_sqrt()

static HERMES_DEVICE_CALLABLE f32 hermes::Numbers::safe_sqrt ( f32  x)
inlinestatic

Computes square root with clamped input.

Parameters
x
Returns

◆ separateBitsBy1()

static HERMES_DEVICE_CALLABLE u32 hermes::Numbers::separateBitsBy1 ( u32  n)
inlinestatic

Separate bits by 1 bit-space.

Parameters
n
Returns

◆ separateBitsBy2()

static HERMES_DEVICE_CALLABLE u32 hermes::Numbers::separateBitsBy2 ( u32  n)
inlinestatic

Separate bits by 2 bit-spaces.

Parameters
n
Returns

◆ sign()

template<typename T >
static HERMES_DEVICE_CALLABLE int hermes::Numbers::sign ( a)
inlinestatic

Computes sign.

Template Parameters
T
Parameters
a
Returns

◆ sqr()

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::sqr ( a)
inlinestaticconstexpr
Template Parameters
T
Parameters
a
Returns

◆ sqrt()

template<typename T >
static constexpr HERMES_DEVICE_CALLABLE T hermes::Numbers::sqrt ( a)
inlinestaticconstexpr

Computes square root.

Template Parameters
T
Parameters
a
Returns

◆ sqrtRoundDown()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::sqrtRoundDown ( real_t  a)
inlinestatic

Computes square root rounded down to the next smaller float value.

Parameters
a
Returns

◆ sqrtRoundUp()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::sqrtRoundUp ( real_t  a)
inlinestatic

Computes square root rounded up to the next float value.

Parameters
a
Returns

◆ subRoundDown()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::subRoundDown ( real_t  a,
real_t  b 
)
inlinestatic

Subtracts and rounds down to the next smaller float value.

Parameters
a
b
Returns

◆ subRoundUp()

static HERMES_DEVICE_CALLABLE real_t hermes::Numbers::subRoundUp ( real_t  a,
real_t  b 
)
inlinestatic

Subtracts and rounds up to the next float value.

Parameters
a
b
Returns

◆ swap()

template<typename T >
static HERMES_DEVICE_CALLABLE void hermes::Numbers::swap ( T &  a,
T &  b 
)
inlinestatic

Swaps values.

Template Parameters
T
Parameters
a
b

The documentation for this struct was generated from the following file: