Make QuoteMacro lexing more failure-tolerant.
[cslatevm.git] / tests / benchmark / random.slate
blobe9cbb91b5068c7c44dc786854dd2b900d62392b2
2 prototypes ensureNamespace: #benchmark &delegate: True.
4 benchmark define: #RandomNumber &slots: {
5   #increment  -> 29573.
6   #multiplier -> 3877.
7   #modulus    -> 139968.
8   #fmodulus   -> 139968.0.
9   #seed.
10   #scale.
13 r@(benchmark RandomNumber traits) next
15   r seed := r seed * r multiplier + r increment \\ r modulus.
16   (r seed * r scale as: Float) / r fmodulus
19 r@(benchmark RandomNumber traits) to: i@(Integer traits) repeat: n@(Integer traits)
21   r `>> [seed := 42. scale := i].
22   n - 1 timesRepeat: [r next].
23   r next