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_7@21617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2009-01-17 03:18:21 +00:00
parent 78c5478af8
commit 0452ea2c33
3 changed files with 9 additions and 9 deletions

View file

@ -1,3 +1,7 @@
Sat Jan 17 12:16:10 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
* random.c (Init_Random): always initialize seed.
Fri Jan 16 10:59:31 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
* class.c (clone_method): should copy cbase in cref as well.

View file

@ -189,7 +189,6 @@ rb_genrand_real(void)
#include <fcntl.h>
#endif
static int first = 1;
static VALUE saved_seed = INT2FIX(0);
static VALUE
@ -245,7 +244,6 @@ rand_init(vseed)
len--;
init_by_array(buf, len);
}
first = 0;
old = saved_seed;
saved_seed = seed;
free(buf);
@ -445,9 +443,6 @@ rb_f_rand(argc, argv, obj)
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 @@ rb_f_rand(argc, argv, obj)
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);

View file

@ -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[];