正木です。

In [ruby-math:00963]

|原です。
|
||Fixnum と Bignum の区別は Ruby の内部事情ですから、出来る限り
||user に意識させるべきではないと考えます。
|
|同意します。変ですねえ。どこから意見が分かれているのでしょう。(^^;

これは原さんが"組み込みのメソッドを書く人"の立場だからではないでしょ
うか。
私は"組み込みのメソッドを使う"ユーザーの立場から書いています。

例えば整数の"/" の再定義をする際に、Fixnum,Bignum 双方を書き換えない
といけないのは、わずらわしくないですか?
gcd や isqrt を再定義することは実際にはないかも知れませんが、
bitlength を負数に対しても定義したいと思う人はいるかも知れません。


|Integer が Fixnum と Bignum に分かれているのは、色んな理由があると思
|いますが、とにかく分かれている現状を前提とするなら、分けて実装するの
|はあたりまえだと思うんだけどな。

Ruby では Linux 等と同じくユーザーが source code に手を入れて自分の使
い易いようにするのは許されているはず(ひょっとして間違っていますか?)
なので、例えばある人が bignum.c に新しい method を付け加えたいと思った
とします。
その際既に定義してある関数が Integer に対して定義してあって、その引数
が Fixnum か Bignum かを気にしなくて済むようになっていた方が使いやすい
ことは例をあげるまでもなく明らかではないでしょうか?

今 bignum.c を見直していて初めて気が付きましたが rb_big_mul(x, y) だけ
は x が Fixnum の場合にも対応しています。他の関数もそうなっていれば随分
楽なのにと思います。