# Uint32\_t

**URL:** <https://www.ruby-forum.com/t/uint32-t/131765>\
**Category:** Development\
**Created:** [March 13, 2008, 2:50am UTC](https://www.ruby-forum.com/t/uint32-t/131765 "2008-03-13T02:50:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![KIMURA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/ce7236/32.png) [@KIMURA\_Koichi](https://www.ruby-forum.com/u/KIMURA_Koichi)\
**Post date:** [March 13, 2008, 2:50am UTC](https://www.ruby-forum.com/t/uint32-t/131765/1 "2008-03-13T02:50:52Z")

</div>

e$BLZB\<$G$9!#e(B

e$BNc$K$h$C$FJs9p$@$1$G$9!#e(B

01:53 Tuesday ruby  
Commit by matz :: r15743 /trunk/ (ChangeLog string.c):

```
* string.c (hash): replaced by MurmurHash described in 

```

[http://murmurhash.googlepages.com/](http://murmurhash.googlepages.com/).

e$B$3$N=$@5$N7k2L!"e(Buint32\_te$B$d$i$=$NJU$NDj5A$,$J$$%3%s%Q%$%i$Ge(B  
e$B%S%k%I$G$-$J$/$J$C$F$$$^$9!#e(B

e$B$?$V$se(B ruby-dev 34026  
e$B$N@.@%$5$s$N%Q%C%A$,E,MQ$5$l$l$P%S%k%I$G$-$k$h$&$Ke(B  
e$B$J$k$H;W$$$^$9$,;n$7$F$$$^$;$se(B(uint32\_te$B$r\<+A0$GDj5A$7$F%S%k%I$G$-$k$N$Oe(B  
e$B3NG’$7$F$$$^$9e(B)e$B!#e(B

e$B$=$l$G$O!#e(B

> /dev/null  
> e$B$^$D$b$H$5$s!“4h$J$J$^$G$Ke(Bansi  
> e$B%9%?%$%k$N4X?t867?$r;H$&$N$r7y$,$C$Fe(B  
> e$B$$$?$N$K!“e(BC99e$B$N5!G=$r;H$C$?=$@5$r$,$7$,$7$7$F$$$F!”%S%k%I$G$-$^$;!\<$se(B  
> e$B$H$$$&$N$,2?2s$b$”$k$H$$$&$N$bHiFy$H$$$&$+$J$s$H$$$&$+!#e(B

e$B$$$d$^$"4X?t867?$He(B C99e$B$H$O4X78$J$$$C$A$c$J$$$G$9$1$Ie(B

---

<div class="post-metadata">

**Author:** ![KIMURA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/ce7236/32.png) [@KIMURA\_Koichi](https://www.ruby-forum.com/u/KIMURA_Koichi)\
**Post date:** [March 13, 2008, 9:31am UTC](https://www.ruby-forum.com/t/uint32-t/131765/2 "2008-03-13T09:31:58Z")

</div>

e$B@.@%$G$9!#e(B

KIMURA Koichi wrote:

> e$B%S%k%I$G$-$J$/$J$C$F$$$^$9!#e(B  
> e$B$3$N;~E@$G$Oe(B uint32\_t e$B$G$J$/e(B unsigned int e$B$J$N$G\<B:]$Ke(B  
> uint32\_t e$B$K$J$k$N$Oe(B r15760 e$B$G$9$M!#e(B  
> e$B$J$K$O$H$b$"$le(B r15762  
> e$B$G%S%k%I$ODL$k$h$&$K$J$C$F$$$k$H;W$$$^$9!#e(B

e$B$?$@!"e(BMurmurHash e$B$N0U?^$7$F$$$k5!G=$OH/4x$5$l$F$$$J$/$F!“e(B  
h e$BEy$be(B unsigned int e$B$G$J$/e(B int32\_t  
e$B$K$9$kI,MW$,$”$k$H;W$$$^$9!#e(B  
e$B$^$?!"e(Bm e$B$N=i4|CM$,:G?7HG$G$Oe(B 0x7fd652ad e$B$+$ie(B  
0xc6a4a793 e$B$KJQ99$5$l$F$$$k$N$G!"e(B  
e$B$3$l$bDI=\>$7$?J}$,$$$$$G$7$g$&!#e(B  
e$B$5$i$K!"e(Balign e$B$de(B pack e$B$Oe(B len  
e$B$H1i;;$,9T$o$l$k$N$G!"7?$r$=$m$($?J}$,$$$$$+$b$7$l$^$;$s!#e(B

— string.c (revision 15762)  
+++ string.c (working copy)  
@@ -1697,20 +1697,21 @@ rb\_str\_concat(VALUE str1, VALUE str2)  
#endif

/\* MurmurHash described in [http://murmurhash.googlepages.com/](http://murmurhash.googlepages.com/) \*/  
-unsigned int  
-hash(const unsigned char \* data, int len, unsigned int h)  
+uint32\_t  
+hash(const unsigned char \* data, long len, uint32\_t h)  
{

- const unsigned int m = 0x7fd652ad;

- const unsigned int m = 0xc6a4a793;  
const int r = 16;

- 

```
  int align = (VALUE)data & 3;

```

- 

```
  long align = (VALUE)data & 3;
  if (align) {
      uint32_t t = 0, d = 0;

```

- 

```
      int sl, sr, pack;

```

- 

```
      uint32_t sl, sr;

```

- 

```
      long pack;

      switch (align) {

```

#ifdef WORDS\_BIGENDIAN

e$B$J$_!"$3$Ne(B hash() e$B$Oe(B static  
e$B$,$D$$$F$$$^$;$s$,!"e(Bintern.h e$B$K$b5-=R$5$l$F$$$^$;$s$7!"e(B  
e$BB\>$N%U%!%$%k$+$i;H$o$l$F$$$k7A@W$b$J$/!"L\>A0$,0lHLE_$J$"$?$j$+$i!"e(B  
e$BHs8x3+$r0U?^$5$l$?4X?t$@$H?dB,$7$?$N$G$9$,!"e(Bstatic  
e$B$N$7$?J}$,$$$$$N$G$O$J$$$G$7$g$&$+!#e(B

---

<div class="post-metadata">

**Author:** ![KIMURA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/ce7236/32.png) [@KIMURA\_Koichi](https://www.ruby-forum.com/u/KIMURA_Koichi)\
**Post date:** [March 13, 2008, 12:02pm UTC](https://www.ruby-forum.com/t/uint32-t/131765/3 "2008-03-13T12:02:01Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:34032] Re: uint32\_t”  
on Mar.13,2008 17:30:41, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| e$B$3$N;~E@$G$Oe(B uint32\_t e$B$G$J$/e(B unsigned int e$B$J$N$G\<B:]$Ke(B uint32\_t e$B$K$J$k$N$Oe(B r15760 e$B$G$9$M!#e(B  
| e$B$J$K$O$H$b$"$le(B r15762 e$B$G%S%k%I$ODL$k$h$&$K$J$C$F$$$k$H;W$$$^$9!#e(B

ext/digest/defs.he$B$Ge(Buint32\_te$B$re(Btypedefe$B$7$h$&$H$7$F$$$k$;$$$G!"e(B  
inttypes.he$B$,$J$$4D6-$G$O%S%k%I$,DL$i$J$$$h$&$K$J$C$F$^$9$,e(B 🙂

e$B$3$l$I$&$7$^$7$g$&$+$M!#e(B  
uint8\_te$B$He(Buint64\_t(e$B2DG=$J$ie(B)e$B$be(Brubye$B$GMQ0U$9$k$h$&$K$7$F$3$NJU$^e(B  
e$B$k$4$H\>C$9$N$,$$$$$s$G$9$+$M!#e(B

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![KIMURA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/ce7236/32.png) [@KIMURA\_Koichi](https://www.ruby-forum.com/u/KIMURA_Koichi)\
**Post date:** [March 14, 2008, 2:19am UTC](https://www.ruby-forum.com/t/uint32-t/131765/4 "2008-03-14T02:19:22Z")

</div>

æˆç€¬ã§ã™ã€‚

U.Nakamura wrote:

> ã‚‹ã”ã¨æ¶ˆã™ã®ãŒã„ã„ã‚“ã§ã™ã‹ã­ã€‚  
> ã¨ã‚Šã‚ãˆãšã“ã‚“ãªæ„Ÿã˜ã§ã©ã†ã§ã—ã‚‡ã†ã€‚

---

<div class="post-metadata">

**Author:** ![KIMURA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/ce7236/32.png) [@KIMURA\_Koichi](https://www.ruby-forum.com/u/KIMURA_Koichi)\
**Post date:** [March 14, 2008, 2:29am UTC](https://www.ruby-forum.com/t/uint32-t/131765/5 "2008-03-14T02:29:54Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:34040] Re: uint32\_t”  
on Mar.14,2008 10:15:29, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| \> ext/digest/defs.he$B$Ge(Buint32\_te$B$re(Btypedefe$B$7$h$&$H$7$F$$$k$;$$$G!“e(B  
| \> inttypes.he$B$,$J$$4D6-$G$O%S%k%I$,DL$i$J$$$h$&$K$J$C$F$^$9$,e(B 🙂  
| \>  
| \> e$B$3$l$I$&$7$^$7$g$&$+$M!#e(B  
| \> uint8\_te$B$He(Buint64\_t(e$B2DG=$J$ie(B)e$B$be(Brubye$B$GMQ0U$9$k$h$&$K$7$F$3$NJU$^e(B  
| \> e$B$k$4$H\>C$9$N$,$$$$$s$G$9$+$M!#e(B  
|  
| e$B$H$j$”$($:$3$s$J46$8$G$I$&$G$7$g$&!#e(B

Windowse$BB&$NFbMF$KB?\>/$NLdBj$,$J$/$b$J$$$G$9$,!"$=$NJU$OF~$C$?e(B  
e$B$iD\>$9$N$G$$$$$3$H$K$7$^$9!#e(B  
e$B$H$$$&$o$1$G!"F~$l$F$[$7$$$G$9!#e(B

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![KIMURA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/ce7236/32.png) [@KIMURA\_Koichi](https://www.ruby-forum.com/u/KIMURA_Koichi)\
**Post date:** [March 14, 2008, 3:03am UTC](https://www.ruby-forum.com/t/uint32-t/131765/6 "2008-03-14T03:03:57Z")

</div>

e$B@.@%$G$9!#e(B

U.Nakamura wrote:

> |  
> | e$B$H$j$"$($:$3$s$J46$8$G$I$&$G$7$g$&!#e(B
> 
> Windowse$BB&$NFbMF$KB?\>/$NLdBj$,$J$/$b$J$$$G$9$,!"$=$NJU$OF~$C$?e(B  
> e$B$iD\>$9$N$G$$$$$3$H$K$7$^$9!#e(B  
> e$B$H$$$&$o$1$G!"F~$l$F$[$7$$$G$9!#e(B

e$BF~$l$^$7$?!#e(B

e$B$3$A$i$Ge(BWindows e$BIw$KD\>$=$&$+$H$b;W$C$?$N$G$9$,!"e(B  
e$B$I$N7?$r;H$($P$$$$$+$o$+$i$J$+$C$?$N$G$h$m$7$/$\*$M$,$$$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![KIMURA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/ce7236/32.png) [@KIMURA\_Koichi](https://www.ruby-forum.com/u/KIMURA_Koichi)\
**Post date:** [March 14, 2008, 3:37am UTC](https://www.ruby-forum.com/t/uint32-t/131765/7 "2008-03-14T03:37:58Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:34043] Re: uint32\_t”  
on Mar.14,2008 11:01:40, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| \> Windowse$BB&$NFbMF$KB?\>/$NLdBj$,$J$/$b$J$$$G$9$,!"$=$NJU$OF~$C$?e(B  
| \> e$B$iD\>$9$N$G$$$$$3$H$K$7$^$9!#e(B  
| \> e$B$H$$$&$o$1$G!"F~$l$F$[$7$$$G$9!#e(B  
|  
| e$BF~$l$^$7$?!#e(B  
|  
| e$B$3$A$i$Ge(BWindows e$BIw$KD\>$=$&$+$H$b;W$C$?$N$G$9$,!"e(B  
| e$B$I$N7?$r;H$($P$$$$$+$o$+$i$J$+$C$?$N$G$h$m$7$/$\*$M$,$$$7$^$9!#e(B

e$B$$$d!"C1$K:rF|F~$l$?e(Buint32\_te$B$NDj5A$,;D$C$F$k$+$i=EJ#$K$J$C$Fe(B  
e$B$?$N$H!“e(Bbcc32/Makefile.sube$B$,%9%k!\<$5$l$F$$$?$N$H!”$,LdBj$G$7e(B  
e$B$?!#e(B

e$B$"$H!"e(BWindowse$B$Oe(Bintptr\_te$B$He(Buintptr\_te$B$O;}$C$F$$$ke(B(e$B;}$C$F$$$J$$\>le(B  
e$B9g$Oe(Bruby.he$B$GMQ0U$7$F$$$ke(B)e$B$N$G$=$NDj5A$b\>C$7$^$7$?!#e(B

e$B$=$l$G$O!#e(B
