From: Tadayoshi Funaba Date: 2008-02-16T14:28:03+09:00 Subject: [ruby-dev:33806] Re: rational, complex and mathn nurat 0.0.2 を出しました (ついでに nucomp も)。 一応、コードの説明を簡単にします。 下請けのメソッド呼びだしのあたりは、関数版 (インライン関数) と、マクロ 版があります (関数のほうもマクロをつかってるわけですが)。マクロ版が有 効になっています。マクロのほうにはいくらか短絡のためのコードが入ってい ますが、gcc の拡張機能をつかっているので、gcc 以外では意味がありません。 マクロ版でおかしく、関数版で正しい場合は、おそらく手動最適化バグです。 最終的には、このあたりは整理しなければならないところです。 原さんの gcd を参考に試したり、いろいろと工事中のところが残っていて読 みづらいと思います。すみませんが我慢してください。 http://www.funaba.org/archive/nurat-0.0.2.tar.gz http://www.funaba.org/archive/nucomp-0.0.2.tar.gz テストはここに置いておきます。 http://www.funaba.org/archive/nurat-test.tar.gz nurat 単体、nurat + complex、nurat + complex + mathn、nurat + nucomp、 nurat + nucomp + mathn の組み合せてテストしています。1.9 でも動くと思 います。 他に、適当な組み合せで、力任せに計算して Common Lisp での結果と突き合 せることもしています。 では、よろしくお願いします。