-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrng_exec.py
32 lines (27 loc) · 878 Bytes
/
rng_exec.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from number_generator import RandomNumberGenerator
from time import time
bits_amount = [40, 56, 80, 128, 168, 224, 256, 512, 1024, 2048, 4096]
rng = RandomNumberGenerator()
print("Random Number Generator")
print("-----------------------")
print("Xorshift")
print()
for num_bits in bits_amount:
begin = time()
number = rng.xor_shift(num_bits)
exec_time = (time() - begin)*1000
print(f"Number generated: {number}")
print(f"Bit amount: {num_bits}")
print("Time elapsed: {:.4f}ms".format(exec_time))
print()
print("-----------------------")
print("Linear Congruential Generator")
print()
for num_bits in bits_amount:
begin = time()
number = rng.lcg(num_bits)
exec_time = (time() - begin)*1000
print(f"Number generated: {number}")
print(f"Bit amount: {num_bits}")
print("Time elapsed: {:.4f}ms".format(exec_time))
print()