------art_12698_5270441.1207463862023
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

村田です.

C99 の double _Complex をラップした ComplexFloat を実装しました.
Rev 15910 に対する patch を添付します.
# サイズがデカいと fml に怒られたので gzip しました.

「C99 の double _Complex をラップした」とましたが;
咐磔 は C99 を要求していないはずなので,configure --with-c99-complex することで
double _Complex を使うようにしています.--with-c99-complex が指定されていない場合は,
double _Complex と同一レイアウトの体を使用します.

ComplexFloat::Math モジュールには,C99 で追加された複素数用関数のラッパを定義しています.
この複素数用関数も,--with-c99-complex が指定されなければ互換性がある(はず)の独自実装を使います.

Complex 組み込みのスレッドでは僕の意図がきちんと伝わらず,
話が変な方に行ってしまい残念な思いをしたので,実装で意図を示す事にしました.
complex.rb で提供れていた Complex が組み込みで提供されるなら,
こういう実装の複素数が組み込みで提供されていても良いと思いますがどうでしょう?

私の希望としては,ふなばさんの Complex と僕の ComplexFloat を両方組み込みで提供してもらいたいです.
ふなばさんの Complex は多倍長固定小数点数などを使用する場合に必要になります.
私の ComplexFloat は拡張モジュールで計算ルーチンを場合に使い易い実装になってるはずです;
て,できれば Complex <-> ComplexFloat 間の変換を Rational,Integer <-> Float 間の変換と
同じようなルールにすべきかなと考えています (まだなってない).

-- 
Kenta Murata
OpenPGP FP  A26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC

------art_12698_5270441.1207463862023
Content-Type: application/x-gzip; name=complex_float.patch.gz
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fep8srom0
Content-Disposition: attachment; filename=complex_float.patch.gz

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
------art_12698_5270441.1207463862023--