Skip to content

Commit dcf2ffc

Browse files
authored
Benchmarks: add UPLC golden outputs (#7163)
1 parent 93282aa commit dcf2ffc

File tree

3 files changed

+2173
-8
lines changed

3 files changed

+2173
-8
lines changed
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
(program
2+
1.1.0
3+
((\selectByteString ->
4+
(\goList
5+
dim ->
6+
(\dim ->
7+
(\lastRow ->
8+
(\writeBits ->
9+
(\go ->
10+
(\bytesNeeded ->
11+
force
12+
(force ifThenElse
13+
(lessThanInteger dim 8)
14+
(delay (constr 0 []))
15+
(delay
16+
(force
17+
(force ifThenElse
18+
(equalsInteger
19+
0
20+
(remainderInteger dim 8))
21+
(delay
22+
((\cse ->
23+
go
24+
0
25+
0
26+
cse
27+
cse
28+
cse
29+
(replicateByte bytesNeeded 255))
30+
(replicateByte bytesNeeded 0)))
31+
(delay (constr 0 [])))))))
32+
(quotientInteger dim 8))
33+
((\s ->
34+
s s)
35+
(\s
36+
selectIx
37+
row
38+
down
39+
left
40+
right
41+
control ->
42+
force
43+
(force
44+
ifThenElse
45+
(equalsInteger selectIx dim)
46+
(delay (constr 0 []))
47+
(delay
48+
((\available ->
49+
force
50+
(force
51+
ifThenElse
52+
(equalsInteger -1 available)
53+
(delay (constr 0 []))
54+
(delay
55+
(force
56+
(force
57+
ifThenElse
58+
(equalsInteger row lastRow)
59+
(delay
60+
(constr 1
61+
[ (constr 0
62+
[ row
63+
, available ])
64+
, (constr 0 []) ]))
65+
(delay
66+
((\newRow ->
67+
(\cse ->
68+
(\newRight ->
69+
(\newLeft ->
70+
(\newDown ->
71+
(\newControl ->
72+
(\cse ->
73+
(\cse ->
74+
force
75+
(case
76+
cse
77+
[ (delay
78+
(cse
79+
(addInteger
80+
1
81+
selectIx)
82+
row
83+
down
84+
left
85+
right
86+
control))
87+
, (\ipv
88+
ipv ->
89+
delay
90+
(constr 1
91+
[ (constr 0
92+
[ row
93+
, available ])
94+
, cse ])) ]))
95+
(cse
96+
0
97+
newRow
98+
newDown
99+
newLeft
100+
newRight
101+
newControl))
102+
(s
103+
s))
104+
(complementByteString
105+
(orByteString
106+
False
107+
newDown
108+
(orByteString
109+
False
110+
newLeft
111+
newRight))))
112+
(writeBits
113+
down
114+
cse
115+
(constr 0
116+
[ ])))
117+
(shiftByteString
118+
(writeBits
119+
left
120+
cse
121+
(constr 0
122+
[ ]))
123+
1))
124+
(shiftByteString
125+
(writeBits
126+
right
127+
cse
128+
(constr 0
129+
[]))
130+
-1))
131+
(constr 1
132+
[ available
133+
, (constr 0
134+
[]) ]))
135+
(addInteger
136+
1
137+
row))))))))
138+
(selectByteString selectIx control)))))))
139+
(\bs ixes bit ->
140+
writeBits
141+
bs
142+
(goList ixes)
143+
(force (case bit [(delay True), (delay False)]))))
144+
(subtractInteger dim 1))
145+
(unIData dim))
146+
((\s -> s s)
147+
(\s ds -> case ds [[], (\d ds -> force mkCons d (s s ds))])))
148+
((\s -> s s)
149+
(\s which bs ->
150+
force
151+
(force ifThenElse
152+
(lessThanEqualsInteger which 0)
153+
(delay (findFirstSetBit bs))
154+
(delay
155+
((\i ->
156+
force
157+
(force ifThenElse
158+
(equalsInteger -1 i)
159+
(delay -1)
160+
(delay
161+
((\cse ->
162+
addInteger
163+
cse
164+
(findFirstSetBit
165+
(shiftByteString
166+
bs
167+
(subtractInteger 0 cse))))
168+
(addInteger 1 i)))))
169+
((\x -> s s x) (subtractInteger which 1) bs))))))
170+
(I 8)))

0 commit comments

Comments
 (0)