diff options
-rw-r--r-- | time.c | 6 | ||||
-rw-r--r-- | timev.rb | 4 |
2 files changed, 5 insertions, 5 deletions
@@ -2678,13 +2678,13 @@ get_scale(VALUE unit) } static VALUE -time_s_at(rb_execution_context_t *ec, VALUE klass, VALUE time, VALUE subsec, VALUE unit, VALUE zone, VALUE nosubsec, VALUE nounit) +time_s_at(rb_execution_context_t *ec, VALUE klass, VALUE time, VALUE subsec, VALUE unit, VALUE zone) { VALUE t; wideval_t timew; - if (!RTEST(nosubsec)) { - int scale = !RTEST(nounit) ? get_scale(unit) : 1000000; + if (!NIL_P(subsec)) { + int scale = get_scale(unit); time = num_exact(time); t = num_exact(subsec); timew = wadd(rb_time_magnify(v2w(time)), wmulquoll(v2w(t), TIME_SCALE, scale)); @@ -267,8 +267,8 @@ class Time # :include: doc/time/nsec.rdoc # :include: doc/time/in.rdoc # - def self.at(time, subsec = (nosubsec = true), unit = (nounit = true), in: nil) - __builtin.time_s_at(time, subsec, unit, __builtin.arg!(:in), nosubsec, nounit) + def self.at(time, subsec = nil, unit = :microsecond, in: nil) + __builtin.time_s_at(time, subsec, unit, __builtin.arg!(:in)) end # Returns a new \Time object based the on given arguments. |