From: Yukihiro Matsumoto Date: 2008-04-11T18:42:49+09:00 Subject: [ruby-dev:34341] Re: ComplexFloat まつもと ゆきひろです In message "Re: [ruby-dev:34340] Re: ComplexFloat" on Fri, 11 Apr 2008 18:36:41 +0900, "Kenta Murata" writes: |複素数については,どちらも必要です.現在 Ruby に任意制度の小数を |表現できるクラスが組込みで提供されていないので,BigDecimal のような |クラスを使って複素数を実現するときはコンテナ型の複素数が必要になります. |ですから,ふなばさんの Complex がコンテナ的である事は実装上の都合 |ではなくて,本来の仕様の一部にすべきです. なるほど。 |その上で,やはり閉じた複素数もあるべきだと思います.そして,最適化等の |可能性を考えれば,閉じた複素数が組込みで提供されている方が自然である |と思います. 単純さや他のクラス構成との整合性を犠牲にしてまで閉じた複素数 クラスを別に用意すべき理由は最適化だけですか? 現在のYARVの最適化実装を考えると、組み込みクラス(たとえば Float)が変更されていない時には高速なプリミティブが動くという 動作をComplex(やRational)に適用してはいけない(or できない)理 由は無いと思うのですが。 まつもと ゆきひろ /:|)