Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
| Molang Math Functions | Description |
|---|---|
| math.abs(value) | Absolute value of value |
| math.acos(value) | arccos of value |
| math.asin(value) | arcsin of value |
| math.atan(value) | arctan of value |
| math.atan2(y, x) | arctan of y/x. |
| math.ceil(value) | Round value up to nearest integral number |
| math.clamp(value, min, max) | Clamp value to between min and max inclusive |
| math.copy_sign(A, B) | Compose a floating-point value with the magnitude of x and the sign of y. |
| math.cos(value) | Cosine (in degrees) of value |
| math.die_roll(num, low, high) | Returns the sum of 'num' random numbers, each with a value from low to high. |
| math.die_roll_integer(num, low, high) | Returns the sum of 'num' random integer numbers, each with a value from low to high. |
| math.ease_in_back(start, end, 0_to_1) | Output goes from start to end via 0_to_1, overshooting backward before accelerating into the end |
| math.ease_in_bounce(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting with bounce oscillations and settling into the end |
| math.ease_in_circ(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow and accelerating along a circular curve toward the end |
| math.ease_in_cubic(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow and accelerating rapidly toward the end |
| math.ease_in_elastic(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting with elastic oscillations before accelerating into the end |
| math.ease_in_expo(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow and accelerating extremely rapidly toward the end |
| math.ease_in_out_back(start, end, 0_to_1) | Output goes from start to end via 0_to_1, overshooting at both start and end, with smoother change in the middle |
| math.ease_in_out_bounce(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting and ending with bounce oscillations, smoother in the middle |
| math.ease_in_out_circ(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting and ending slow, with circular acceleration and deceleration in the middle |
| math.ease_in_out_cubic(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow, accelerating rapidly in the middle, then slowing again at the end |
| math.ease_in_out_elastic(start, end, 0_to_1) | Output goes from start to end via 0_to_1, oscillating elastically at both start and end, with stable change in the middle |
| math.ease_in_out_expo(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting and ending slow, with extremely rapid change in the middle |
| math.ease_in_out_quad(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow, accelerating in the middle, then slowing again at the end |
| math.ease_in_out_quart(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow, accelerating very rapidly in the middle, then slowing again at the end |
| math.ease_in_out_quint(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow, accelerating extremely rapidly in the middle, then slowing again at the end |
| math.ease_in_out_sine(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting and ending slow, with smoother change in the middle |
| math.ease_in_quad(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow and accelerating toward the end |
| math.ease_in_quart(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow and accelerating very rapidly toward the end |
| math.ease_in_quint(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow and accelerating extremely rapidly toward the end |
| math.ease_in_sine(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting slow and accelerating smoothly toward the end |
| math.ease_out_back(start, end, 0_to_1) | Output goes from start to end via 0_to_1, overshooting past the end before settling into it |
| math.ease_out_bounce(start, end, 0_to_1) | Output goes from start to end via 0_to_1, approaching the end with bounce oscillations that diminish over time |
| math.ease_out_circ(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting fast and decelerating along a circular curve toward the end |
| math.ease_out_cubic(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting fast and decelerating rapidly toward the end |
| math.ease_out_elastic(start, end, 0_to_1) | Output goes from start to end via 0_to_1, overshooting the end with elastic oscillations before settling |
| math.ease_out_expo(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting extremely fast and decelerating gradually toward the end |
| math.ease_out_quad(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting fast and decelerating toward the end |
| math.ease_out_quart(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting fast and decelerating very rapidly toward the end |
| math.ease_out_quint(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting fast and decelerating extremely rapidly toward the end |
| math.ease_out_sine(start, end, 0_to_1) | Output goes from start to end via 0_to_1, starting fast and decelerating smoothly toward the end |
| math.exp(value) | Returns e raised to the value power |
| math.floor(value) | Round value down to nearest integral number |
| math.hermite_blend(value) | Interpolate points on a smooth curve using one of the Hermite Basis functions: 3t^2 - 2t^3. |
| math.inverse_lerp(start, end, value) | Returns the normalized progress between start and end given value |
| math.lerp(start, end, 0_to_1) | Computes the linear interpolation between a and b with interpolation weighting factor t in the range [0, 1], where 0 = a and 1 = b. |
| math.lerprotate(start, end, 0_to_1) | Computes a linear interpolation around a circle in the shortest direction from a degrees to b degrees with interpolation weighting factor t (see math.lerp). |
| math.ln(value) | Natural logarithm of value |
| math.max(A, B) | Return highest value of A or B |
| math.min(A, B) | Return lowest value of A or B |
| math.min_angle(value) | Minimize angle magnitude (in degrees) into the range [-180, 180) |
| math.mod(value, denominator) | Return the remainder of value / denominator |
| math.pi | Returns the float representation of the constant pi. |
| math.pow(base, exponent) | Elevates base to the exponent'th power |
| math.random(low, high) | Random value between low and high inclusive |
| math.random_integer(low, high) | Random integer value between low and high inclusive |
| math.round(value) | Round value to nearest integral number |
| math.sign(value) | Returns 1 if value is positive, -1 otherwise |
| math.sin(value) | Sine (in degrees) of value |
| math.sqrt(value) | Square root of value |
| math.trunc(value) | Round value towards zero |