blob: 05a9e1a340d083c34fc6877fe655e9c113669b9b (
plain)
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
|
const
q2 : qword = 1234;
i2 : int64 = -1234;
var
q : qword;
i : int64;
l1,l2 : longint;
s : string;
procedure p1(q : qword;i : int64);
begin
end;
function f1 : qword;
begin
end;
function f2 : int64;
begin
end;
var
q1,q3,q4 : qword;
begin
q1:=1;
q3:=1;
q4:=1;
if not((q4 div q3) div (q2 div q1)<>(q2 div q1) div (q4 div q3)) then
writeln('Error :(');
q:=q-q;
q:=q-(q*q);
q:=(q*q)-(q*q);
{ first test the comparisation }
if q<>q then
begin
writeln('Error :(');
end;
if q>q then
begin
writeln('Error :(');
end;
if i>f2 then
begin
writeln('Error :(');
end;
if l1>l2 then
begin
writeln('Error :(');
end;
p1(q,i);
q:=f1;
i:=f2;
q:=q+q;
i:=((i+i) xor (i+i)) or ((i+i) xor (i+i));
q:=q shl l1;
q:=q shr l1;
q:=(q shl l1)+(q shl l1);
q:=not(q);
i:=not(i);
q:=not(q xor q);
i:=not(i or i);
{ unary minus }
q:=-q;
i:=-i;
q:=-(q xor q);
i:=-(i or i);
{ multiplication }
// q:=3;
q:=q*q;
i:=i*i;
q:=q*(q*q);
i:=i*(i*i);
q:=(q*q)*(q*q);
q:=((q*q)*(q*q))*((q*q)*(q*q));
writeln(q);
writeln(i);
{ test can't be interactive (PFV)
read(q);
read(i); }
str(q,s);
str(i,s);
end.
|