Lua MathExtra: Difference between revisions
From Spring
Jump to navigationJump to search
| Line 8: | Line 8: | ||
'''math.diag''' {{new|95}} | '''math.diag''' {{new|95}} | ||
( number x1 [, ... ] ] ) -> number | ( number x1 [, ... ] ] ) -> number | ||
<span class="note">Returns the length of diagonal of an n-dimensional box. Rather quick method that does not | <span class="note">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.</span> | |||
'''math.erf''' {{new|95}} | '''math.erf''' {{new|95}} | ||
Revision as of 20:52, 9 March 2015
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).