むらたです.

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