From: Tadayoshi Funaba Date: 2008-02-15T22:18:44+09:00 Subject: [ruby-dev:33795] Re: rational, complex and mathn > > それなりに速くはなるし、単純なところでそれなりに満足していますが、一度、 > > 原さんに現状のコードを見てもらって、それで本当につかいものになるか判断 > > してもらいたいのですが、どうでしょう > 原さん > > ふなばさんのコードには既に田中さんの1.9対応も完了していて、やはり乗っか > りたいです。 そうですか。まあ、どれだけ役に立つかわかりませんが。 > それでは、ふなばさんの nurat_core.c を少しずつ書き換える形で、既にある > 私の rational.c の内容を乗せていこうと思います。ただし、書き換えた結果、 > ある程度はっきりした改善がなければ、その部分の書き換えは元に戻します。 > > 書き換えの経過はお知らせするので、お付き合いください。 明日あたり一区切りつけて、あたらしいのを出すつもりです。 比較等のために、原さんの rational も負担にならない程度にメンテしたほう がいいと思いますので、今現在、あきらかにバグっぽいところをお知らせして おきます。 Rational(-1,3) ** -1 #=> Rational(3, -1) Rational(-1,3) ** -3 #=> Rational(27, -1) Rational(1).integer? #=> true 微妙なもの: Rational.new!(1, -2) #=> Rational(1, -2) # オリジナルは Rational(-1,2) になる。 たぶん、Rational(-1,3) が Rational(3,-1) になる原因かなと思うのですが。