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

ruby-changes:10074

From: shyouhei <ko1@a...>
Date: Sat, 17 Jan 2009 12:19:39 +0900 (JST)
Subject: [ruby-changes:10074] Ruby:r21617 (ruby_1_8_7): merge revision(s) 18509:

shyouhei	2009-01-17 12:18:21 +0900 (Sat, 17 Jan 2009)

  New Revision: 21617

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21617

  Log:
    merge revision(s) 18509:
    * array.c (rb_ary_sample): rename #choice to #sample.  in
      addition, sample takes optional argument, a la #first.
    * random.c (Init_Random): always initialize seed.

  Modified files:
    branches/ruby_1_8_7/ChangeLog
    branches/ruby_1_8_7/random.c
    branches/ruby_1_8_7/version.h

Index: ruby_1_8_7/ChangeLog
===================================================================
--- ruby_1_8_7/ChangeLog	(revision 21616)
+++ ruby_1_8_7/ChangeLog	(revision 21617)
@@ -1,3 +1,7 @@
+Sat Jan 17 12:16:10 2009  Yukihiro Matsumoto  <matz@r...>
+
+	* random.c (Init_Random): always initialize seed.
+
 Fri Jan 16 10:59:31 2009  Yukihiro Matsumoto  <matz@r...>
 
 	* class.c (clone_method): should copy cbase in cref as well.
Index: ruby_1_8_7/version.h
===================================================================
--- ruby_1_8_7/version.h	(revision 21616)
+++ ruby_1_8_7/version.h	(revision 21617)
@@ -1,15 +1,15 @@
 #define RUBY_VERSION "1.8.7"
-#define RUBY_RELEASE_DATE "2009-01-16"
+#define RUBY_RELEASE_DATE "2009-01-17"
 #define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20090116
-#define RUBY_PATCHLEVEL 87
+#define RUBY_RELEASE_CODE 20090117
+#define RUBY_PATCHLEVEL 88
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
 #define RUBY_VERSION_TEENY 7
 #define RUBY_RELEASE_YEAR 2009
 #define RUBY_RELEASE_MONTH 1
-#define RUBY_RELEASE_DAY 16
+#define RUBY_RELEASE_DAY 17
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8_7/random.c
===================================================================
--- ruby_1_8_7/random.c	(revision 21616)
+++ ruby_1_8_7/random.c	(revision 21617)
@@ -189,7 +189,6 @@
 #include <fcntl.h>
 #endif
 
-static int first = 1;
 static VALUE saved_seed = INT2FIX(0);
 
 static VALUE
@@ -245,7 +244,6 @@
             len--;
         init_by_array(buf, len);
     }
-    first = 0;
     old = saved_seed;
     saved_seed = seed;
     free(buf);
@@ -445,9 +443,6 @@
     long val, max;
 
     rb_scan_args(argc, argv, "01", &vmax);
-    if (first) {
-	rand_init(random_seed());
-    }
     switch (TYPE(vmax)) {
       case T_FLOAT:
 	if (RFLOAT(vmax)->value <= LONG_MAX && RFLOAT(vmax)->value >= LONG_MIN) {
@@ -498,6 +493,7 @@
 void
 Init_Random()
 {
+    rand_init(random_seed());
     rb_define_global_function("srand", rb_f_srand, -1);
     rb_define_global_function("rand", rb_f_rand, -1);
     rb_global_variable(&saved_seed);

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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