File tree Expand file tree Collapse file tree 3 files changed +2173
-8
lines changed
plutus-benchmark/bitwise/test Expand file tree Collapse file tree 3 files changed +2173
-8
lines changed Original file line number Diff line number Diff line change
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)))
You can’t perform that action at this time.
0 commit comments