diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-09-07 18:56:39 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-09-07 20:08:01 +0900 |
commit | 2b07b24bdf15e4feeb9dae94a17999070cd77121 (patch) | |
tree | bace8aba07da5edfc4e0b7196c6a3baa02e9d0af | |
parent | 4924011262e35e3983e245cbfcff15aee7b295f3 (diff) | |
download | ruby-2b07b24bdf15e4feeb9dae94a17999070cd77121.tar.gz |
Added `rb_random_base_init`
To enclose the initialization of Random::Base part.
-rw-r--r-- | ext/-test-/random/loop.c | 2 | ||||
-rw-r--r-- | include/ruby/random.h | 1 | ||||
-rw-r--r-- | random.c | 9 |
3 files changed, 10 insertions, 2 deletions
diff --git a/ext/-test-/random/loop.c b/ext/-test-/random/loop.c index 4f7c800500..ec4eff013e 100644 --- a/ext/-test-/random/loop.c +++ b/ext/-test-/random/loop.c @@ -38,7 +38,7 @@ loop_alloc(VALUE klass) { rand_loop_t *rnd; VALUE obj = TypedData_Make_Struct(klass, rand_loop_t, &random_loop_type, rnd); - rnd->base.seed = INT2FIX(0); + rb_random_base_init(&rnd->base); return obj; } diff --git a/include/ruby/random.h b/include/ruby/random.h index 1d45dc25b9..2e7ac75a01 100644 --- a/include/ruby/random.h +++ b/include/ruby/random.h @@ -71,6 +71,7 @@ typedef const rb_data_type_t rb_random_data_type_t; #endif void rb_random_mark(void *ptr); +void rb_random_base_init(rb_random_t *rnd); double rb_int_pair_to_real(uint32_t a, uint32_t b, int excl); void rb_rand_bytes_int32(rb_random_get_int32_func *, rb_random_t *, void *, size_t); RUBY_EXTERN const rb_data_type_t rb_random_data_type; @@ -297,12 +297,19 @@ try_rand_if(VALUE obj, rb_random_t *rnd) } /* :nodoc: */ +void +rb_random_base_init(rb_random_t *rnd) +{ + rnd->seed = INT2FIX(0); +} + +/* :nodoc: */ static VALUE random_alloc(VALUE klass) { rb_random_mt_t *rnd; VALUE obj = TypedData_Make_Struct(klass, rb_random_mt_t, &random_mt_type, rnd); - rnd->base.seed = INT2FIX(0); + rb_random_base_init(&rnd->base); return obj; } |