From: "K.Kodama" Date: 2000-04-19T12:48:13+09:00 Subject: [ruby-list:21986] Re: Polynomial.rb and floating point exception 児玉です. 自己res(訂正). From: "K.Kodama" Subject: [ruby-list:21984] Re: Polynomial.rb and floating point exception Date: Wed, 19 Apr 2000 09:20:37 +0900 Message-ID: <20000419092041J.kdm@kobe-kosen.ac.jp> .... > def <=>(o) > if self===Inf; if o===Inf; return 0;else return 1;end > elsif self===Infm; if o===Infm; return 0;else return -1;end > end > end 無限大の扱いですが, 上だと clone されちゃうとダメみたい. 以下のように変えて polynomial(number.rb) を更新しました. def initialize(s); @sign=s;end Inf=InfinityClass.new(1) # +Infinity Infm=InfinityClass.new(-1) # -Infinity undef initialize def <=>(o) if o.kind_of?(InfinityClass); return @sign<=>o.sign;end return @sign<=>0 end -- K.Kodama(kodama@kobe-kosen.ac.jp)