Lua MathExtra

From Spring
Jump to navigationJump to search

Development < Lua Scripting < Lua MathExtra

Additional math functions

math.clamp New in version 95

 ( number x, number min, number max ) -> number
 Returns x clamped to min and max boundaries.

math.diag New in version 95

 ( number x1 [, ... ] ] ) -> number
 Returns the length of the diagonal of an n-dimensional box (or the length of an n-component
 vector). Rather quick method that does not handle intermediate overflows/underflows nor is
 made for numerical stability.

math.erf New in version 95

 ( number x ) -> number
 Returns erf(x).

math.hypot New in version 95

 ( number x, number y ) -> number
 Returns the length of hypotenuse of right angle triangle with sides x and y, equivalent
 to sqrt(x*x + y*y), but has better numerical stability and internaly handles intermediate
 overflows/underflows, but is also slower.

math.mix New in version 95

 ( number x, number y, number a ) -> number
 Returns linear interpolation bewteen x and y with ratio a (x+(y-x)*a).

math.round New in version 95

 ( number x [, number n] ) -> number
 Returns x rounded to n decimals, if n is omitted or <=0, rounds to nearest integer.
 Note that Spring's LUA interpreter uses 32-bit floats for all numbers so max. precision
 is ~7 decimal digits.

math.sgn New in version 95

 ( number x ) -> number
 Returns sgn(x).

math.smoothstep New in version 97

 ( number edge0, number edge1, number v ) -> number
 Returns smoothstep(edge0, edge1, v).