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
- #harness_input ⇒ Object
- #harness_sample(input) ⇒ Object
- #harness_verify(output) ⇒ Object
- #micro_harness_iterations ⇒ Object
Instance Method Details
#harness_input ⇒ Object
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_iterations ⇒ Object
16 17 18 |
# File 'lib/bench9000/harness.rb', line 16 def micro_harness_iterations INNER_ITERATIONS end |