Bond 0.9
Bond Standard Library API Documentation
Loading...
Searching...
No Matches
math.bond

A collection of functions and constants for performing math operations. More...

Functions

double Bond::SinD (double x)
 Returns the sine of an angle in radians.
float Bond::SinF (float x)
 Returns the sine of an angle in radians.
double Bond::CosD (double x)
 Returns the cosine of an angle in radians.
float Bond::CosF (float x)
 Returns the cosine of an angle in radians.
double Bond::TanD (double x)
 Returns the tangent of an angle in radians.
float Bond::TanF (float x)
 Returns the tangent of an angle in radians.
double Bond::AsinD (double x)
 Returns the arcsine in radians of a value.
float Bond::AsinF (float x)
 Returns the arcsine in radians of a value.
double Bond::AcosD (double x)
 Returns the arccosine in radians of a value.
float Bond::AcosF (float x)
 Returns the arccosine in radians of a value.
double Bond::AtanD (double x)
 Returns the arctangent in radians of a value, in the range [-pi/2, +pi/2].
float Bond::AtanF (float x)
 Returns the arctangent in radians of a value, in the range [-pi/2, +pi/2].
double Bond::Atan2D (double y, double x)
 Returns the arctangent in radians of y/x, in the range [-pi, +pi], using the signs of both arguments to determine the quadrant.
float Bond::Atan2F (float y, float x)
 Returns the arctangent in radians of y/x, in the range [-pi, +pi], using the signs of both arguments to determine the quadrant.
double Bond::SinhD (double x)
 Returns the hyperbolic sine of a hyperbolic angle.
float Bond::SinhF (float x)
 Returns the hyperbolic sine of a hyperbolic angle.
double Bond::CoshD (double x)
 Returns the hyperbolic cosine of a hyperbolic angle.
float Bond::CoshF (float x)
 Returns the hyperbolic cosine of a hyperbolic angle.
double Bond::TanhD (double x)
 Returns the hyperbolic tangent of a hyperbolic angle.
float Bond::TanhF (float x)
 Returns the hyperbolic tangent of a hyperbolic angle.
double Bond::AsinhD (double x)
 Returns the inverse hyperbolic sine of a value.
float Bond::AsinhF (float x)
 Returns the inverse hyperbolic sine of a value.
double Bond::AcoshD (double x)
 Returns the inverse hyperbolic cosine of a value.
float Bond::AcoshF (float x)
 Returns the inverse hyperbolic cosine of a value.
double Bond::AtanhD (double x)
 Returns the inverse hyperbolic tangent of a value.
float Bond::AtanhF (float x)
 Returns the inverse hyperbolic tangent of a value.
double Bond::ExpD (double x)
 Returns e raised to an exponent.
float Bond::ExpF (float x)
 Returns e raised to an exponent.
double Bond::Exp2D (double x)
 Returns 2 raised to an exponent.
float Bond::Exp2F (float x)
 Returns 2 raised to an exponent.
double Bond::LogD (double x)
 Returns the natural logarithm of a value.
float Bond::LogF (float x)
 Returns the natural logarithm of a value.
double Bond::Log2D (double x)
 Returns the base-2 logarithm of a value.
float Bond::Log2F (float x)
 Returns the base-2 logarithm of a value.
double Bond::Log10D (double x)
 Returns the base-10 logarithm of a value.
float Bond::Log10F (float x)
 Returns the base-10 logarithm of a value.
double Bond::PowD (double base, double exponent)
 Returns a base value raised to an exponent.
float Bond::PowF (float base, float exponent)
 Returns a base value raised to an exponent.
double Bond::SqrtD (double x)
 Returns the square root of a value.
float Bond::SqrtF (float x)
 Returns the square root of a value.
double Bond::CbrtD (double x)
 Returns the cube root of a value.
float Bond::CbrtF (float x)
 Returns the cube root of a value.
double Bond::HypotD (double x, double y)
 Returns the hypotenuse of a right-angled triangle with sides of the given lengths.
float Bond::HypotF (float x, float y)
 Returns the hypotenuse of a right-angled triangle with sides of the given lengths.
double Bond::CeilD (double x)
 Returns a value rounded upward.
float Bond::CeilF (float x)
 Returns a value rounded upward.
double Bond::FloorD (double x)
 Returns a value rounded downward.
float Bond::FloorF (float x)
 Returns a value rounded downward.
double Bond::TruncD (double x)
 Returns a value rounded toward zero.
float Bond::TruncF (float x)
 Returns a value rounded toward zero.
char Bond::AbsC (char x)
 Returns the absolute value of a signed 8-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.
short Bond::AbsS (short x)
 Returns the absolute value of a signed 16-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.
int Bond::AbsI (int x)
 Returns the absolute value of a signed 32-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.
long Bond::AbsL (long x)
 Returns the absolute value of a signed 64-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.
double Bond::AbsD (double x)
 Returns the absolute value of a value.
float Bond::AbsF (float x)
 Returns the absolute value of a value.
