summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
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)
{