expm1(x) -> FloatRuby 4.0 から[permalink][rdoc][edit]-
e の
x乗から 1 を引いた値、すなわちexp(x) - 1を返します(e は自然対数の底)。xが 0 に近いとき、Math?.exp の結果から 1 を引くと桁落ちによって精度が失われますが、このメソッドはそれを避けて計算します。- [PARAM]
x: - 実数
- [EXCEPTION]
TypeError: -
xに数値以外を指定した場合に発生します。 - [EXCEPTION]
RangeError: -
xに実数以外の数値を指定した場合に発生します。
例: 0 に近い値での精度p Math.expm1(0) # => 0.0 p Math.expm1(-1.0) # => -0.6321205588285577 p Math.expm1(0.5) # => 0.6487212707001282p Math.exp(1e-16) - 1 # => 0.0 (桁落ちして 0 になる) p Math.expm1(1e-16) # => 1.0e-16
例: 無限大を渡すxに負の無限大を渡した場合は-1.0を返します。p Math.expm1(-Float::INFINITY) # => -1.0 p Math.expm1(Float::INFINITY) # => Infinity[SEE_ALSO] expm1(3), Math?.exp, Math?.log1p
- [PARAM]