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-16x に負の無限大を渡した場合は -1.0 を返します。
例: 無限大を渡すp Math.expm1(-Float::INFINITY) # => -1.0 p Math.expm1(Float::INFINITY) # => Infinity[SEE_ALSO] expm1(3), Math?.exp, Math?.log1p
- [PARAM]