[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:1681

From: 5 5 <redmine@r...>
Date: Mon, 7 Sep 2009 10:00:11 +0900
Subject: [ruby-reference-manual:1681] [Bug #2056] mathn の「実数と複素数の相互変換」の説明

Bug #2056: mathn の「実数と複素数の相互変換」の説明
http://redmine.ruby-lang.org/issues/show/2056

起票者: 5 5
ステータス: Open, 優先度: Low
カテゴリ: doc
reporter: 5.5, ruby_version: 1.8, 1.9

library mathn の「実数と複素数の相互変換」の実行例が,Ruby 1.8.7, 1.9.1 ともに
 Complex(0,-1)**2  #=> Complex(-1,0)
 Math.sqrt(-1)     #=> NaN
 
 require 'mathn'
 Complex(0,-1)**2  #=> -1
 Math.sqrt(-1)     #=> Complex(0,1)
となっています。

しかし,最初の Math.sqrt(-1) は,Ruby のどちらのバージョンにおいても,NaN を返しません。
require 'complex' していない場合,例外「Errno::EDOM: Domain error - sqrt」が発生します。
require 'complex' した場合は Complex(0, 1.0) が返ります。

Math.sqrt の定義域が拡がるのは mathn ではなく complex のお陰ではないでしょうか?
※Ruby 1.8 の場合,complex ライブラリをロードしなければ,そもそも 1 行目が実行できません。


----------------------------------------
http://redmine.ruby-lang.org

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]