1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@21615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2009-01-17 03:15:36 +00:00
parent 0999244154
commit 912904e481
3 changed files with 6 additions and 6 deletions

View file

@ -1,3 +1,7 @@
Sat Jan 17 12:13:10 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
* random.c (Init_Random): always initialize seed.
Sat Jan 17 12:11:06 2009 NAKAMURA Usaku <usa@ruby-lang.org> Sat Jan 17 12:11:06 2009 NAKAMURA Usaku <usa@ruby-lang.org>
* marshal.c (dump_ensure, load_ensure): should return values. * marshal.c (dump_ensure, load_ensure): should return values.

View file

@ -189,7 +189,6 @@ genrand_real(void)
#include <fcntl.h> #include <fcntl.h>
#endif #endif
static int first = 1;
static VALUE saved_seed = INT2FIX(0); static VALUE saved_seed = INT2FIX(0);
static VALUE static VALUE
@ -245,7 +244,6 @@ rand_init(vseed)
len--; len--;
init_by_array(buf, len); init_by_array(buf, len);
} }
first = 0;
old = saved_seed; old = saved_seed;
saved_seed = seed; saved_seed = seed;
free(buf); free(buf);
@ -445,9 +443,6 @@ rb_f_rand(argc, argv, obj)
long val, max; long val, max;
rb_scan_args(argc, argv, "01", &vmax); rb_scan_args(argc, argv, "01", &vmax);
if (first) {
rand_init(random_seed());
}
switch (TYPE(vmax)) { switch (TYPE(vmax)) {
case T_FLOAT: case T_FLOAT:
if (RFLOAT(vmax)->value <= LONG_MAX && RFLOAT(vmax)->value >= LONG_MIN) { if (RFLOAT(vmax)->value <= LONG_MAX && RFLOAT(vmax)->value >= LONG_MIN) {
@ -498,6 +493,7 @@ rb_f_rand(argc, argv, obj)
void void
Init_Random() Init_Random()
{ {
rand_init(random_seed());
rb_define_global_function("srand", rb_f_srand, -1); rb_define_global_function("srand", rb_f_srand, -1);
rb_define_global_function("rand", rb_f_rand, -1); rb_define_global_function("rand", rb_f_rand, -1);
rb_global_variable(&saved_seed); rb_global_variable(&saved_seed);

View file

@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2009-01-17" #define RUBY_RELEASE_DATE "2009-01-17"
#define RUBY_VERSION_CODE 186 #define RUBY_VERSION_CODE 186
#define RUBY_RELEASE_CODE 20090117 #define RUBY_RELEASE_CODE 20090117
#define RUBY_PATCHLEVEL 301 #define RUBY_PATCHLEVEL 302
#define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_MINOR 8