summaryrefslogtreecommitdiff
path: root/benchmark/so_random.yml
blob: 3a3945337754aa9bfa39aca6f88416dbc3921043 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
prelude: |
  # from http://www.bagley.org/~doug/shootout/bench/random/random.ruby
benchmark:
  so_random: |

    IM = 139968.0
    IA = 3877.0
    IC = 29573.0

    $last = 42.0

    def gen_random(max)
      (max * ($last = ($last * IA + IC) % IM)) / IM
    end

    N = 3_000_000

    i = 0
    while i<N
      i +=1
      gen_random(100.0)
    end
    # "%.9f" % gen_random(100.0)
loop_count: 1