From: keiju@... (keiju ISHITSUKA) Date: 2008-10-26T02:36:02+09:00 Subject: [ruby-dev:36929] Re: {Complex,Rational}::Unify けいじゅ@いしつかです. In [ruby-dev :36926 ] the message: "[ruby-dev:36926] Re: {Complex,Rational}::Unify ", on Oct/25 15:00(JST) "Yugui (Yuki Sonoda)" writes: >Yuguiです。 >と、すると大幅な重複定義はやむを得ません。しかし、今後の組み込みクラスの >ほうの改善なり何なりにどうやって追随していくのかが甚だ不安になります。 確に, それは全く否定しません. >シンボルの衝突も含めて、プリプロセッサマクロでmathn版と組み込み版を切り >替えてコンパイルするようにパッチを書いてみました。 >基本的には石塚さんの変更を組み込みクラスのほうにマージして、その上で切り >替え用マクロを足したものです。添付します。 今回は, 時間の関係もあり, 私の方からはそのような提案はしていませんでい たが, 実際には, そういう方向が望ましいとと考えています. 私の方として も, この様にしていただけるならありがたいです. それとは話は変わりますが, Yuguiさんの案では, ext/mathn/rational/rational.c ext/mathn/complex/complex.c は, #define EXT_MATHN #define CANON #include "../../../complex.c" な感じのコードとして残っていますが, いっそうのこと削除して, extconf.rb で下記のようなコードを Makefile に追加で生成するようにした方がよいと思っ ています. complex.c: ../../../complex.c @cp -p $^ $@ # すいません. 時間の関係でテストはしていません. __ ---------------------------------------------------->> 石塚 圭樹 <<--- ---------------------------------->> e-mail: keiju@ishitsuka.com <<---