Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math, random
- import ranks
- const
- n = 100_000
- count = 100
- permCount = 120
- template writeData(f: File; a: typed) =
- for i, v in a:
- f.writeLine(i, " ", v)
- f.write("\n\n")
- proc testRandInt =
- let fs = open("randint.dat", fmWrite)
- # Get frequency of randoms
- var freqs: array[count, int]
- for i in 1 .. n:
- freqs[rand(count - 1)].inc
- fs.writeData(freqs)
- fs.close()
- proc testRandFloat =
- let fs = open("randfloat.dat", fmWrite)
- var freqs: array[count, int]
- for i in 1 .. n:
- freqs[int(rand(1.0) * float(count))].inc
- fs.writeData(freqs)
- fs.close()
- proc testShuffle =
- let fs = open("shuffle.dat", fmWrite)
- var freqs: array[permCount, int]
- for i in 1 .. n:
- var a = [0, 1, 2, 3, 4]
- shuffle(a)
- freqs[rank(a)].inc
- fs.writeData(freqs)
- fs.close()
- testRandInt()
- testRandFloat()
- testShuffle()
Add Comment
Please, Sign In to add comment