forked from burner/sweet.hpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdecimaltestgen.py
executable file
·29 lines (24 loc) · 943 Bytes
/
decimaltestgen.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
#!/usr/bin/python
from decimal import *
from random import *
import math
def fun():
ra = [1000]
#num = [ Decimal(str(randint(-a,a)) + "." + str(randint(0,a))) for a in ra for i in range(0,25)]
num = [ uniform(0,a) for a in ra for i in range(0,25)]
print("UNITTEST(decimalTest1) {")
print("\tstd::vector<Fixed> nums = {");
for i in num:
print("\t\tFixed(\"{:.7f}\"),".format(i))
print("\t}\n")
for i in enumerate(num):
for j in enumerate(num):
print("\tAS_EQ(nums[{}] + nums[{}], Fixed(\"{:.7f}\"));".format(i[0], j[0], i[1]+j[1]))
print("\tAS_EQ(nums[{}] - nums[{}], Fixed(\"{:.7f}\"));".format(i[0], j[0], i[1]-j[1]))
if len(str(int(i[1]*j[1]))) < 17:
print("\tAS_EQ(nums[{}] * nums[{}], Fixed(\"{:.7f}\"));".format(i[0], j[0], i[1]*j[1]))
print("\tAS_EQ(nums[{}] / nums[{}], Fixed(\"{:.7f}\"));".format(i[0], j[0], i[1]/j[1]))
print("}\n")
if __name__ == "__main__":
getcontext().prec = 4
fun()