児玉 です.

ruby-dev な人? お願い.
Alpha で Infinity=1.0/0.0 と書くと問題が出るそうです.

From: Daisuke IKEGAMI <daisu-ik / is.aist-nara.ac.jp>
Subject: [ruby-math:00260] Re: Polynomial.rb and floating point exception
Date: Tue, 18 Apr 2000 12:49:33 +0900
Message-ID: <200004180349.MAA13146 / alpha085.aist-nara.ac.jp>
.....
> <       Infinity=1.0/0.0
> ---
> > #     Infinity=1.0/0.0
> >       Infinity=Complex::I
> 
> を施したら、エラーは出なくなりました。
> 児玉さんのWeb pageにあるexampleも動作しました。とても嬉しいです。
> 
> ただ今回の件で、requireしたソースに浮動小数点エラーが発生した際、
> ソースの何行目が原因でエラーが生じたのかわからなかったのが非常に残念です。
> そーゆー仕組みはないのですか?僕が方法を知らないだけ?

僕も知らないです.


> まだ、polynomial.rbやnumber.rbをしっかり読んでいないので、
> 児玉さんの言う、``一応''というのがどういう意味なのかわかりません。
> 
> 何か不都合が出るんでしょうか?


"気分的な不都合が"... まあ, 気にする必要は無いです.

どこで使っているかと云うと, polynomial.rb の
countSolution(a,b) は区間(a,b) での 方程式f=0 の解の個数を求めますが,
f.countSolution(-Infinity, 0.0) とかって使いたいわけ.
コ−ド的には if 文で Infinity を特別扱いしているので,
普通の実数値と見分けがつきさえすれば正常に動作する.
> >       Infinity=Complex::I
これで問題はありません.
しかし, Complex::I を∞の目印にしてしまうのは,気分的に問題あり.
-- 
K.Kodama(kodama / kobe-kosen.ac.jp)