[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]