File: int.bs

package info (click to toggle)
storm-lang 0.7.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,100 kB
  • sloc: ansic: 261,471; cpp: 140,438; sh: 14,891; perl: 9,846; python: 2,525; lisp: 2,504; asm: 860; makefile: 678; pascal: 70; java: 52; xml: 37; awk: 12
file content (324 lines) | stat: -rw-r--r-- 10,176 bytes parent folder | download | duplicates (2)
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
// For now, we are reading the last number of the function name to see what the result should be.
// This should be replaced with real tests inside Storm, whenever we implement a proper test syntax.

// Int
Int iConst20() { 20; }
Int iConst21() { 21i; }
Int iAdd12() { 10i + 2i; }
Int iSub5() { 10i - 5i; }
Int iSubN5() { 5i - 10i; }
Int iMul8() { 2i * 4i; }
Int iMulN8() { (0i-2i) * 4i; }
Int iDiv8() { 16i / 2i; }
Int iMod8() { 18i % 10i; }
Int iInc10() { Int i = 5; i += 5i; i; }
Int iDec10() { Int i = 15; i -= 5i; i; }
Int iInc12() { Int i = 10; i++; ++i; }
Int iInc11() { Int i = 10; ++i; i++; }
Int iMulEq8() { Int i = 4; i *= 2; i; }
Int iDivEq8() { Int i = 16; i /= 2; i; }
Int iModEq5() { Int i = 15; i %= 10; i; }
Int iDec8() { Int i = 10; i--; --i; }
Int iDec9() { Int i = 10; --i; i--; }
Int iAssign10() { Int i = 10; Int j = 5; j = i; j; }
Bool iLessF() { 20i < 10i; }
Bool iLessT() { 20i < 21i; }
Bool iLessEqF() { 20i <= 19i; }
Bool iLessEqT() { 20i <= 20i; }
Bool iGreaterF() { 20i > 30i; }
Bool iGreaterT() { 20i > 10i; }
Bool iGreaterEqF() { 20i >= 21i; }
Bool iGreaterEqT() { 20i >= 20i; }
Bool iEqF() { 20i == 22i; }
Bool iEqT() { 20i == 20i; }
Bool iNeqF() { 20i != 20i; }
Bool iNeqT() { 20i != 22i; }
Int iDelta10() { 20i.delta(30i); }
Int iDelta11() { 20i.delta(9i); }
Int iDelta50() { 20i.delta(-30i); }
Int iDelta29() { (-20i).delta(9i); }
Int iMin10() { 10i.min(20i); }
Int iMin11() { 21i.min(11i); }
Int iMinN10() { (-10i).min(20i); }
Int iMinN9() { 10i.min(-9i); }
Int iMax20() { 10i.max(20i); }
Int iMax11() { 11i.max(9i); }
Int iMax23() { 23i.max(-20i); }
Int iMax22() { (-10i).max(22i); }
Int iNegN2() { -(2i); }

