Top Level Namespace

Defined Under Namespace

Modules: Bench

Constant Summary collapse

ITERATIONS =
ARGV[1].to_i
INNER_ITERATIONS =
ARGV[2].to_i
SMALL_PRIME =

This file should be kept as simple as possible to accommodate early implementations of Ruby.

149

Instance Method Summary collapse

Instance Method Details

#harness_inputObject



14
15
16
# File 'lib/bench9000/micro-harness.rb', line 14

def harness_input
  micro_harness_input
end

#harness_sample(input) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/bench9000/micro-harness.rb', line 18

def harness_sample(input)
  sum = 0

  micro_harness_iterations.times do
    sum = (sum + micro_harness_sample(input)) % SMALL_PRIME
  end

  sum
end

#harness_verify(output) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/bench9000/micro-harness.rb', line 28

def harness_verify(output)
  expected_output = micro_harness_expected
  expected_sum = 0

  micro_harness_iterations.times do
    expected_sum = (expected_sum + expected_output) % SMALL_PRIME
  end

  output == expected_sum
end

#micro_harness_iterationsObject



16
17
18
# File 'lib/bench9000/harness.rb', line 16

def micro_harness_iterations
  INNER_ITERATIONS
end