зеркало из https://github.com/github/ruby.git
Improve performance Kernel#Float with using Primitive.mandatory_only? method [Feature #18344] (#5133)
This commit is contained in:
Родитель
cb69c19e8a
Коммит
05a3dc1a65
|
@ -169,6 +169,10 @@ module Kernel
|
|||
# Float("123.0_badstring", exception: false) #=> nil
|
||||
#
|
||||
def Float(arg, exception: true)
|
||||
Primitive.rb_f_float(arg, exception)
|
||||
if Primitive.mandatory_only?
|
||||
Primitive.rb_f_float1(arg)
|
||||
else
|
||||
Primitive.rb_f_float(arg, exception)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
6
object.c
6
object.c
|
@ -3531,6 +3531,12 @@ rb_Float(VALUE val)
|
|||
return rb_convert_to_float(val, TRUE);
|
||||
}
|
||||
|
||||
static VALUE
|
||||
rb_f_float1(rb_execution_context_t *ec, VALUE obj, VALUE arg)
|
||||
{
|
||||
return rb_convert_to_float(arg, TRUE);
|
||||
}
|
||||
|
||||
static VALUE
|
||||
rb_f_float(rb_execution_context_t *ec, VALUE obj, VALUE arg, VALUE opts)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче