math
This library provides basic mathematical functions. It provides all its functions and constants inside the table math.
🎒 Examples
-- Rounding
local a = math.floor(3.7) -- 3
local b = math.ceil(3.2) -- 4
-- Random numbers
local chance = math.random() -- float between 0 and 1
local dice = math.random(1, 6) -- integer between 1 and 6
-- Min, Max and Absolute
local lowest = math.min(10, 5, 8) -- 5
local distance = math.abs(-250) -- 250
-- Trigonometry works with radians
local sine = math.sin(math.rad(90)) -- 1.0
🗼 Static Properties
| Value | Name |
|---|---|
3.141592653589793 | math.pi |
2^1024 | math.huge |
🗿 Static Functions
| Returns | Name | Description | |
|---|---|---|---|
| number | ceil | Returns the smallest integer greater than or equal to the given value | |
| number | tan | Return the tangent value for a given value in radians. | |
| number | min | Return the minimum value from a variable length list of arguments | |
| number | fmod | Returns the remainder of the division of base by modulator that rounds the quotient towards zero | |
| number | exp | Returns e (the base of natural logarithms) raised to the power exponent | |
| number | random | Generates pseudo-random numbers uniformly distributed | |
| number | rad | Convert from degrees to radians | |
| number | sin | Return the sine value for a given value in radians. | |
| number | cos | Return the cosine value for a given value in radians. | |
| number | asin | Return the inverse sine in radians of the given value. | |
randomseed | Sets a seed for the pseudo-random generator: Equal seeds produce equal sequences of numbers | ||
| number | floor | Returns the largest integer less than or equal to the given value | |
| number | max | Return the maximum value from a variable length list of arguments | |
| number | atan | Returns the arc tangent in radians. Pass y and x to get the angle of the point (x, y), using the signs of both to find the quadrant | |
| number | acos | Return the inverse cosine in radians of the given value. | |
| number | abs | Return the absolute, or non-negative value, of a given value | |
| number | log | Returns the logarithm of x in the given base. The default base is e (natural logarithm) | |
| number, number | modf | Return the integral and fractional parts of the given number | |
| number | deg | Convert from radians to degrees | |
| number | sqrt | Return the square root of a given number. Only non-negative arguments are allowed |

ceil
Returns the smallest integer greater than or equal to the given value
local ret = math.ceil(number)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | number | Required parameter | The number to be rounded up. |
Returns
| Type | Description |
|---|---|
| number | The rounded up integer |

tan
Return the tangent value for a given value in radians.
local ret = math.tan(value)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | value | Required parameter | Angle in radians |
Returns
| Type | Description |
|---|---|
| number | The tangent |

min
Return the minimum value from a variable length list of arguments
local ret = math.min(numbers...)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| varargs of number | numbers... | Required parameter | Numbers to get the smallest from. |
Returns
| Type | Description |
|---|---|
| number | The smallest value |

fmod
Returns the remainder of the division ofbasebymodulatorthat rounds the quotient towards zero
local ret = math.fmod(base, modulator)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | base | Required parameter | The base value. |
| number | modulator | Required parameter | The modulator. |
Returns
| Type | Description |
|---|---|
| number | The remainder |

exp
Returns e (the base of natural logarithms) raised to the power exponentlocal ret = math.exp(exponent)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | exponent | Required parameter | The exponent for the function. |
Returns
| Type | Description |
|---|---|
| number | e raised to the given power |

random
Generates pseudo-random numbers uniformly distributed
local ret = math.random(m, n)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | m | Required parameter | If m is the only parameter: upper limit. If n is also provided: lower limit. If provided, this must be an integer. |
| number | n | Required parameter | Upper limit. If provided, this must be an integer. |
Returns
| Type | Description |
|---|---|
| number | A random float between 0 and 1 when called without parameters, otherwise a random integer in the given range |

rad
Convert from degrees to radians
local ret = math.rad(degrees)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | degrees | Required parameter | The angle measured in degrees. |
Returns
| Type | Description |
|---|---|
| number | The angle in radians |

sin
Return the sine value for a given value in radians.
local ret = math.sin(number)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | number | Required parameter | Angle in radians |
Returns
| Type | Description |
|---|---|
| number | The sine |

cos
Return the cosine value for a given value in radians.
local ret = math.cos(number)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | number | Required parameter | Angle in radians |
Returns
| Type | Description |
|---|---|
| number | The cosine |

asin
Return the inverse sine in radians of the given value.
local ret = math.asin(normal)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | normal | Required parameter | Sine value in the range of -1 to 1. |
Returns
| Type | Description |
|---|---|
| number | The angle in radians |

randomseed
Sets a seed for the pseudo-random generator: Equal seeds produce equal sequences of numbers
math.randomseed(seed)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | seed | Required parameter | The new seed |

floor
Returns the largest integer less than or equal to the given value
local ret = math.floor(number)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | number | Required parameter | The number to be rounded down. |
Returns
| Type | Description |
|---|---|
| number | The rounded down integer |

max
Return the maximum value from a variable length list of arguments
local ret = math.max(numbers...)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| varargs of number | numbers... | Required parameter | Numbers to get the largest from |
Returns
| Type | Description |
|---|---|
| number | The largest value |

atan
Returns the arc tangent in radians. Passyandxto get the angle of the point (x, y), using the signs of both to find the quadrant
local ret = math.atan(normal)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | normal | Required parameter | Tangent value. |
Returns
| Type | Description |
|---|---|
| number | The angle in radians |

acos
Return the inverse cosine in radians of the given value.
local ret = math.acos(cos)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | cos | Required parameter | Cosine value in range of -1 to 1. |
Returns
| Type | Description |
|---|---|
| number | The angle in radians |

abs
Return the absolute, or non-negative value, of a given value
local ret = math.abs(x)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | x | Required parameter | The number to get the absolute value of. |
Returns
| Type | Description |
|---|---|
| number | The absolute value |

log
Returns the logarithm ofxin the given base. The default base ise(natural logarithm)
local ret = math.log(x, base)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | x | Required parameter | The value to get the base from exponent from. |
| number | base | Required parameter | The logarithmic base. |
Returns
| Type | Description |
|---|---|
| number | The logarithm |

modf
Return the integral and fractional parts of the given number
local ret_1, ret_2 = math.modf(base)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | base | Required parameter | The base value. |

deg
Convert from radians to degrees
local ret = math.deg(radians)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | radians | Required parameter | Value to be converted to degrees. |
Returns
| Type | Description |
|---|---|
| number | The angle in degrees |

sqrt
Return the square root of a given number. Only non-negative arguments are allowed
local ret = math.sqrt(value)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| number | value | Required parameter | Value to get the square root of. |
Returns
| Type | Description |
|---|---|
| number | The square root |