fmath library
fmath contains a set of mathematical functions that work with FixedPoint numbers and integers. fmath replaces Lua's math library in game scripts (you can use Lua's math library outside of game scripts).
Functions
max_fixedpoint()
fmath.max_fixedpoint(): FixedPoint
Returns the maximum value a fixedpoint integer can take.
random_fixedpoint()
fmath.random_fixedpoint(
min: FixedPoint,
max: FixedPoint
): FixedPoint
Returns a random fixedpoint value in the range [min, max]. max must be greater or equal to min.
random_int()
fmath.random_int(
min: int,
max: int
): int
Returns an integer in the range [min, max]. max must be greater or equal to min.
sqrt()
fmath.sqrt(x: FixedPoint): FixedPoint
Returns the square root of x. x must be greater or equal to 0.
from_fraction()
fmath.from_fraction(
numerator: int,
denominator: int
): FixedPoint
Returns the fixedpoint value representing the fraction numerator/denominator. denominator must not be equal to zero.
to_int()
fmath.to_int(value: FixedPoint): int
Returns the integral part of the value.
abs_fixedpoint()
fmath.abs_fixedpoint(value: FixedPoint): FixedPoint
Returns the absolute value.
to_fixedpoint()
fmath.to_fixedpoint(value: int): FixedPoint
Returns a fixedpoint value with the integral part of value, and no fractional part.
sincos()
fmath.sincos(angle: FixedPoint): FixedPoint, FixedPoint
Returns the sinus and cosinus of angle. angle is in radian.
atan2()
fmath.atan2(
y: FixedPoint,
x: FixedPoint
): FixedPoint
Returns the principal value of the arc tangent of y/x. Returns a value in the range [0, 2π[.
tau()
fmath.tau(): FixedPoint
Returns τ (aka 2π).
exp()
fmath.exp(x: FixedPoint): FixedPoint
Returns e^x, the base-e exponential of x.
ln()
fmath.ln(x: FixedPoint): FixedPoint
Returns the natural logarithm of x.