double Bond::LdexpD (double x, int exp)
 Returns a value multiplied by 2 raised to an exponent.
float Bond::LdexpF (float x, int exp)
 Returns a value multiplied by 2 raised to an exponent.
double Bond::FrexpD (double x, int *exp)
 Decomposes a value into a fraction and an integral power of two.
float Bond::FrexpF (float x, int *exp)
 Decomposes a value into a fraction and an integral power of two.
double Bond::ModfD (double x, double *ip)
 Decomposes a value into its integral and fractional parts.
float Bond::ModfF (float x, float *ip)
 Decomposes a value into its integral and fractional parts.
double Bond::FmodD (double x, double y)
 Returns the remainder of x/y, where the quotient is rounded toward zero. The result has the same sign as x.
float Bond::FmodF (float x, float y)
 Returns the remainder of x/y, where the quotient is rounded toward zero. The result has the same sign as x.
double Bond::CopySignD (double x, double y)
 Returns a value with the magnitude of one and the sign of another.
float Bond::CopySignF (float x, float y)
 Returns a value with the magnitude of one and the sign of another.
double Bond::NaND ()
 Returns a value representing Not-a-Number.
float Bond::NaNF ()
 Returns a value representing Not-a-Number.
bool Bond::IsNaND (double x)
 Returns whether a value is Not-a-Number.
bool Bond::IsNaNF (float x)
 Returns whether a value is Not-a-Number.
bool Bond::IsInfD (double x)
 Returns whether a value is positive or negative infinity.
bool Bond::IsInfF (float x)
 Returns whether a value is positive or negative infinity.
bool Bond::IsFiniteD (double x)
 Returns whether a value is neither infinite nor Not-a-Number.
bool Bond::IsFiniteF (float x)
 Returns whether a value is neither infinite nor Not-a-Number.
bool Bond::SignBitD (double x)
 Returns whether the sign bit of a value is set.
bool Bond::SignBitF (float x)
 Returns whether the sign bit of a value is set.
double Bond::RoundD (double x)
 Returns a value rounded to the nearest integer, with halfway cases rounded away from zero.
float Bond::RoundF (float x)
 Returns a value rounded to the nearest integer, with halfway cases rounded away from zero.
double Bond::RintD (double x)
 Returns a value rounded to the nearest integer using the current rounding mode.
float Bond::RintF (float x)
 Returns a value rounded to the nearest integer using the current rounding mode.
double Bond::NearbyintD (double x)
 Returns a value rounded to the nearest integer using the current rounding mode without raising the inexact exception.
float Bond::NearbyintF (float x)
 Returns a value rounded to the nearest integer using the current rounding mode without raising the inexact exception.
double Bond::RemainderD (double x, double y)
 Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even.
float Bond::RemainderF (float x, float y)
 Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even.
long Bond::LroundD (double x)
 Returns a value rounded to the nearest long integer, with halfway cases rounded away from zero.
long Bond::LroundF (float x)
 Returns a value rounded to the nearest long integer, with halfway cases rounded away from zero.
double Bond::Log1pD (double x)
 Returns the natural logarithm of one plus a value.
float Bond::Log1pF (float x)
 Returns the natural logarithm of one plus a value.
double Bond::Expm1D (double x)
 Returns e raised to an exponent minus one.
float Bond::Expm1F (float x)
 Returns e raised to an exponent minus one.
double Bond::ErfD (double x)
 Returns the error function of a value.
float Bond::ErfF (float x)
 Returns the error function of a value.
double Bond::ErfcD (double x)
 Returns the complementary error function of a value.
float Bond::ErfcF (float x)
 Returns the complementary error function of a value.
double Bond::TgammaD (double x)
 Returns the gamma function of a value.
float Bond::TgammaF (float x)
 Returns the gamma function of a value.
double Bond::LgammaD (double x)
 Returns the natural logarithm of the absolute value of the gamma function of a value.
float Bond::LgammaF (float x)
 Returns the natural logarithm of the absolute value of the gamma function of a value.
double Bond::FmaD (double x, double y, double z)
 Returns x * y + z computed with a single rounding.
float Bond::FmaF (float x, float y, float z)
 Returns x * y + z computed with a single rounding.
double Bond::NextafterD (double x, double y)
 Returns the next representable value after x in the direction of y.
float Bond::NextafterF (float x, float y)
 Returns the next representable value after x in the direction of y.
double Bond::ScalbnD (double x, int n)
 Returns a value multiplied by 2 raised to an integral exponent.
float Bond::ScalbnF (float x, int n)
 Returns a value multiplied by 2 raised to an integral exponent.
int Bond::IlogbD (double x)
 Returns the unbiased exponent of a value as an integer.
int Bond::IlogbF (float x)
 Returns the unbiased exponent of a value as an integer.
double Bond::LogbD (double x)
 Returns the unbiased exponent of a value as a floating-point number.
float Bond::LogbF (float x)
 Returns the unbiased exponent of a value as a floating-point number.
double Bond::RemquoD (double x, double y, int *quo)
 Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even, and stores the sign and low bits of the quotient.
