From: Kenta Murata Date: 2008-04-10T17:40:29+09:00 Subject: [ruby-dev:34293] Re: ComplexFloat むらたです. 2008/4/10 U.Nakamura : > 単にRDataを使って拡張ライブラリでいいのでは、というのがなかだ > さんの指摘だと思います。 それは十分承知しています.拡張ライブラリは個人的に使っているもので 既に持っているので,それで良いなら ruby-dev にメールは送りません. > そうするだけで、VALUEのサイズの問題と、実体をdouble _Complex > で表現することと両方が実現できると思うのですが、そうせずに本 > 体への組み込みにしないといけない理由はなんでしょうか? Ruby に C99 の complex.h を組み込みでサポートさせたいという想いと, 現状の Complex への若干の不満ですかねぇ. ComplexFloat (仮称) が組込みでサポートされると, (1) TYPE(obj) == T_COMPLEX_FLOAT で型を調べることができる (2) T_COMPLEX_FLOAT である複素数は実部も虚部も確実に double であることが保証される という2つの嬉しい事があります.この仕様が実現するととても快適です. そしてこれらのうち T_COMPLEX_FLOAT で型を調べることは 拡張モジュールでは実現できないですし,現状の Complex は実部と虚部の 型を毎回気にしなければなりません.そのうえ,別のメールに書いたように, 複素数の成分が一度 Float になると,それとの演算で生成される複素数 の成分も Float です. -- Kenta Murata OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC