Difference between revisions of "Math.frexp"
From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
(One intermediate revision by the same user not shown) | |||
Line 5: | Line 5: | ||
=== Description === | === Description === | ||
Used to split a floating-point number (v) into a normalized fraction (a mantissa) and an integer exponent. | Used to split a floating-point number (v) into a normalized fraction (a mantissa) and an integer exponent. | ||
− | < | + | <syntaxhighlight lang="lua"> |
(number) (number) = math.frexp(v) | (number) (number) = math.frexp(v) | ||
− | </ | + | </syntaxhighlight> |
Returns m and e such that v = m*2^e, e is an integer and the absolute value of m is in the range [0.5, 1) (or zero when v is zero). The mantissa has the same sign as the argument v. | Returns m and e such that v = m*2^e, e is an integer and the absolute value of m is in the range [0.5, 1) (or zero when v is zero). The mantissa has the same sign as the argument v. | ||
Line 19: | Line 19: | ||
=== Example === | === Example === | ||
− | < | + | <syntaxhighlight lang="lua"> |
local m, n = math.frexp(16.4) | local m, n = math.frexp(16.4) | ||
print("mantissa", m, "exponent", n) -- mantissa 0.5125 exponent 5 | print("mantissa", m, "exponent", n) -- mantissa 0.5125 exponent 5 | ||
print(m*2^n) -- 16.4 | print(m*2^n) -- 16.4 | ||
− | </ | + | </syntaxhighlight> |
=== Note === | === Note === |
Latest revision as of 14:30, 13 July 2023
Available since: Gideros 2011.6
Class: math
Description
Used to split a floating-point number (v) into a normalized fraction (a mantissa) and an integer exponent.
(number) (number) = math.frexp(v)
Returns m and e such that v = m*2^e, e is an integer and the absolute value of m is in the range [0.5, 1) (or zero when v is zero). The mantissa has the same sign as the argument v.
Parameters
v: (number) value
Return values
Returns (number) the mantissa, a multiplier in the range [0.5, 1) (normalized fraction)
Returns (number) the exponent as an integer
Example
local m, n = math.frexp(16.4)
print("mantissa", m, "exponent", n) -- mantissa 0.5125 exponent 5
print(m*2^n) -- 16.4
Note
math.ldexp is the inverse operation.
- Math
- Math.abs
- Math.acos
- Math.asin
- Math.atan
- Math.atan2
- Math.ceil
- Math.clamp
- Math.cos
- Math.cosh
- Math.cross
- Math.deg
- Math.distance
- Math.distances
- Math.dot
- Math.edge
- Math.exp
- Math.fft
- Math.floor
- Math.fmod
- Math.frexp
- Math.ifft
- Math.inside
- Math.ldexp
- Math.length
- Math.log
- Math.log10
- Math.max
- Math.min
- Math.modf
- Math.nearest
- Math.noise
- Math.normalize
- Math.pow
- Math.rad
- Math.random
- Math.randomseed
- Math.raycast
- Math.round
- Math.sign
- Math.sin
- Math.sinh
- Math.sqrt
- Math.tan
- Math.tanh