diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-01 06:42:59 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-01 06:42:59 +0000 |
commit | a1428471182d77d4f40c30d467bf701b67c86aae (patch) | |
tree | 99ff997d89d032176ab5e0ff95deac40c044d0bf /object.c | |
parent | 2c8756f2c8512e763afea4b63462397a14f09ece (diff) |
merges r21214 from trunk into ruby_1_9_1.
* object.c (rb_to_float): replaced by to_flo definition from
math.c [ruby-dev:37668]
* math.c (Need_Float): use rb_to_float().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -2267,6 +2267,20 @@ rb_f_float(VALUE obj, VALUE arg) return rb_Float(arg); } +VALUE +rb_to_float(VALUE val) +{ + if (TYPE(val) == T_FLOAT) return val; + if (!rb_obj_is_kind_of(val, rb_cNumeric)) { + rb_raise(rb_eTypeError, "can't convert %s into Float", + NIL_P(val) ? "nil" : + val == Qtrue ? "true" : + val == Qfalse ? "false" : + rb_obj_classname(val)); + } + return rb_convert_type(val, T_FLOAT, "Float", "to_f"); +} + double rb_num2dbl(VALUE val) { |