[#39604] [Bug #2323] "Z".."Z".succが空 — Hiro Asari <redmine@...>
Bug #2323: "Z".."Z".succが空
[#39606] [Feature:trunk] Dir instance methods for relative path — Nobuyoshi Nakada <nobu@...>
なかだです。
まつもと ゆきひろです
kosakiです
なかだです。
> なかだです。
まつもと ゆきひろです
[#39642] [Bug #2338] 大きなFixnumを値にもつHash#hashが呼び出しごとに変わる — Yuki Sonoda <redmine@...>
Bug #2338: 大きなFixnumを値にもつHash#hashが呼び出しごとに変わる
[#39660] [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } — Yusuke ENDOH <mame@...>
遠藤です。
In article <e0b1e5700911110537u2aacf835pc0aea13d89a92cef@mail.gmail.com>,
遠藤です。
At Wed, 11 Nov 2009 23:50:47 +0900,
遠藤です。
[#39669] メンテナ確認プロセス終了。メンテナ募集 — "Yugui (Yuki Sonoda)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#39685] [Feature #2366] private constant — Yusuke Endoh <redmine@...>
Feature #2366: private constant
チケット #2366 が更新されました。 (by Yusuke Endoh)
遠藤です。
咳といいます。
遠藤です。
咳といいます。
成瀬です。
咳といいます。
遠藤です。
咳といいます。
[#39696] [Feature #2372] read_all() with buffering — _ wanabe <redmine@...>
Feature #2372: read_all() with buffering
成瀬です。
チケット #2372 が更新されました。 (by _ wanabe)
In article <4b0081d7e73af_8bc5c2a894735e@redmine.ruby-lang.org>,
[#39709] [Bug #2381] Math.gammaの挙動がx86_64とia64で異なる — Mitsuhiro TAKANO <redmine@...>
Bug #2381: Math.gammaの挙動がx86_64とia64で異なる
[#39714] Net::FTP で upload の resume ができない — Tomoyuki Chikanaga <chikanag@...>
近永と申します。
[#39720] hidden objectって? — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
以下のコミット以降、後述の現象が発生するそうです。
[#39743] String::gsubにおけるinvalid byte sequenceの検出について — TAKEGAWA Hiroshi <takegawa@...>
竹川と申します。
[#39755] RbConfig.rubybin — Tanaka Akira <akr@...>
ruby コマンドのパス名を返す RbConfig.rubybin というメソッド
須藤です。
In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,
> In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,
At Mon, 30 Nov 2009 19:28:39 +0900,
[#39760] [Bug #2395] 可視性の変更による alias されたメソッドの無効化 — _ wanabe <redmine@...>
Bug #2395: 可視性の変更による alias されたメソッドの無効化
[#39796] バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
[ruby-dev:39643] Re: [ruby-dev:39642] [Bug #2338] 大きなFixnumを値にもつHash#hashが呼び出しごとに変わる
モルと申します。
以下の環境で再現してみました。結論から言うとhashを繰り返して呼び出しても変更はありませんでした。
そしてBignumの範囲についてもYuguiさんがおっしゃったのと少しは違うところがあるようです。
~$ uname -a
SunOS kaeko 5.11 snv_111b i86pc i386 i86pc Solaris
~$ isainfo -n
amd64 #=> 基本的に64bitと環境で動いています。
~$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-solaris2.11] #=>
p72なのでp174と何とか違うところがあるかもと思います。
ここから再現です。
~$ irb --simple-prompt
>> h = {:a => 2**61}
=> {:a=>2305843009213693952}
>> h.hash
=> -1073410747
>> h.hash
=> -1073410747
>> h.hash
=> -1073410747
>> h.hash
=> -1073410747
>> h.hash
=> -1073410747
>> h.hash
=> -1073410747 #=> 変更なしです
>> (2**61).class
=> Bignum #=> YuguiさんのマシンではFixnumでした
>> (2**62).class
=> Bignum
>> (2**62 - 1).class
=> Bignum
>> (2*61 -1).class
=> Fixnum #=> 私の環境ではここまでがBignumであるらしいです
>> h1 = {:a => 2**61}
=> {:a=>2305843009213693952}
>> h2 = {:a => 2**61}
=> {:a=>2305843009213693952}
>> h1 == h2
=> true #=> falseだったところが私の環境ではなぜかtrue
>> h1.class == h2.class
=> true
>> h1.hash
=> -1073410747
>> h1.hash
=> -1073410747
>> h2.hash
=> -1073410747
>> h2.hash
=> -1073410747
という風にちょこっとやってみましたが、これってpatch
levelによるものかそれとも実行環境(OpenSolaris)によるものかはよくわかりませんでした。実行環境への依存性があるってことでしょうか。
--
MORU <lateau@gmail.com>
2009/11/5 Yuki Sonoda <redmine@ruby-lang.org>
> Bug #2338: 大きなFixnumを値にもつHash#hashが呼び出しごとに変わる
> http://redmine.ruby-lang.org/issues/show/2338
>
> 起票者: Yuki Sonoda
> ステータス: Open, 優先度: High
> ruby -v: ruby 1.9.1p326 (2009-10-31 revision 25600) [i386-darwin9.8.0]
>
> Yuguiです。1.9.1でも再現を確認しましたのでチケットをコピーします。
>
> --
> 大きなFixnumを値にもつHashについてHash#hashの値が呼び出しごとに変わります。
>
> % ruby -v
> ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10]
> % irb --simple-prompt
> >> h = {:a => 2**61}
> => {:a=>2305843009213693952}
> >> h.hash
> => 3933384
> >> h.hash
> => 4179968
> >> (2**61).class
> => Fixnum
> >> (2**62).class
> => Bignum
>
> 関連してだと思うのですが
> h1.eql? h2 # => true
> であるにもかかわらず
> h1.hash == h2.hash # => false
> となることがあります。
> https://trac.macports.org/ticket/22361
>
> % irb --simple-prompt
> >> {:a => 2**61}.eql?({:a => 2**61})
> => true
> >> {:a => 2**61}.hash == {:a => 2**61}.hash
> => false
>
> 簡単に試してみたところ、値が2**61から2**62-1の範囲で起きるようです。
> 32bitの場合は2**29から2**30-1の範囲で同様の現象が発生します。
>
>
> ----------------------------------------
> http://redmine.ruby-lang.org
>
>