float Bond::RemquoF (float x, float y, int *quo)
 Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even, and stores the sign and low bits of the quotient.
double Bond::InfD ()
 Returns a representation of positive infinity.
float Bond::InfF ()
 Returns a representation of positive infinity.
char Bond::MinC (char x, char y)
 Returns the smaller of two values.
uchar Bond::MinUC (uchar x, uchar y)
 Returns the smaller of two values.
short Bond::MinS (short x, short y)
 Returns the smaller of two values.
ushort Bond::MinUS (ushort x, ushort y)
 Returns the smaller of two values.
int Bond::MinI (int x, int y)
 Returns the smaller of two values.
uint Bond::MinUI (uint x, uint y)
 Returns the smaller of two values.
long Bond::MinL (long x, long y)
 Returns the smaller of two values.
ulong Bond::MinUL (ulong x, ulong y)
 Returns the smaller of two values.
double Bond::MinD (double x, double y)
 Returns the smaller of two values. If either value is Not-a-Number, the other value is returned.
float Bond::MinF (float x, float y)
 Returns the smaller of two values. If either value is Not-a-Number, the other value is returned.
char Bond::MaxC (char x, char y)
 Returns the larger of two values.
uchar Bond::MaxUC (uchar x, uchar y)
 Returns the larger of two values.
short Bond::MaxS (short x, short y)
 Returns the larger of two values.
ushort Bond::MaxUS (ushort x, ushort y)
 Returns the larger of two values.
int Bond::MaxI (int x, int y)
 Returns the larger of two values.
uint Bond::MaxUI (uint x, uint y)
 Returns the larger of two values.
long Bond::MaxL (long x, long y)
 Returns the larger of two values.
ulong Bond::MaxUL (ulong x, ulong y)
 Returns the larger of two values.
double Bond::MaxD (double x, double y)
 Returns the larger of two values. If either value is Not-a-Number, the other value is returned.
float Bond::MaxF (float x, float y)
 Returns the larger of two values. If either value is Not-a-Number, the other value is returned.
