summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-26 10:20:30 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-26 10:20:30 +0000
commit96760236079b15674a6322a2ca41b1528b51afbd (patch)
tree286e7c24a7ec3a8915dee810bb2cff0b0b83c7a1 /object.c
parent47a1a7b67d272596860c8969f8581c175f7d5704 (diff)
* random.c (random_rand): unified random_int and random_float.
[ruby-dev:39158]. and fixes [ruby-core:24655], [ruby-core:24677], [ruby-core:24679]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r--object.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/object.c b/object.c
index b8a33f4697..c2b10832de 100644
--- a/object.c
+++ b/object.c
@@ -2299,6 +2299,16 @@ rb_to_float(VALUE val)
return rb_convert_type(val, T_FLOAT, "Float", "to_f");
}
+VALUE
+rb_check_to_float(VALUE val)
+{
+ if (TYPE(val) == T_FLOAT) return val;
+ if (!rb_obj_is_kind_of(val, rb_cNumeric)) {
+ return Qnil;
+ }
+ return rb_check_convert_type(val, T_FLOAT, "Float", "to_f");
+}
+
double
rb_num2dbl(VALUE val)
{