-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsampleGen.py
More file actions
118 lines (83 loc) · 3.58 KB
/
sampleGen.py
File metadata and controls
118 lines (83 loc) · 3.58 KB
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import UniversalClasses as uc
import SaveFile
import detGen
import oneSidedGen
import nonDetGen
import squareGen
#from Generators.IU_Generators import activeStateRegion as activeStateRegion
red = "f03a47"
blue = "3f88c5"
green = "0ead69"
orange = "f39237"
black = "323031"
white = "DFE0E2"
grey = "9EA9A4"
light_blue = "C2DCFE"
# This function handles all generators from UI
def generator(shape, value, model):
if model == "Deterministic":
if shape == "Strings":
return detGen.genString(value)
if shape == "Rectangle":
value = int(value)
return detGen.genRect(value - 1)
if model == "Single-Transition":
if shape == "Strings":
return oneSidedGen.genString(value)
if shape == "Rectangle":
value = int(value)
return oneSidedGen.genRect(value - 1)
if model == "Non-Deterministic":
if shape == "Strings":
return nonDetGen.genString(value)
if shape == "Rectangle":
value = int(value)
return nonDetGen.genRect(value - 1)
if shape == "Squares":
value = int(value)
return squareGen.genSquare(value, model)
if shape == "Lines":
return detGen.genNFLine(value)
def genSamples():
# Sample determinsitic systems
sys1 = detGen.genDoubleIndexStates(9)
SaveFile.main(sys1, ["XML Files/samples/IndexStates/smallIndexStatesDet.xml"])
sys2 = detGen.genDoubleIndexStates(100)
SaveFile.main(sys2, ["XML Files/samples/IndexStates/largeIndexStatesDet.xml"])
sys3 = detGen.genSqrtBinString("110011010")
SaveFile.main(sys3, ["XML Files/samples/Strings/smallBinStringDet.xml"])
sys4 = detGen.genSqrtBinString("1100110101101010101100110")
SaveFile.main(sys4, ["XML Files/samples/Strings/largeBinStringDet.xml"])
sys5 = detGen.genSqrtBinCount(50)
SaveFile.main(sys5, ["XML Files/samples/Counters/smallBinCountDet.xml"])
sys6 = detGen.genSqrtBinCount(125)
SaveFile.main(sys6, ["XML Files/samples/Counters/largeBinCountDet.xml"])
sys7 = detGen.genSqrtBaseBString("123456789", 10)
SaveFile.main(sys7, ["XML Files/samples/Strings/smallDecimalStringDet.xml"])
sys8 = detGen.genSqrtBaseBString("123456789012345", 10)
SaveFile.main(sys8, ["XML Files/samples/Strings/largeDecimalStringDet.xml"])
sys9 = detGen.genSqrtBaseBCount("9950", 10)
SaveFile.main(sys9, ["XML Files/samples/Counters/smallDecimalCountDet.xml"])
sys10 = detGen.genSqrtBaseBCount("999999000", 10)
SaveFile.main(sys10, ["XML Files/samples/Counters/largeDecimalCountDet.xml"])
# Sample One Sided systems
sys11 = oneSidedGen.genTripleIndexStates(27)
SaveFile.main(sys11, ["XML Files/samples/IndexStates/smallIndexStatesSR.xml"])
sys12 = oneSidedGen.genTripleIndexStates(125)
SaveFile.main(sys12, ["XML Files/samples/IndexStates/largeIndexStatesSR.xml"])
sys13 = oneSidedGen.cbrtBinString("110011010110011010110011010")
SaveFile.main(sys13, ["XML Files/samples/Strings/BinStringSR.xml"])
sys14 = oneSidedGen.cbrtBinCount(1000)
SaveFile.main(sys14, ["XML Files/samples/Counters/BinCountSR.xml"])
# Sample General systems
sys15 = nonDetGen.genQuadIndexStates(81)
SaveFile.main(sys15, ["XML Files/samples/IndexStates/IndexStatesND.xml"])
num = ""
for i in range(27):
num += "101"
sys16 = nonDetGen.genQuadBinString(num)
SaveFile.main(sys16, ["XML Files/samples/Strings/BinStringND.xml"])
sys16 = nonDetGen.quadBinCount(1500)
SaveFile.main(sys16, ["XML Files/samples/Counters/BinCountND.xml"])
if __name__ == "__main__":
genSamples()