First commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from argparse import ArgumentParser
|
||||
from monobit_test import monobit_test
|
||||
import matplotlib.pyplot as plt
|
||||
from math import ceil
|
||||
|
||||
parser = ArgumentParser(description="Stats")
|
||||
parser.add_argument('-r', '--random', help='Random tests file')
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.random is None:
|
||||
print("You must specify the random test file")
|
||||
exit(-1)
|
||||
|
||||
data = None
|
||||
with open(args.random, "r") as f:
|
||||
data = f.readlines()
|
||||
|
||||
x = list()
|
||||
y = list()
|
||||
i = 0
|
||||
totals = 0
|
||||
totalsAverage = dict()
|
||||
for entry in data:
|
||||
rand = int(entry.replace("\n", ""))
|
||||
stats = monobit_test(bin(rand)[2:])
|
||||
totals += 1
|
||||
|
||||
# Je recupere juste le la value 0.x et je fais une moyenne
|
||||
pvalue = str(stats)[0:3]
|
||||
print(f"{rand}: {stats}: {pvalue}")
|
||||
if pvalue not in totalsAverage:
|
||||
totalsAverage[pvalue] = 0
|
||||
totalsAverage[pvalue] += 1
|
||||
|
||||
y.append(stats) # Get the maximum value
|
||||
x.append(i)
|
||||
i += 1
|
||||
|
||||
plt.figure(figsize=(10, 6))
|
||||
plt.bar(x, y, color='b')
|
||||
plt.legend()
|
||||
plt.show()
|
||||
|
||||
x = list()
|
||||
y = list()
|
||||
|
||||
for entry in totalsAverage:
|
||||
print(f"{entry}: {totalsAverage[entry]}")
|
||||
x.append(entry)
|
||||
y.append(totalsAverage[entry])
|
||||
|
||||
plt.figure(figsize=(10, 6))
|
||||
plt.bar(x, y, color='b')
|
||||
plt.legend()
|
||||
plt.show()
|
||||
Reference in New Issue
Block a user