// Nat
Nat nConst21() { 21; }
Nat nConst22() { 22n; }
Nat nAdd22() { 20n + 2n; }
Nat nSub10() { 15n - 5n; }
Nat nMul10() { 2n * 5n; }
Nat nDiv6() { 12n / 2n; }
Nat nMod2() { 12n % 10n; }
Nat nInc1() { Nat i = 0; i += 1; i; }
Nat nDec1() { Nat i = 6; i -= 5; i; }
Nat nMulEq8() { Nat i = 4; i *= 2; i; }
Nat nDivEq8() { Nat i = 16; i /= 2; i; }
Nat nModEq5() { Nat i = 15; i %= 10; i; }
Nat nInc8() { Nat i = 6; i++; ++i; }
Nat nInc7() { Nat i = 6; ++i; i++; }
Nat nDec4() { Nat i = 6; i--; --i; }
Nat nDec5() { Nat i = 6; --i; i--; }
Nat nAssign12() { Nat i = 12; Nat j = 5; j = i; j; }
Bool nLessF() { 20n < 10n; }
Bool nLessT() { 20n < 21n; }
Bool nLessEqF() { 20n <= 19n; }
Bool nLessEqT() { 20n <= 20n; }
Bool nGreaterF() { 20n > 30n; }
Bool nGreaterT() { 20n > 10n; }
Bool nGreaterEqF() { 20n >= 21n; }
Bool nGreaterEqT() { 20n >= 20n; }
Bool nEqF() { 20n == 22n; }
Bool nEqT() { 20n == 20n; }
Bool nNeqF() { 20n != 20n; }
Bool nNeqT() { 20n != 22n; }
Nat nDelta10() { 20n.delta(30n); }
Nat nDelta11() { 20n.delta(9n); }
Nat nMin10() { 10n.min(20n); }
Nat nMin11() { 21n.min(11n); }
Nat nMax20() { 10n.max(20n); }
Nat nMax11() { 11n.max(9n); }
Nat nAnd12() { 13n & 0xFE_n; }
Nat nOr10() { 8n | 2n; }
Nat nXor9() { 10n ^ 3n; }
Nat nNeg65535() { ~0xFFFF0000_n; }
Nat nAndEq12() { Nat v = 13; v &= 0xFE_n; v; }
Nat nOrEq10() { Nat v = 2; v |= 10n; v; }
Nat nXorEq9() { Nat v = 10; v ^= 3n; v; }


// Byte
Byte bConst22() { 22; }
Byte bConst23() { 23b; }
Byte bAdd23() { 21b + 2b; }
Byte bSub11() { 15b - 4b; }
Byte bMul10() { 2b * 5b; }
Byte bDiv7() { 15b / 2b; }
Byte bDiv50() { 200b / 4b; }
Byte bDiv25() { Byte i = 200b; i /= 8b; i; }
Byte bMod5() { 15b % 10b; }
Byte bInc2() { Byte i = 0; i += 2; i; }
Byte bDec2() { Byte i = 6; i -= 4; i; }
Byte bMulEq8() { Byte i = 4; i *= 2; i; }
Byte bDivEq8() { Byte i = 16; i /= 2; i; }
Byte bModEq8() { Byte i = 18; i %= 10; i; }
Byte bInc18() { Byte i = 16; i++; ++i; }
Byte bInc17() { Byte i = 16; ++i; i++; }
Byte bDec14() { Byte i = 16; i--; --i; }
Byte bDec15() { Byte i = 16; --i; i--; }
Byte bAssign13() { Byte i = 13; Byte j = 5; j = i; j; }
Bool bLessF() { 20b < 10b; }
Bool bLessT() { 20b < 21b; }
Bool bLessEqF() { 20b <= 19b; }
Bool bLessEqT() { 20b <= 20b; }
Bool bGreaterF() { 20b > 30b; }
Bool bGreaterT() { 20b > 10b; }
Bool bGreaterEqF() { 20b >= 21b; }
Bool bGreaterEqT() { 20b >= 20b; }
Bool bEqF() { 20b == 22b; }
Bool bEqT() { 20b == 20b; }
Bool bNeqF() { 20b != 20b; }
Bool bNeqT() { 20b != 22b; }
Byte bDelta10() { 20b.delta(30b); }
Byte bDelta11() { 20b.delta(9b); }
Byte bMin10() { 10b.min(20b); }
Byte bMin11() { 21b.min(11b); }
Byte bMax20() { 10b.max(20b); }
Byte bMax11() { 11b.max(9b); }

