Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > bigdecimal/mathライブラリ > BigMathモジュール

module BigMath

クラスの継承リスト: BigMath

要約

BigDecimalを使った数学的な機能を提供するモジュールです。

インスタンスメソッド

E(prec) -> BigDecimal

自然対数の底 e を prec で指定した精度で計算します。

[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts E(10) #=> 0.271828182845904523536028752390026306410273E1
PI(prec) -> BigDecimal

円周率を prec で指定した精度で計算します。

[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts PI(10) #=> 0.314159265359224236485984067E1
atan(x, prec) -> BigDecimal

x の逆正接関数を prec で指定した精度で計算します。単位はラジアンです。 x に無限大や NaN を指定した場合には NaN を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。単位はラジアン。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
x の絶対値が1以上の場合に発生します。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts atan(BigDecimal.new('0.5'), 10) #=> 0.463647609000806116214256237466868871528608E0
注意

x の絶対値を 0.9999 のような 1 に近すぎる値にすると計算結果が収束しない 可能性があります。

cos(x, prec) -> BigDecimal

x の余弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。単位はラジアン。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts cos(BigDecimal.new('0.5'), 10) #=> 0.8775825618903727161162815826327690580439923E0
exp(x, prec) -> BigDecimal

x の指数関数を prec で指定した精度で計算します。 x に無限大や NaN を指定した場合には x を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts exp(BigDecimal.new('1'), 10) #=> 0.271828182845904523536028752390026306410273E1
log(x, prec) -> BigDecimal

x の自然対数を prec で指定した精度で計算します。x に無限大や NaN を指定 した場合には x を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts log(BigDecimal.new('2'), 10) #=> 0.693147180559945309417232112588603776354688E0
sin(x, prec) -> BigDecimal

x の正弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。単位はラジアン。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts sin(BigDecimal.new('0.5'), 10) #=> 0.479425538604203000273287935689073955184741E0
sqrt(x, prec) -> BigDecimal

x の平方根を prec で指定した精度で計算します。

[PARAM] x:
平方根を求める数。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] FloatDomainError:
x に 0 以下、もしくは NaN が指定された場合に発生します。
[EXCEPTION] ArgumentError:
prec に 0 未満が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts sqrt(BigDecimal.new('2'), 10) #=> 0.14142135623730950488016883515E1
module BigMath