The math namespace contains Lua-compatible numeric functions plus Space Lua’s cosineSimilarity helper.

math.abs

math.abs(x)

Returns the absolute value of x.

Parameters:

  • x (number)

Returns:

  • number

math.acos

math.acos(x)

Returns the arc cosine of x in radians.

Parameters:

  • x (number)

Returns:

  • number

math.asin

math.asin(x)

Returns the arc sine of x in radians.

Parameters:

  • x (number)

Returns:

  • number

math.atan

math.atan(y, x?)

Returns the arc tangent of y/x in radians, using 1 for omitted x.

Parameters:

  • y (number)
  • x? (number)

Returns:

  • number

math.ceil

math.ceil(x)

Returns the smallest integer greater than or equal to x.

Parameters:

  • x (number)

Returns:

  • integer

math.cos

math.cos(x)

Returns the cosine of x radians.

Parameters:

  • x (number)

Returns:

  • number

math.cosh

math.cosh(x)

Deprecated: Retained for compatibility with older Lua versions.

Returns the hyperbolic cosine of x.

Parameters:

  • x (number)

Returns:

  • number

math.cosineSimilarity

math.cosineSimilarity(vecA, vecB)

Returns the cosine similarity between two equal-length numeric vectors.

Parameters:

  • vecA (table)
  • vecB (table)

Returns:

  • number — Cosine similarity.

Example:

print(math.cosineSimilarity({1, 2, 3}, {4, 5, 6}))

math.deg

math.deg(x)

Converts an angle from radians to degrees.

Parameters:

  • x (number)

Returns:

  • number

Example:

print(math.deg(math.pi)) -- 180

math.exp

math.exp(x)

Returns e raised to x.

Parameters:

  • x (number)

Returns:

  • number

math.floor

math.floor(x)

Returns the largest integer less than or equal to x.

Parameters:

  • x (number)

Returns:

  • integer

math.fmod

math.fmod(x, y)

Returns the remainder of x / y with the quotient rounded toward zero.

Parameters:

  • x (number)
  • y (number)

Returns:

  • number

math.frexp

math.frexp(x)

Decomposes x into a normalized fraction and a power-of-two exponent.

Parameters:

  • x (number)

Returns:

  • number — Fraction.
  • integer — Exponent.

math.ldexp

math.ldexp(m, e)

Returns m * 2^e, the inverse of math.frexp.

Parameters:

  • m (number)
  • e (integer)

Returns:

  • number

math.log

math.log(x, base?)

Returns the logarithm of x, using the natural base unless another base is supplied.

Parameters:

  • x (number)
  • base? (number)

Returns:

  • number

Example:

print(math.log(100, 10)) -- 2

math.max

math.max(x, ...): number

Returns the greatest of its arguments.

Returns:

  • number

math.min

math.min(x, ...): number

Returns the least of its arguments.

Returns:

  • number

math.modf

math.modf(x)

Splits x into its integral and fractional parts.

Parameters:

  • x (number)

Returns:

  • integer — Integral part.
  • float — Fractional part.

Example:

local integer, fraction = math.modf(3.14)

math.pow

math.pow(x, y)

Deprecated: Use the ^ operator instead.

Returns x raised to the power y.

Parameters:

  • x (number)
  • y (number)

Returns:

  • number

math.rad

math.rad(x)

Converts an angle from degrees to radians.

Parameters:

  • x (number)

Returns:

  • number

math.random

math.random(): number math.random(n): integer math.random(m, n): integer

Returns a pseudo-random float or an integer in a requested inclusive range.

Parameters:

  • m? (integer)
  • n? (integer)

Returns:

  • number — Pseudo-random result.

Example:

print(math.random())
print(math.random(10))
print(math.random(5, 10))

math.randomseed

math.randomseed(): integer, integer math.randomseed(x, y): integer, integer

Seeds the pseudo-random generator and returns the two seeds used.

Parameters:

  • x? (integer)
  • y? (integer)

Returns:

  • integer — First seed.
  • integer — Second seed.

math.sin

math.sin(x)

Returns the sine of x radians.

Parameters:

  • x (number)

Returns:

  • number

math.sinh

math.sinh(x)

Deprecated: Retained for compatibility with older Lua versions.

Returns the hyperbolic sine of x.

Parameters:

  • x (number)

Returns:

  • number

math.sqrt

math.sqrt(x)

Returns the square root of x.

Parameters:

  • x (number)

Returns:

  • number

math.tan

math.tan(x)

Returns the tangent of x radians.

Parameters:

  • x (number)

Returns:

  • number

math.tanh

math.tanh(x)

Deprecated: Retained for compatibility with older Lua versions.

Returns the hyperbolic tangent of x.

Parameters:

  • x (number)

Returns:

  • number

math.tointeger

math.tointeger(x)

Converts a value to an integer when it has an exact finite integral representation.

Parameters:

  • x — Value to convert.

Returns:

  • integer|nil — Converted integer or nil.

math.type

math.type(x)

Returns integer or float for a number, or nil for other values.

Parameters:

  • x — Value to inspect.

Returns:

  • string|nil — Numeric subtype or nil.

math.ult

math.ult(m, n)

Compares two integers as unsigned 32-bit values.

Parameters:

  • m (integer)
  • n (integer)

Returns:

  • boolean

Example:

print(math.ult(2, 3)) -- true