// Long
Long lConst31() { 31; }
Long lConst32() { 32l; }
Long lAdd32() { 30l + 2l; }
Long lSub20() { 25l - 5l; }
Long lMul20() { 4l * 5l; }
Long lDiv60() { 120l / 2l; }
Long lMod20() { 120l % 100l; }
Long lInc14() { Long i = 10; i += 4; i; }
Long lDec16() { Long i = 18; i -= 2; i; }
Long lMulEq8() { Long i = 4; i *= 2; i; }
Long lDivEq8() { Long i = 16; i /= 2; i; }
Long lModEq5() { Long i = 15; i %= 10; i; }
Long lInc28() { Long i = 26; i++; ++i; }
Long lInc27() { Long i = 26; ++i; i++; }
Long lDec24() { Long i = 26; i--; --i; }
Long lDec25() { Long i = 26; --i; i--; }
Long lAssign22() { Long i = 22; Long j = 5; j = i; j; }
Bool lLessF() { 20l < 10l; }
Bool lLessT() { 20l < 21l; }
Bool lLessEqF() { 20l <= 19l; }
Bool lLessEqT() { 20l <= 20l; }
Bool lGreaterF() { 20l > 30l; }
Bool lGreaterT() { 20l > 10l; }
Bool lGreaterEqF() { 20l >= 21l; }
Bool lGreaterEqT() { 20l >= 20l; }
Bool lEqF() { 20l == 22l; }
Bool lEqT() { 20l == 20l; }
Bool lNeqF() { 20l != 20l; }
Bool lNeqT() { 20l != 22l; }
Long lDelta10() { 20l.delta(30l); }
Long lDelta11() { 20l.delta(9l); }
Long lDelta50() { 20l.delta(-30l); }
Long lDelta29() { (-20l).delta(9l); }
Long lMin10() { 10l.min(20l); }
Long lMin11() { 21l.min(11l); }
Long lMinN10() { (-10l).min(20l); }
Long lMinN9() { 10l.min(-9l); }
Long lMax20() { 10l.max(20l); }
Long lMax11() { 11l.max(9l); }
Long lMax23() { 23l.max(-20l); }
Long lMax22() { (-10l).max(22l); }
Long lNegN2() { -(2l); }

// Word
Word wConst131() { 131; }
Word wConst123() { 123w; }
Word wAdd132() { 130w + 2w; }
Word wSub120() { 125w - 5w; }
Word wMul120() { 24w * 5w; }
Word wDiv160() { 320w / 2w; }
Word wMod120() { 1120w % 1000w; }
Word wInc114() { Word i = 110; i += 4; i; }
Word wDec116() { Word i = 118; i -= 2; i; }
Word wMulEq8() { Word i = 4; i *= 2; i; }
Word wDivEq8() { Word i = 16; i /= 2; i; }
Word wModEq8() { Word i = 18; i %= 10; i; }
Word wInc128() { Word i = 126; i++; ++i; }
Word wInc127() { Word i = 126; ++i; i++; }
Word wDec124() { Word i = 126; i--; --i; }
Word wDec125() { Word i = 126; --i; i--; }
Word wAssign122() { Word i = 122; Word j = 5; j = i; j; }
Bool wLessF() { 20w < 10w; }
Bool wLessT() { 20w < 21w; }
Bool wLessEqF() { 20w <= 19w; }
Bool wLessEqT() { 20w <= 20w; }
Bool wGreaterF() { 20w > 30w; }
Bool wGreaterT() { 20w > 10w; }
Bool wGreaterEqF() { 20w >= 21w; }
Bool wGreaterEqT() { 20w >= 20w; }
Bool wEqF() { 20w == 22w; }
Bool wEqT() { 20w == 20w; }
Bool wNeqF() { 20w != 20w; }
Bool wNeqT() { 20w != 22w; }
Word wDelta10() { 20w.delta(30w); }
Word wDelta11() { 20w.delta(9w); }
Word wMin10() { 10w.min(20w); }
Word wMin11() { 21w.min(11w); }
Word wMax20() { 10w.max(20w); }
Word wMax11() { 11w.max(9w); }
Word wAnd12() { 13w & 0xFE_w; }
Word wOr10() { 8w | 2w; }
Word wXor9() { 10w ^ 3w; }
Word wNeg65535() { ~0xFFFFFFFFFFFF0000_w; }
Word wAndEq12() { Word v = 13; v &= 0xFE_w; v; }
Word wOrEq10() { Word v = 2; v |= 8w; v; }
Word wXorEq9() { Word v = 10; v ^= 3w; v; }


