むらたです. 2008/4/10 Tanaka Akira <akr / fsij.org>: > In article <761216ce0804100221x67f10f12iab12b0e35b6f50e4 / mail.gmail.com>, > > ごめんなさい.組み込みにする利点はもう一つあります. > > 現状の Complex をいじって,実部と虚部が両方 Float になるときに > > ComplexFloat を返すような仕様にできます.こうすると > > Ruby スクリプト上では Complex と ComplexFloat を区別せずに使え, > > C 上では TYPE(obj) マクロを使うだけで Complex と ComplexFloat を > > 区別して扱うことが可能になります. > > 区別しないなら、Complex の内部にフラグを設けて、実数と虚数と > 両方が Float なら内部の実装を double _Complex ないし double > ふたつをつかうようにするというのは難しいでしょうか。 例えば FL_COMPLEX_FLOAT のようなフラグを使うということでしょうか? それは可能ですし,そのように変更するだけなら難しくないような気がします. さらに,そのように変更しても TYPE(obj) を使う場合とほとんど同じコストで 状態を区別できますね. ただし,変更後の complex.c のメンテナンスは大変かもしれません・・・ -- Kenta Murata OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC