|
|
1.1 root 1: program funcs(output);
2:
3: type
4: sint=0..30000;
5: Sint=-30000..30000;
6: lint=0..100000;
7: Lint=-100000..100000;
8: color=(red,yellow,blue);
9:
10: var
11: i :sint;
12: n :Sint;
13: j :lint;
14: m :Lint;
15: k :real;
16: l :color;
17: ptr :^integer;
18:
19: begin
20: k:=0.7853981635;
21: { generate bound checks }
22: j:=98000;
23: j:=355;
24: i:=j;
25: i:=113;
26: m:=-25000;
27: m:=100;
28: n:=m;
29: n:=154;
30: assert(trunc(k) = 0, 'trunc(k)');
31: assert(round(k) = 1, 'round(k)');
32: assert(sqr(2.5) = 6.25, 'sqr(2.5)');
33: assert(sqr(j) = 126025, 'sqr(j)');
34: assert(sqr(i) = 12769, 'sqr(i)');
35: assert(succ(j) = 356, 'succ(j)');
36: assert(succ(i) = 114, 'succ(i)');
37: l:=yellow;
38: assert(succ(l) = blue, 'succ(l)');
39: assert(pred(l) = red, 'pred(l)');
40: assert(pred(j) = 354, 'pred(j)');
41: assert(pred(i) = 112, 'pred(i)');
42: assert(odd(i), 'odd(i)');
43: assert(odd(j), 'odd(j)');
44: assert(chr(j-355) = chr(0), 'chr(j-355)');
45: assert(sqrt(25) = 5.0, 'sqrt(25)');
46: assert(sqrt(m) = 10.0, 'sqrt(m)');
47: assert(sin(k)-cos(k) < 1e-7, 'sin(k)-cos(k)');
48: assert(ln(exp(k))-k < 1e-7, 'ln(exp(k)');
49: assert(arctan(1.0)-k < 1e-7, 'arctan(1.0)');
50: assert(expo(k) = -1, 'expo(k)');
51: assert(expo(-1e+10) = 10, 'expo(-1e+10)');
52: assert(expo(1e-10) = -10, 'expo(1e-10)');
53: new(ptr);
54: dispose(ptr);
55: assert(seed(seed(1)) = 1, 'seed(seed(1))');
56: assert(random(1.0) <= 1.0, 'random(1.0) <= 1.0');
57: assert(random(1.0) >= 0.0, 'random(1.0) >= 0.0');
58: end.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.