From: Yukihiro Matsumoto Date: 2008-05-12T12:38:30+09:00 Subject: [ruby-dev:34655] Re: Bignum のメソッドからの bigzero_p まつもと ゆきひろです In message "Re: [ruby-dev:34651] Re: Bignum のメソッドからの bigzero_p" on Sun, 11 May 2008 23:44:49 +0900, Nobuyoshi Nakada writes: |At Sun, 11 May 2008 15:55:26 +0900, |Tanaka Akira wrote in [ruby-dev:34649]: |> > Ruby から Bignum インスタンスのメソッドが呼ばれた場合には |> > bigzero_p ですべてのビットを見る必要はあまり無いように思います。 |> |> 思ったんですが、最上位ビットから検査するあたりで手を打つのは |> どうですかね。 | |ほとんどのケースではRBIGNUM_LENは0か1、まれなケースでも2止まりだ |ろうと思っていたのですが、そんなに大きなBignum 0が大量にできるケー |スがありましたか。 よっぽどのことがないと差は出ないだろうということで、あまり必 要性は感じません。かなり大きな数で下の方のビットがぜんぶゼロっ てケースだとちょっとは差が出るのかな。でも、それならakrさん のおっしゃるように上位からチェックしていくのがよさそうですね。 仮に元のパッチの方向で行くとすると、bigzero_pで真を返す直前に もフラグをセットした方がよいでしょうね。