ruby-changes:40735
From: kosaki <ko1@a...>
Date: Tue, 1 Dec 2015 05:31:18 +0900 (JST)
Subject: [ruby-changes:40735] kosaki:r52814 (trunk): * random.c (init_hashseed, init_siphash): extract initialize
kosaki 2015-12-01 05:31:11 +0900 (Tue, 01 Dec 2015) New Revision: 52814 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=52814 Log: * random.c (init_hashseed, init_siphash): extract initialize functions. Modified files: trunk/ChangeLog trunk/random.c Index: ChangeLog =================================================================== --- ChangeLog (revision 52813) +++ ChangeLog (revision 52814) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Thu Oct 22 05:23:48 2015 KOSAKI Motohiro <kosaki.motohiro@g...> + + * random.c (init_hashseed, init_siphash): extract initialize + functions. + Thu Oct 22 01:01:34 2015 KOSAKI Motohiro <kosaki.motohiro@g...> * configure.in: sort AC_CHECK_HEADERS() by alphabetical order. Index: random.c =================================================================== --- random.c (revision 52813) +++ random.c (revision 52814) @@ -1465,13 +1465,10 @@ init_randomseed(struct MT *mt) https://github.com/ruby/ruby/blob/trunk/random.c#L1465 return seed; } -void -Init_RandomSeed(void) +static void +init_hashseed(void) { - rb_random_t *r = &default_rand; - struct MT *mt = &r->mt; - VALUE seed = init_randomseed(mt); - int i; + struct MT *mt = default_mt(); hashseed = genrand_int32(mt); #if SIZEOF_ST_INDEX_T*CHAR_BIT > 4*8 @@ -1486,12 +1483,16 @@ Init_RandomSeed(void) https://github.com/ruby/ruby/blob/trunk/random.c#L1483 hashseed <<= 32; hashseed |= genrand_int32(mt); #endif +} + +static void +init_siphash(void) +{ + struct MT *mt = default_mt(); + int i; for (i = 0; i < numberof(sipseed.u32); ++i) sipseed.u32[i] = genrand_int32(mt); - - rb_global_variable(&r->seed); - r->seed = seed; } st_index_t @@ -1511,6 +1512,20 @@ rb_memhash(const void *ptr, long len) https://github.com/ruby/ruby/blob/trunk/random.c#L1512 #endif } +void +Init_RandomSeed(void) +{ + rb_random_t *r = &default_rand; + struct MT *mt = &r->mt; + VALUE seed = init_randomseed(mt); + + init_hashseed(); + init_siphash(); + + rb_global_variable(&r->seed); + r->seed = seed; +} + static void Init_RandomSeed2(void) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/