summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/-test-/random/loop.c7
-rw-r--r--include/ruby/random.h14
-rw-r--r--random.c2
3 files changed, 13 insertions, 10 deletions
diff --git a/ext/-test-/random/loop.c b/ext/-test-/random/loop.c
index 246a1f5fd92..4f7c8005002 100644
--- a/ext/-test-/random/loop.c
+++ b/ext/-test-/random/loop.c
@@ -7,13 +7,10 @@ typedef struct {
uint32_t num, idx, *buf;
} rand_loop_t;
-static double loop_get_real(rb_random_t *rnd, int excl);
-
-RB_RANDOM_INTERFACE_DECLARE(loop)
+RB_RANDOM_INTERFACE_DECLARE_WITH_REAL(loop);
static const rb_random_interface_t random_loop_if = {
32,
- RB_RANDOM_INTERFACE_DEFINE(loop)
- loop_get_real,
+ RB_RANDOM_INTERFACE_DEFINE_WITH_REAL(loop)
};
static size_t
diff --git a/include/ruby/random.h b/include/ruby/random.h
index 4dd12d5f19a..1d45dc25b93 100644
--- a/include/ruby/random.h
+++ b/include/ruby/random.h
@@ -44,14 +44,20 @@ typedef struct {
#define RB_RANDOM_INTERFACE_DECLARE(prefix) \
static void prefix##_init(rb_random_t *, const uint32_t *, size_t); \
static unsigned int prefix##_get_int32(rb_random_t *); \
- static void prefix##_get_bytes(rb_random_t *, void *, size_t); \
- /* end */
+ static void prefix##_get_bytes(rb_random_t *, void *, size_t)
+
+#define RB_RANDOM_INTERFACE_DECLARE_WITH_REAL(prefix) \
+ RB_RANDOM_INTERFACE_DECLARE(prefix); \
+ static double prefix##_get_real(rb_random_t *, int)
#define RB_RANDOM_INTERFACE_DEFINE(prefix) \
prefix##_init, \
prefix##_get_int32, \
- prefix##_get_bytes, \
- /* end */
+ prefix##_get_bytes
+
+#define RB_RANDOM_INTERFACE_DEFINE_WITH_REAL(prefix) \
+ RB_RANDOM_INTERFACE_DEFINE(prefix), \
+ prefix##_get_real
#if defined _WIN32 && !defined __CYGWIN__
typedef rb_data_type_t rb_random_data_type_t;
diff --git a/random.c b/random.c
index 75f4dbaa219..4ceff377e3c 100644
--- a/random.c
+++ b/random.c
@@ -127,7 +127,7 @@ static VALUE random_seed(VALUE);
static void fill_random_seed(uint32_t *seed, size_t cnt);
static VALUE make_seed_value(uint32_t *ptr, size_t len);
-RB_RANDOM_INTERFACE_DECLARE(rand_mt)
+RB_RANDOM_INTERFACE_DECLARE(rand_mt);
static const rb_random_interface_t random_mt_if = {
DEFAULT_SEED_CNT * 32,
RB_RANDOM_INTERFACE_DEFINE(rand_mt)