// Float
Float fConst120() { 120; }
Float fConst121() { 121.0; }
Float fConst122() { 122f; }
Float fConst123() { 123.0f; }
Float fAdd124() { 123.5f + 0.5f; }
Float fSub100() { 120.5f - 20.5f; }
Float fMul20() { 8.0f * 2.5f; }
Float fDiv8() { 20.0f / 2.5f; }
Float fAssign20() { Float f = 20.0; Float g = 2.0; g = f; g; }
Float fCall124() { fConst120() + 4.0f; }
Float fNegN81() { -(81.0f); }
Bool fLessF() { 20.0f < 10.0f; }
Bool fLessT() { 20.0f < 20.1f; }
Bool fLessEqF() { 20.0f <= 19.0f; }
Bool fLessEqT() { 20.0f <= 20.0f; }
Bool fGreaterF() { 20.0f > 30.0f; }
Bool fGreaterT() { 20.0f > 10.0f; }
Bool fGreaterEqF() { 20.0f >= 21.0f; }
Bool fGreaterEqT() { 20.0f >= 20.0f; }
Bool fEqF() { 20.0f == 20.1f; }
Bool fEqT() { 20.0f == 20.0f; }
Bool fNeqF() { 20.0f != 20.0f; }
Bool fNeqT() { 20.0f != 20.1f; }

// Double
Double dConst120() { 120; }
Double dConst121() { 121.0; }
Double dConst122() { 122d; }
Double dConst123() { 123.0d; }
Double dAdd124() { 123.5d + 0.5d; }
Double dSub100() { 120.5d - 20.5d; }
Double dMul20() { 8.0d * 2.5d; }
Double dDiv8() { 20.0d / 2.5d; }
Double dAssign20() { Double f = 20.0; Double g = 2.0; g = f; g; }
Double dCall124() { dConst120() + 4.0; }
Double dNegN81() { -(81.0d); }
Bool dLessF() { 20.0d < 10.0d; }
Bool dLessT() { 20.0d < 20.1d; }
Bool dLessEqF() { 20.0d <= 19.0d; }
Bool dLessEqT() { 20.0d <= 20.0d; }
Bool dGreaterF() { 20.0d > 30.0d; }
Bool dGreaterT() { 20.0d > 10.0d; }
Bool dGreaterEqF() { 20.0d >= 21.0d; }
Bool dGreaterEqT() { 20.0d >= 20.0d; }
Bool dEqF() { 20.0d == 20.1d; }
Bool dEqT() { 20.0d == 20.0d; }
Bool dNeqF() { 20.0d != 20.0d; }
Bool dNeqT() { 20.0d != 20.1d; }

// Conversion tests.
// Int ->
Byte intByte20() { 20i.byte; }
Nat intNat20() { 20i.nat; }
Long intLong20() { 20i.long; }
Word intWord20() { 20i.word; }
Float intFloat20() { 20i.float; }
Double intDouble20() { 20i.double; }
Byte autoIntByte20() { 20; }
Nat autoIntNat20() { 20; }
Long autoIntLong20() { 20; }
Word autoIntWord20() { 20; }
Long autoIntLong12() { 12n.int; }
Float autoIntFloat20() { 20; }
Double autoIntDouble20() { 20; }

// Nat ->
Byte natByte20() { 20n.byte; }
Int natInt20() { 20n.int; }
Long natLong20() { 20n.long; }
Word natWord20() { 20n.word; }
Word autoNatWord12() { 12n; }

// Byte ->
Int byteInt20() { 20b.int; }
Nat byteNat20() { 20b.nat; }
Long byteLong20() { 20b.long; }
Word byteWord20() { 20b.word; }
Nat autoByteNat20() { 20b; }
Word autoByteWord20() { 20b; }

// Long ->
Byte longByte20() { 20l.byte; }
Int longInt20() { 20l.int; }
Nat longNat20() { 20l.nat; }
Word longWord20() { 20l.word; }
Float longFloat20() { 20l.float; }
Double longDouble20() { 20l.double; }

// Word ->
Byte wordByte20() { 20w.byte; }
Int wordInt20() { 20w.int; }
Nat wordNat20() { 20w.nat; }
Long wordLong20() { 20w.long; }

// Float ->
Int floatInt23() { 23.0f.int; }
Long floatLong32() { 32.0f.long; }

// Double ->
Int doubleInt23() { 23.0d.int; }
Long doubleLong32() { 32.0d.long; }