math

Documentation for math.

Library containing more advanced mathematical operations.

Types

std::math::AccumulateOperation

Options to use with the std::math::accumulate function.

enum AccumulateOperation :  {
    Add,
    Max,
    Min,
    Modulo,
    Multiply
};

Functions

std::math::min

Compares the values a and b with each other and returns the smaller of the two

  • a: First value
  • b: Second value
  • return: a if a is smaller than b, otherwise b
fn min( a,  b);

std::math::max

Compares the values a and b with each other and returns the bigger of the two

  • a: First value
  • b: Second value
  • return: a if a is bigger than b, otherwise b
fn max( a,  b);

std::math::clamp

Clamps the value of x between min and max.

  • x: Value
  • min: Minimum value
  • max: Maximum value
  • return: min if x is smaller than min, max if x is bigger than max, x otherwise
fn clamp( x,  min,  max);

std::math::abs

Returns the absolute value of x.

  • x: Value
  • return: x if x is positive, -x otherwise
fn abs( x);

std::math::sign

Returns the sign of x.

  • x: Value
  • return: 1 if x is positive, -1 if x is negative, 0 if x is zero
fn sign( x);

std::math::copy_sign

Copies the sign of y to x.

  • x: Value
  • y: Value
  • return: x if y is positive, -x if y is negative
fn copy_sign( x,  y);

std::math::factorial

Calculates the factorial of x.

  • x: Value
  • return: Factorial of x
fn factorial( x);

std::math::comb

Calculates the binomial coefficient of n and k.

  • n: Value
  • k: Value
  • return: Binomial coefficient of n and k
fn comb( n,  k);

std::math::perm

Calculates the permutation of n and k.

  • n: Value
  • k: Value
  • return: Permutation of n and k
fn perm( n,  k);

std::math::floor

Floors the value of value.

  • value: Value
  • return: value floored
fn floor( value);

std::math::ceil

Ceils the value of value.

  • value: Value
  • return: value ceiled
fn ceil( value);

std::math::round

Rounds the value of value.

  • value: Value
  • return: value rounded
fn round( value);

std::math::trunc

Truncates the value of value.

  • value: Value
  • return: value truncated
fn trunc( value);

std::math::log10

Calculates the logarithm of value with base 10.

  • value: Value
  • return: Logarithm of value with base 10
fn log10( value);

std::math::log2

Calculates the logarithm of value with base 2.

  • value: Value
  • return: Logarithm of value with base 2
fn log2( value);

std::math::ln

Calculates the natural logarithm of value.

  • value: Value
  • return: Logarithm of value with base e
fn ln( value);

std::math::fmod

Calculates the floating point modulus (remainder) of the division of x by y.

  • x: Numerator
  • y: Denominator
  • return: Floating point modulus (remainder) of the division of x by y
fn fmod( x,  y);

std::math::pow

Calculates the value of base raised to the power of exp.

  • base: Base
  • exp: Exponent
  • return: base raised to the power of exp
fn pow( base,  exp);

std::math::exp

Calculates the value of the natural number e raised to the power of value.

  • value: Exponent
  • return: e raised to the power of value
fn exp( value);

std::math::sqrt

Calculates the square root of value.

  • value: Value
  • return: Square root of value
fn sqrt( value);

std::math::cbrt

Calculates the cubic root of value.

  • value: Value
  • return: Cubic root of value
fn cbrt( value);

std::math::sin

Calculates the sine of value.

  • value: Angle value in radians
  • return: Sine of value
fn sin( value);

std::math::cos

Calculates the cosine of value.

  • value: Angle value in radians
  • return: Cosine of value
fn cos( value);

std::math::tan

Calculates the tangent of value.

  • value: Angle value in radians
  • return: Tangent of value
fn tan( value);

std::math::asin

Calculates the arc sine of value.

  • value: Angle value in radians
  • return: Arc sine of value
fn asin( value);

std::math::acos

Calculates the arc cosine of value.

  • value: Value
  • return: Arc cosine of value in radians
fn acos( value);

std::math::atan

Calculates the arc tangent of value.

  • value: Value
  • return: Arc tangent of value in radians between -pi/2 and pi/2
fn atan( value);

std::math::atan2

Calculates the arc tangent of value.

  • y: Value representing the proportion of the y-coordinate
  • x: Value representing the proportion of the x-coordinate.
  • return: Arc tangent of value in radians between -pi and pi
fn atan2( y,  x);

std::math::sinh

Calculates the hyperbolic sine of value.

  • value: Angle value in radians
  • return: Hyperbolic sine of value
fn sinh( value);

std::math::cosh

Calculates the hyperbolic cosine of value.

  • value: Angle value in radians
  • return: Hyperbolic cosine of value
fn cosh( value);

std::math::tanh

Calculates the hyperbolic tangent of value.

  • value: Angle value in radians
  • return: Hyperbolic tangent of value
fn tanh( value);

std::math::asinh

Calculates the arc hyperbolic sine of value.

  • value: Value
  • return: Arc hyperbolic sine of value
fn asinh( value);

std::math::acosh

Calculates the arc hyperbolic cosine of value.

  • value: Value
  • return: Arc hyperbolic cosine of value
fn acosh( value);

std::math::atanh

Calculates the arc hyperbolic tangent of value.

  • value: Value
  • return: Arc hyperbolic tangent of value
fn atanh( value);

std::math::accumulate

Calculates the sum of all values in the specified memory range.

  • start: Start address
  • end: End address
  • valueSize: Size of each value in bytes
  • [section]: Section to use
  • [operation]: Operation to use. Defaults to addition
  • [endian]: Endianness to use. Defaults to native
  • return: Sum of all values in the specified memory range
fn accumulate( start,  end,  valueSize, std::mem::Section section, std::math::AccumulateOperation operation, std::mem::Endian endian);