原です。

>けいじゅ@日本ラショナルソフトウェアです.

>結局.
>
>   int/int -> rational
>   int/int -> float
>
>といろいろ定義できるが, 変にベースの集合(intのこと)をrationalとかfloatに
>拡張するよりは, 元(int/int -> int)のままに保っておいた方が, 色々な拡張が
>できるのでよい. ってこと?

だいたい、そういう事です。

前に石塚さんはアルゴリズムの共有の視点から int/int -> rational が
良いと言ったんだけど、それは納得できる点も多いけど、[ruby-math:00625] 
の det2 みたいなかえって int/int -> int のままの方がアルゴリズムを
共有できる例もあるし、一概にはなんとも言えないのではないかと思うの
です。

話が戻りそうで怖いですね。:-)


今、気が付いたんですが、

require "rational"
p 1234567890 <= Rational(1234567890) #=> true
p 1234567890 >= Rational(1234567890) #=> true
p 1234567890 == Rational(1234567890) #=> false

これって何のバグかなあ。