Module: DrivingPhysics::Timer

Defined in:
lib/driving_physics/mruby.rb,
lib/driving_physics/timer.rb

Class Method Summary collapse

Class Method Details

.display(seconds: 0, ms: 0) ⇒ Object

HH:MM:SS.mmm



38
39
40
41
# File 'lib/driving_physics/mruby.rb', line 38

def self.display(seconds: 0, ms: 0)
  ms += (seconds * 1000).round if seconds > 0
  DrivingPhysics.elapsed_display(ms)
end

.elapsed(&work) ⇒ Object



32
33
34
35
# File 'lib/driving_physics/mruby.rb', line 32

def self.elapsed(&work)
  t = self.now
  return yield, self.since(t)
end

.nowObject



24
25
26
# File 'lib/driving_physics/mruby.rb', line 24

def self.now
  Time.now
end

.since(t) ⇒ Object



28
29
30
# File 'lib/driving_physics/mruby.rb', line 28

def self.since(t)
  self.now - t
end

.summary(start, num_ticks, paused = 0) ⇒ Object



43
44
45
46
# File 'lib/driving_physics/mruby.rb', line 43

def self.summary(start, num_ticks, paused = 0)
  elapsed = self.since(start) - paused
  format("%.3f s (%d ticks/s)", elapsed, num_ticks.to_f / elapsed)
end