[#29190] AIXでのコンパイル (オプションの統一など) — "Yutaka Kanemoto" <kinpoco@...>

金本ともうします。

21 messages 2006/08/06

[#29200] Re: [ruby-cvs:17336] ruby/lib/date: * lib/date/format.rb: specify maximum number of digits to parse — Tadayoshi Funaba <tadf@...>

ふなばです。

9 messages 2006/08/07

[#29252] 1.8.5への最終コミット — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

14 messages 2006/08/10

[#29284] CGI#out で MIMEエンコード文字列がデコードされる — とみたまさひろ <tommy@...>

とみたです。

26 messages 2006/08/17
[#29285] Re: CGI#out で MIMEエンコード文字列がデコードされる — Takahiro Kambe <taca@...> 2006/08/17

In message <20060817182312.adce9ff7.tommy@tmtm.org>

[#29286] Re: CGI#out で MIMEエンコード文字列がデコードされる — とみたまさひろ <tommy@...> 2006/08/17

とみたです。

[#29287] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29288] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29290] Re: CGI#out で MIMEエンコード文字列がデコードされる — Yukihiro Matsumoto <matz@...> 2006/08/17

まつもと ゆきひろです

[#29292] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29291] ruby 1.8.5 preview4 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

21 messages 2006/08/17
[#29314] Re: ruby 1.8.5 preview4 — URABE Shyouhei <root@...> 2006/08/18

卜部です。

[#29319] Re: ruby 1.8.5 preview4 — Yukihiro Matsumoto <matz@...> 2006/08/19

[#29321] Re: ruby 1.8.5 preview4 — URABE Shyouhei <root@...> 2006/08/19

卜部です。

[ruby-dev:29352] Float#hash collision

From: nobu@...
Date: 2006-08-24 14:08:46 UTC
List: ruby-dev #29352
なかだです。

Float#hashが異様に衝突するようです。以下のコードで調べてみると、
有効率は5%程度です。

  a = Array.new(10_000) {rand}
  h = Hash.new(0)
  a.each {|x| h[x.hash] += 1}
  p h.size.to_f / a.size.to_f


Index: numeric.c
===================================================================
RCS file: /cvs/ruby/src/ruby/numeric.c,v
retrieving revision 1.101.2.23
diff -p -U 2 -r1.101.2.23 numeric.c
--- numeric.c	1 May 2006 03:46:46 -0000	1.101.2.23
+++ numeric.c	24 Aug 2006 13:57:07 -0000
@@ -871,5 +871,5 @@ flo_hash(num)
     c = (char*)&d;
     for (hash=0, i=0; i<sizeof(double);i++) {
-	hash += c[i] * 971;
+	hash = (hash << 2) ^ (c[i] * 971);
     }
     if (hash < 0) hash = -hash;


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next