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

In [ruby-math :00682 ] the message: "[ruby-math:00682] Re: complex#/
problem ", on Apr/10 18:50(JST) Shin-ichiro HARA writes:

>原(信)です。

>>Matrix#detやMatrix#inverseの時に気が付くべきでしたが, Complex#/でも同様
>>の問題があることに気が付きました.
>>
>>irb(main):001:0> 1 / Complex(1,1)
>>Complex(0, -1)
>>irb(main):002:0> Rational(1)/Complex(1,1)
>>Complex(Rational(1, 2), Rational(-1, 2))
>>
>>で, こういうのって非常に分りにくいバグの元ですので, complex.rbと
>>matrix.rbはrational.rbをrequireし, Inetgerの除算などはRational上で計算し
>>ようかと思うようになりました.
>
>やっぱりこれって Int/Int -> Rational と連動するんじゃないかなあ。

かなぁ... じゃなくてぇ. でも, 原さんは int/int->int派だったはずでしたが
(^^;;;

>># 昔, Matrixの問題のときに原さんが提案したと思いますが.
>反対したんじゃなかったけ?(^^;

MatrixがRational知っているというのもねぇ... と思ったのですが, Rational組
み込み推進派としては, MatrixがRational知っていてもよいと感じることにしま
した.

>>  また, Matrix#detのように結果としてIntegerならそのまま
>>Integerにすることもできるからです. 
>
>そういう事が自然な感じでできるなら、悪くないのかも。

少なくとも見た目は自然にできるしょう. 実装はどうなるかは別として.

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---