Links
Comment on page

math

Library containing more advanced mathematical operations.

Types

std::math::AccumulateOperation

Options to use with the std::math::accumulate function.
enum AccumulateOperation : u8 {
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(auto a, auto 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(auto a, auto 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(auto x, auto min, auto max);

std::math::abs

Returns the absolute value of x.
  • x: Value
  • return: x if x is positive, -x otherwise
fn abs(auto 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(auto 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(auto x, auto y);

std::math::factorial

Calculates the factorial of x.
  • x: Value
  • return: Factorial of x
fn factorial(u128 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(u128 n, u128 k);

std::math::perm

Calculates the permutation of n and k.
  • n: Value
  • k: Value
  • return: Permutation of n and k
fn perm(u128 n, u128 k);

std::math::floor

Floors the value of value.
  • value: Value
  • return: value floored
fn floor(auto value);

std::math::ceil

Ceils the value of value.
  • value: Value
  • return: value ceiled
fn ceil(auto value);

std::math::round

Rounds the value of value.
  • value: Value
  • return: value rounded
fn round(auto value);

std::math::trunc

Truncates the value of value.
  • value: Value
  • return: value truncated
fn trunc(auto value);

std::math::log10

Calculates the logarithm of value with base 10.
  • value: Value
  • return: Logarithm of value with base 10
fn log10(auto value);

std::math::log2

Calculates the logarithm of value with base 2.
  • value: Value
  • return: Logarithm of value with base 2
fn log2(auto value);

std::math::ln

Calculates the natural logarithm of value.
  • value: Value
  • return: Logarithm of value with base e
fn ln(auto value);

std::math::fmod

Calculates the floating point modulus of value.
  • value: Value
  • return: Floating point modulus of value
fn fmod(auto value);

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(auto base, auto 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(auto value);

std::math::sqrt

Calculates the square root of value.
  • value: Value
  • return: Square root of value
fn sqrt(auto value);

std::math::cbrt

Calculates the cubic root of value.
  • value: Value
  • return: Cubic root of value
fn cbrt(auto value);

std::math::sin

Calculates the sine of value.
  • value: Angle value in radians
  • return: Sine of value
fn sin(auto value);

std::math::cos

Calculates the cosine of value.
  • value: Angle value in radians
  • return: Cosine of value
fn cos(auto value);

std::math::tan

Calculates the tangent of value.
  • value: Angle value in radians
  • return: Tangent of value
fn tan(auto value);

std::math::asin

Calculates the arc sine of value.
  • value: Angle value in radians
  • return: Arc sine of value
fn asin(auto value);

std::math::acos

Calculates the arc cosine of value.
  • value: Value
  • return: Arc cosine of value in radians
fn acos(auto 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(auto 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(auto y, auto x);

std::math::sinh

Calculates the hyperbolic sine of value.
  • value: Angle value in radians
  • return: Hyperbolic sine of value
fn sinh(auto value);

std::math::cosh

Calculates the hyperbolic cosine of value.
  • value: Angle value in radians
  • return: Hyperbolic cosine of value
fn cosh(auto value);

std::math::tanh

Calculates the hyperbolic tangent of value.
  • value: Angle value in radians
  • return: Hyperbolic tangent of value
fn tanh(auto value);

std::math::asinh

Calculates the arc hyperbolic sine of value.
  • value: Value
  • return: Arc hyperbolic sine of value
fn asinh(auto value);

std::math::acosh

Calculates the arc hyperbolic cosine of value.
  • value: Value
  • return: Arc hyperbolic cosine of value
fn acosh(auto value);

std::math::atanh

Calculates the arc hyperbolic tangent of value.
  • value: Value
  • return: Arc hyperbolic tangent of value
fn atanh(auto 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
  • endian: Endianness to use
  • return: Sum of all values in the specified memory range
fn accumulate(u128 start, u128 end, u128 valueSize, std::mem::Section section, std::math::AccumulateOperation operation, std::mem::Endian endian);
Last modified 1mo ago