char Bond::ClampC (char value, char low, char high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
uchar Bond::ClampUC (uchar value, uchar low, uchar high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
short Bond::ClampS (short value, short low, short high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
ushort Bond::ClampUS (ushort value, ushort low, ushort high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
int Bond::ClampI (int value, int low, int high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
uint Bond::ClampUI (uint value, uint low, uint high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
long Bond::ClampL (long value, long low, long high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
ulong Bond::ClampUL (ulong value, ulong low, ulong high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
double Bond::ClampD (double value, double low, double high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.
float Bond::ClampF (float value, float low, float high)
 Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Variables

const double Bond::PI_D = 3.14159265358979323846
 The value of pi as a double.
const float Bond::PI_F = cast<float>(PI_D)
 The value of pi as a float.
const double Bond::HALF_PI_D = PI_D / 2.0
 The value of pi/2 as a double.
const float Bond::HALF_PI_F = cast<float>(HALF_PI_D)
 The value of pi/2 as a float.
const double Bond::TWO_PI_D = PI_D * 2.0
 The value of 2pi as a double.
const float Bond::TWO_PI_F = cast<float>(TWO_PI_D)
 The value of 2pi as a float.
const double Bond::E_D = 2.71828182845904523536
 The value of e as a double.
const float Bond::E_F = cast<float>(E_D)
 The value of e as a float.
const double Bond::LN2_D = 0.69314718055994530942
 The natural logarithm of 2 as a double.
const float Bond::LN2_F = cast<float>(LN2_D)
 The natural logarithm of 2 as a float.
const double Bond::LN10_D = 2.30258509299404568402
 The natural logarithm of 10 as a double.
const float Bond::LN10_F = cast<float>(LN10_D)
 The natural logarithm of 10 as a float.
const double Bond::LOG2E_D = 1.44269504088896340736
 The base-2 logarithm of e as a double.
const float Bond::LOG2E_F = cast<float>(LOG2E_D)
 The base-2 logarithm of e as a float.
const double Bond::LOG10E_D = 0.43429448190325182765
 The base-10 logarithm of e as a double.
const float Bond::LOG10E_F = cast<float>(LOG10E_D)
 The base-10 logarithm of e as a float.
const double Bond::SQRT2_D = 1.41421356237309504880
 The square root of 2 as a double.
const float Bond::SQRT2_F = cast<float>(SQRT2_D)
 The square root of 2 as a float.
const double Bond::SQRT1_2_D = 0.70710678118654752440
 The square root of 1/2 as a double.
const float Bond::SQRT1_2_F = cast<float>(SQRT1_2_D)
 The square root of 1/2 as a float.

Detailed Description

A collection of functions and constants for performing math operations.

include "math.bond";

Function Documentation

◆ AbsC()

char Bond::AbsC ( char x)

Returns the absolute value of a signed 8-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.

Parameters
xThe value whose absolute value is calculated.

◆ AbsD()

double Bond::AbsD ( double x)

Returns the absolute value of a value.

Parameters
xThe value whose absolute value is calculated.

◆ AbsF()

float Bond::AbsF ( float x)

Returns the absolute value of a value.

Parameters
xThe value whose absolute value is calculated.

◆ AbsI()

int Bond::AbsI ( int x)

Returns the absolute value of a signed 32-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.

Parameters
xThe value whose absolute value is calculated.

◆ AbsL()

long Bond::AbsL ( long x)

Returns the absolute value of a signed 64-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.

Parameters
xThe value whose absolute value is calculated.

◆ AbsS()

short Bond::AbsS ( short x)

Returns the absolute value of a signed 16-bit value. The result is unspecified for the most negative value, whose absolute value cannot be represented.

Parameters
xThe value whose absolute value is calculated.

◆ AcosD()

double Bond::AcosD ( double x)

Returns the arccosine in radians of a value.

Parameters
xA value in the range [-1, +1] whose arccosine is calculated.

◆ AcosF()

float Bond::AcosF ( float x)

Returns the arccosine in radians of a value.

Parameters
xA value in the range [-1, +1] whose arccosine is calculated.

◆ AcoshD()

double Bond::AcoshD ( double x)

Returns the inverse hyperbolic cosine of a value.

Parameters
xThe value whose inverse hyperbolic cosine is calculated.

◆ AcoshF()

float Bond::AcoshF ( float x)

Returns the inverse hyperbolic cosine of a value.

Parameters
xThe value whose inverse hyperbolic cosine is calculated.

◆ AsinD()

double Bond::AsinD ( double x)

Returns the arcsine in radians of a value.

Parameters
xA value in the range [-1, +1] whose arcsine is calculated.

◆ AsinF()

float Bond::AsinF ( float x)

Returns the arcsine in radians of a value.

Parameters
xA value in the range [-1, +1] whose arcsine is calculated.

◆ AsinhD()

double Bond::AsinhD ( double x)

Returns the inverse hyperbolic sine of a value.

Parameters
xThe value whose inverse hyperbolic sine is calculated.

◆ AsinhF()

float Bond::AsinhF ( float x)

Returns the inverse hyperbolic sine of a value.

Parameters
xThe value whose inverse hyperbolic sine is calculated.

◆ Atan2D()

double Bond::Atan2D ( double y,
double x )

Returns the arctangent in radians of y/x, in the range [-pi, +pi], using the signs of both arguments to determine the quadrant.

Parameters
yThe coordinate on the Y axis.
xThe coordinate on the X axis.

◆ Atan2F()

float Bond::Atan2F ( float y,
float x )

Returns the arctangent in radians of y/x, in the range [-pi, +pi], using the signs of both arguments to determine the quadrant.

Parameters
yThe coordinate on the Y axis.
xThe coordinate on the X axis.

◆ AtanD()

double Bond::AtanD ( double x)

Returns the arctangent in radians of a value, in the range [-pi/2, +pi/2].

Parameters
xThe value whose arctangent is calculated.

◆ AtanF()

float Bond::AtanF ( float x)

Returns the arctangent in radians of a value, in the range [-pi/2, +pi/2].

Parameters
xThe value whose arctangent is calculated.

◆ AtanhD()

double Bond::AtanhD ( double x)

Returns the inverse hyperbolic tangent of a value.

Parameters
xThe value whose inverse hyperbolic tangent is calculated.

◆ AtanhF()

float Bond::AtanhF ( float x)

Returns the inverse hyperbolic tangent of a value.

Parameters
xThe value whose inverse hyperbolic tangent is calculated.

◆ CbrtD()

double Bond::CbrtD ( double x)

Returns the cube root of a value.

Parameters
xThe value whose cube root is calculated.

◆ CbrtF()

float Bond::CbrtF ( float x)

Returns the cube root of a value.

Parameters
xThe value whose cube root is calculated.

◆ CeilD()

double Bond::CeilD ( double x)

Returns a value rounded upward.

Parameters
xThe value to be rounded.

◆ CeilF()

float Bond::CeilF ( float x)

Returns a value rounded upward.

Parameters
xThe value to be rounded.

◆ ClampC()

char Bond::ClampC ( char value,
char low,
char high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampD()

double Bond::ClampD ( double value,
double low,
double high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampF()

float Bond::ClampF ( float value,
float low,
float high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampI()

int Bond::ClampI ( int value,
int low,
int high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampL()

long Bond::ClampL ( long value,
long low,
long high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampS()

short Bond::ClampS ( short value,
short low,
short high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampUC()

uchar Bond::ClampUC ( uchar value,
uchar low,
uchar high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampUI()

uint Bond::ClampUI ( uint value,
uint low,
uint high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampUL()

ulong Bond::ClampUL ( ulong value,
ulong low,
ulong high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ ClampUS()

ushort Bond::ClampUS ( ushort value,
ushort low,
ushort high )

Returns a value limited to the range [low, high]. The result is undefined if low is greater than high.

Parameters
valueThe value to limit.
lowThe lower bound.
highThe upper bound.

◆ CopySignD()

double Bond::CopySignD ( double x,
double y )

Returns a value with the magnitude of one and the sign of another.

Parameters
xThe value whose magnitude is returned.
yThe value whose sign is returned.

◆ CopySignF()

float Bond::CopySignF ( float x,
float y )

Returns a value with the magnitude of one and the sign of another.

Parameters
xThe value whose magnitude is returned.
yThe value whose sign is returned.

◆ CosD()

double Bond::CosD ( double x)

Returns the cosine of an angle in radians.

Parameters
xAn angle expressed in radians.

◆ CosF()

float Bond::CosF ( float x)

Returns the cosine of an angle in radians.

Parameters
xAn angle expressed in radians.

◆ CoshD()

double Bond::CoshD ( double x)

Returns the hyperbolic cosine of a hyperbolic angle.

Parameters
xA hyperbolic angle whose hyperbolic cosine is calculated.

◆ CoshF()

float Bond::CoshF ( float x)

Returns the hyperbolic cosine of a hyperbolic angle.

Parameters
xA hyperbolic angle whose hyperbolic cosine is calculated.

◆ ErfcD()

double Bond::ErfcD ( double x)

Returns the complementary error function of a value.

Parameters
xThe value whose complementary error function is calculated.

◆ ErfcF()

float Bond::ErfcF ( float x)

Returns the complementary error function of a value.

Parameters
xThe value whose complementary error function is calculated.

◆ ErfD()

double Bond::ErfD ( double x)

Returns the error function of a value.

Parameters
xThe value whose error function is calculated.

◆ ErfF()

float Bond::ErfF ( float x)

Returns the error function of a value.

Parameters
xThe value whose error function is calculated.

◆ Exp2D()

double Bond::Exp2D ( double x)

Returns 2 raised to an exponent.

Parameters
xThe value of the exponent.

◆ Exp2F()

float Bond::Exp2F ( float x)

Returns 2 raised to an exponent.

Parameters
xThe value of the exponent.

◆ ExpD()

double Bond::ExpD ( double x)

Returns e raised to an exponent.

Parameters
xThe value of the exponent.

◆ ExpF()

float Bond::ExpF ( float x)

Returns e raised to an exponent.

Parameters
xThe value of the exponent.

◆ Expm1D()

double Bond::Expm1D ( double x)

Returns e raised to an exponent minus one.

Parameters
xThe value of the exponent.

◆ Expm1F()

float Bond::Expm1F ( float x)

Returns e raised to an exponent minus one.

Parameters
xThe value of the exponent.

◆ FloorD()

double Bond::FloorD ( double x)

Returns a value rounded downward.

Parameters
xThe value to be rounded.

◆ FloorF()

float Bond::FloorF ( float x)

Returns a value rounded downward.

Parameters
xThe value to be rounded.

◆ FmaD()

double Bond::FmaD ( double x,
double y,
double z )

Returns x * y + z computed with a single rounding.

Parameters
xThe multiplicand.
yThe multiplier.
zThe value added to the product.

◆ FmaF()

float Bond::FmaF ( float x,
float y,
float z )

Returns x * y + z computed with a single rounding.

Parameters
xThe multiplicand.
yThe multiplier.
zThe value added to the product.

◆ FmodD()

double Bond::FmodD ( double x,
double y )

Returns the remainder of x/y, where the quotient is rounded toward zero. The result has the same sign as x.

Parameters
xThe numerator of the division operation.
yThe denominator of the division operation.

◆ FmodF()

float Bond::FmodF ( float x,
float y )

Returns the remainder of x/y, where the quotient is rounded toward zero. The result has the same sign as x.

Parameters
xThe numerator of the division operation.
yThe denominator of the division operation.

◆ FrexpD()

double Bond::FrexpD ( double x,
int * exp )

Decomposes a value into a fraction and an integral power of two.

Parameters
xThe value that is decomposed.
expA pointer to an int where the exponent is stored.
Returns
A value whose absolute value is in the range [0.5, 1.0), which, when multiplied by 2 to the power of exp, results in x.

◆ FrexpF()

float Bond::FrexpF ( float x,
int * exp )

Decomposes a value into a fraction and an integral power of two.

Parameters
xThe value that is decomposed.
expA pointer to an int where the exponent is stored.
Returns
A value whose absolute value is in the range [0.5, 1.0), which, when multiplied by 2 to the power of exp, results in x.

◆ HypotD()

double Bond::HypotD ( double x,
double y )

Returns the hypotenuse of a right-angled triangle with sides of the given lengths.

Parameters
xThe length of the first side of the triangle.
yThe length of the second side of the triangle.

◆ HypotF()

float Bond::HypotF ( float x,
float y )

Returns the hypotenuse of a right-angled triangle with sides of the given lengths.

Parameters
xThe length of the first side of the triangle.
yThe length of the second side of the triangle.

◆ IlogbD()

int Bond::IlogbD ( double x)

Returns the unbiased exponent of a value as an integer.

Parameters
xThe value whose exponent is returned.

◆ IlogbF()

int Bond::IlogbF ( float x)

Returns the unbiased exponent of a value as an integer.

Parameters
xThe value whose exponent is returned.

◆ InfD()

double Bond::InfD ( )

Returns a representation of positive infinity.

◆ InfF()

float Bond::InfF ( )

Returns a representation of positive infinity.

◆ IsFiniteD()

bool Bond::IsFiniteD ( double x)

Returns whether a value is neither infinite nor Not-a-Number.

Parameters
xThe value to check.

◆ IsFiniteF()

bool Bond::IsFiniteF ( float x)

Returns whether a value is neither infinite nor Not-a-Number.

Parameters
xThe value to check.

◆ IsInfD()

bool Bond::IsInfD ( double x)

Returns whether a value is positive or negative infinity.

Parameters
xThe value to check.

◆ IsInfF()

bool Bond::IsInfF ( float x)

Returns whether a value is positive or negative infinity.

Parameters
xThe value to check.

◆ IsNaND()

bool Bond::IsNaND ( double x)

Returns whether a value is Not-a-Number.

Parameters
xThe value to check.

◆ IsNaNF()

bool Bond::IsNaNF ( float x)

Returns whether a value is Not-a-Number.

Parameters
xThe value to check.

◆ LdexpD()

double Bond::LdexpD ( double x,
int exp )

Returns a value multiplied by 2 raised to an exponent.

Parameters
xThe value that is multiplied by 2 raised to an exponent.
expThe exponent.

◆ LdexpF()

float Bond::LdexpF ( float x,
int exp )

Returns a value multiplied by 2 raised to an exponent.

Parameters
xThe value that is multiplied by 2 raised to an exponent.
expThe exponent.

◆ LgammaD()

double Bond::LgammaD ( double x)

Returns the natural logarithm of the absolute value of the gamma function of a value.

Parameters
xThe value whose log-gamma function is calculated.

◆ LgammaF()

float Bond::LgammaF ( float x)

Returns the natural logarithm of the absolute value of the gamma function of a value.

Parameters
xThe value whose log-gamma function is calculated.

◆ Log10D()

double Bond::Log10D ( double x)

Returns the base-10 logarithm of a value.

Parameters
xThe value whose logarithm is calculated.

◆ Log10F()

float Bond::Log10F ( float x)

Returns the base-10 logarithm of a value.

Parameters
xThe value whose logarithm is calculated.

◆ Log1pD()

double Bond::Log1pD ( double x)

Returns the natural logarithm of one plus a value.

Parameters
xThe value whose logarithm is calculated.

◆ Log1pF()

float Bond::Log1pF ( float x)

Returns the natural logarithm of one plus a value.

Parameters
xThe value whose logarithm is calculated.

◆ Log2D()

double Bond::Log2D ( double x)

Returns the base-2 logarithm of a value.

Parameters
xThe value whose logarithm is calculated.

◆ Log2F()

float Bond::Log2F ( float x)

Returns the base-2 logarithm of a value.

Parameters
xThe value whose logarithm is calculated.

◆ LogbD()

double Bond::LogbD ( double x)

Returns the unbiased exponent of a value as a floating-point number.

Parameters
xThe value whose exponent is returned.

◆ LogbF()

float Bond::LogbF ( float x)

Returns the unbiased exponent of a value as a floating-point number.

Parameters
xThe value whose exponent is returned.

◆ LogD()

double Bond::LogD ( double x)

Returns the natural logarithm of a value.

Parameters
xThe value whose natural logarithm is calculated.

◆ LogF()

float Bond::LogF ( float x)

Returns the natural logarithm of a value.

Parameters
xThe value whose natural logarithm is calculated.

◆ LroundD()

long Bond::LroundD ( double x)

Returns a value rounded to the nearest long integer, with halfway cases rounded away from zero.

Parameters
xThe value to be rounded.

◆ LroundF()

long Bond::LroundF ( float x)

Returns a value rounded to the nearest long integer, with halfway cases rounded away from zero.

Parameters
xThe value to be rounded.

◆ MaxC()

char Bond::MaxC ( char x,
char y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MaxD()

double Bond::MaxD ( double x,
double y )

Returns the larger of two values. If either value is Not-a-Number, the other value is returned.

Parameters
xThe first value.
yThe second value.

◆ MaxF()

float Bond::MaxF ( float x,
float y )

Returns the larger of two values. If either value is Not-a-Number, the other value is returned.

Parameters
xThe first value.
yThe second value.

◆ MaxI()

int Bond::MaxI ( int x,
int y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MaxL()

long Bond::MaxL ( long x,
long y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MaxS()

short Bond::MaxS ( short x,
short y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MaxUC()

uchar Bond::MaxUC ( uchar x,
uchar y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MaxUI()

uint Bond::MaxUI ( uint x,
uint y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MaxUL()

ulong Bond::MaxUL ( ulong x,
ulong y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MaxUS()

ushort Bond::MaxUS ( ushort x,
ushort y )

Returns the larger of two values.

Parameters
xThe first value.
yThe second value.

◆ MinC()

char Bond::MinC ( char x,
char y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ MinD()

double Bond::MinD ( double x,
double y )

Returns the smaller of two values. If either value is Not-a-Number, the other value is returned.

Parameters
xThe first value.
yThe second value.

◆ MinF()

float Bond::MinF ( float x,
float y )

Returns the smaller of two values. If either value is Not-a-Number, the other value is returned.

Parameters
xThe first value.
yThe second value.

◆ MinI()

int Bond::MinI ( int x,
int y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ MinL()

long Bond::MinL ( long x,
long y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ MinS()

short Bond::MinS ( short x,
short y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ MinUC()

uchar Bond::MinUC ( uchar x,
uchar y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ MinUI()

uint Bond::MinUI ( uint x,
uint y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ MinUL()

ulong Bond::MinUL ( ulong x,
ulong y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ MinUS()

ushort Bond::MinUS ( ushort x,
ushort y )

Returns the smaller of two values.

Parameters
xThe first value.
yThe second value.

◆ ModfD()

double Bond::ModfD ( double x,
double * ip )

Decomposes a value into its integral and fractional parts.

Parameters
xThe value that is decomposed.
ipA pointer to a double where the integral part is stored.
Returns
The fractional part, which, when added to ip, results in x.

◆ ModfF()

float Bond::ModfF ( float x,
float * ip )

Decomposes a value into its integral and fractional parts.

Parameters
xThe value that is decomposed.
ipA pointer to a float where the integral part is stored.
Returns
The fractional part, which, when added to ip, results in x.

◆ NaND()

double Bond::NaND ( )

Returns a value representing Not-a-Number.

◆ NaNF()

float Bond::NaNF ( )

Returns a value representing Not-a-Number.

◆ NearbyintD()

double Bond::NearbyintD ( double x)

Returns a value rounded to the nearest integer using the current rounding mode without raising the inexact exception.

Parameters
xThe value to be rounded.

◆ NearbyintF()

float Bond::NearbyintF ( float x)

Returns a value rounded to the nearest integer using the current rounding mode without raising the inexact exception.

Parameters
xThe value to be rounded.

◆ NextafterD()

double Bond::NextafterD ( double x,
double y )

Returns the next representable value after x in the direction of y.

Parameters
xThe starting value.
yThe value that indicates the direction.

◆ NextafterF()

float Bond::NextafterF ( float x,
float y )

Returns the next representable value after x in the direction of y.

Parameters
xThe starting value.
yThe value that indicates the direction.

◆ PowD()

double Bond::PowD ( double base,
double exponent )

Returns a base value raised to an exponent.

Parameters
baseThe value of the base.
exponentThe value of the exponent.

◆ PowF()

float Bond::PowF ( float base,
float exponent )

Returns a base value raised to an exponent.

Parameters
baseThe value of the base.
exponentThe value of the exponent.

◆ RemainderD()

double Bond::RemainderD ( double x,
double y )

Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even.

Parameters
xThe numerator of the division operation.
yThe denominator of the division operation.

◆ RemainderF()

float Bond::RemainderF ( float x,
float y )

Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even.

Parameters
xThe numerator of the division operation.
yThe denominator of the division operation.

◆ RemquoD()

double Bond::RemquoD ( double x,
double y,
int * quo )

Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even, and stores the sign and low bits of the quotient.

Parameters
xThe numerator of the division operation.
yThe denominator of the division operation.
quoA pointer to an int where a value with the sign of the quotient and at least its three lowest bits is stored.

◆ RemquoF()

float Bond::RemquoF ( float x,
float y,
int * quo )

Returns the remainder of x/y, where the quotient is rounded to the nearest integer, with halfway cases rounded to even, and stores the sign and low bits of the quotient.

Parameters
xThe numerator of the division operation.
yThe denominator of the division operation.
quoA pointer to an int where a value with the sign of the quotient and at least its three lowest bits is stored.

◆ RintD()

double Bond::RintD ( double x)

Returns a value rounded to the nearest integer using the current rounding mode.

Parameters
xThe value to be rounded.

◆ RintF()

float Bond::RintF ( float x)

Returns a value rounded to the nearest integer using the current rounding mode.

Parameters
xThe value to be rounded.

◆ RoundD()

double Bond::RoundD ( double x)

Returns a value rounded to the nearest integer, with halfway cases rounded away from zero.

Parameters
xThe value to be rounded.

◆ RoundF()

float Bond::RoundF ( float x)

Returns a value rounded to the nearest integer, with halfway cases rounded away from zero.

Parameters
xThe value to be rounded.

◆ ScalbnD()

double Bond::ScalbnD ( double x,
int n )

Returns a value multiplied by 2 raised to an integral exponent.

Parameters
xThe value that is multiplied by 2 raised to an exponent.
nThe exponent.

◆ ScalbnF()

float Bond::ScalbnF ( float x,
int n )

Returns a value multiplied by 2 raised to an integral exponent.

Parameters
xThe value that is multiplied by 2 raised to an exponent.
nThe exponent.

◆ SignBitD()

bool Bond::SignBitD ( double x)

Returns whether the sign bit of a value is set.

Parameters
xThe value to check.

◆ SignBitF()

bool Bond::SignBitF ( float x)

Returns whether the sign bit of a value is set.

Parameters
xThe value to check.

◆ SinD()

double Bond::SinD ( double x)

Returns the sine of an angle in radians.

Parameters
xAn angle expressed in radians.

◆ SinF()

float Bond::SinF ( float x)

Returns the sine of an angle in radians.

Parameters
xAn angle expressed in radians.

◆ SinhD()

double Bond::SinhD ( double x)

Returns the hyperbolic sine of a hyperbolic angle.

Parameters
xA hyperbolic angle whose hyperbolic sine is calculated.

◆ SinhF()

float Bond::SinhF ( float x)

Returns the hyperbolic sine of a hyperbolic angle.

Parameters
xA hyperbolic angle whose hyperbolic sine is calculated.

◆ SqrtD()

double Bond::SqrtD ( double x)

Returns the square root of a value.

Parameters
xThe value whose square root is calculated.

◆ SqrtF()

float Bond::SqrtF ( float x)

Returns the square root of a value.

Parameters
xThe value whose square root is calculated.

◆ TanD()

double Bond::TanD ( double x)

Returns the tangent of an angle in radians.

Parameters
xAn angle expressed in radians.

◆ TanF()

float Bond::TanF ( float x)

Returns the tangent of an angle in radians.

Parameters
xAn angle expressed in radians.

◆ TanhD()

double Bond::TanhD ( double x)

Returns the hyperbolic tangent of a hyperbolic angle.

Parameters
xA hyperbolic angle whose hyperbolic tangent is calculated.

◆ TanhF()

float Bond::TanhF ( float x)

Returns the hyperbolic tangent of a hyperbolic angle.

Parameters
xA hyperbolic angle whose hyperbolic tangent is calculated.

◆ TgammaD()

double Bond::TgammaD ( double x)

Returns the gamma function of a value.

Parameters
xThe value whose gamma function is calculated.

◆ TgammaF()

float Bond::TgammaF ( float x)

Returns the gamma function of a value.

Parameters
xThe value whose gamma function is calculated.

◆ TruncD()

double Bond::TruncD ( double x)

Returns a value rounded toward zero.

Parameters
xThe value to be rounded.

◆ TruncF()

float Bond::TruncF ( float x)

Returns a value rounded toward zero.

Parameters
xThe value to be rounded.

Variable Documentation

◆ E_D

const double Bond::E_D = 2.71828182845904523536

The value of e as a double.

◆ E_F

const float Bond::E_F = cast<float>(E_D)

The value of e as a float.

◆ HALF_PI_D

const double Bond::HALF_PI_D = PI_D / 2.0

The value of pi/2 as a double.

◆ HALF_PI_F

const float Bond::HALF_PI_F = cast<float>(HALF_PI_D)

The value of pi/2 as a float.

◆ LN10_D

const double Bond::LN10_D = 2.30258509299404568402

The natural logarithm of 10 as a double.

◆ LN10_F

const float Bond::LN10_F = cast<float>(LN10_D)

The natural logarithm of 10 as a float.

◆ LN2_D

const double Bond::LN2_D = 0.69314718055994530942

The natural logarithm of 2 as a double.

◆ LN2_F

const float Bond::LN2_F = cast<float>(LN2_D)

The natural logarithm of 2 as a float.

◆ LOG10E_D

const double Bond::LOG10E_D = 0.43429448190325182765

The base-10 logarithm of e as a double.

◆ LOG10E_F

const float Bond::LOG10E_F = cast<float>(LOG10E_D)

The base-10 logarithm of e as a float.

◆ LOG2E_D

const double Bond::LOG2E_D = 1.44269504088896340736

The base-2 logarithm of e as a double.

◆ LOG2E_F

const float Bond::LOG2E_F = cast<float>(LOG2E_D)

The base-2 logarithm of e as a float.

◆ PI_D

const double Bond::PI_D = 3.14159265358979323846

The value of pi as a double.

◆ PI_F

const float Bond::PI_F = cast<float>(PI_D)

The value of pi as a float.

◆ SQRT1_2_D

const double Bond::SQRT1_2_D = 0.70710678118654752440

The square root of 1/2 as a double.

◆ SQRT1_2_F

const float Bond::SQRT1_2_F = cast<float>(SQRT1_2_D)

The square root of 1/2 as a float.

◆ SQRT2_D

const double Bond::SQRT2_D = 1.41421356237309504880

The square root of 2 as a double.

◆ SQRT2_F

const float Bond::SQRT2_F = cast<float>(SQRT2_D)

The square root of 2 as a float.

◆ TWO_PI_D

const double Bond::TWO_PI_D = PI_D * 2.0

The value of 2pi as a double.

◆ TWO_PI_F

const float Bond::TWO_PI_F = cast<float>(TWO_PI_D)

The value of 2pi as a float.