From: matz@... (Yukihiro Matsumoto) Date: 2002-08-15T12:57:40+09:00 Subject: [ruby-list:35760] Re: Bignum fast multiplication まつもと ゆきひろです In message "[ruby-list:35759] Bignum fast multiplication" on 02/08/15, IKEGAMI Daisuke writes: |2 つの Bignum の掛け算を現在(Ruby 1.6.7)の実装よりも |早く計算する Karatsuba アルゴリズムを試しました。 |[ruby-talk 29707] で紹介されている Benchmark 1 を、 |手元の環境で試したところ、速度が約 1/5 になりました。 おおっ。 |Bignum を生成するための C の関数 bignew_1() が | bignum.c で定義されています。 |しかし static な関数として定義されているので、 |拡張ライブラリを作るときに bignew_1 を呼べません。 | |たとえば、今回のように Bignum の演算をつけくわえるときに、 |Bignum のオブジェクトを C のプログラム上で作りたくなることが |あるのですがどうしたらいいですか。 | |今回は、bignum.c の bignew_1() をそっくりコピーした |別の関数を使いました。 どっちかっていうと、そういうコードは本体に取り込んだ方が良い と思うのです。ということで、テスト中はコピーしたものを使い、 動くようになったら(CVSアカウントをあげますから)コミットして もらうというのがよいのではないかと。