mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 23:49:45 +02:00
111 lines
1.4 KiB
ObjectPascal
111 lines
1.4 KiB
ObjectPascal
|
|
{$R-}
|
|
{$Q-}
|
|
|
|
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
|
|
f1:=1;
|
|
end;
|
|
|
|
function f2 : int64;
|
|
|
|
begin
|
|
f2:=-1;
|
|
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
|
|
begin
|
|
writeln('Error :(');
|
|
halt(1);
|
|
end;
|
|
q:=q-q;
|
|
q:=q-(q*q);
|
|
q:=(q*q)-(q*q);
|
|
{ first test the comparisation }
|
|
i:=f2;
|
|
if q<>q then
|
|
begin
|
|
writeln('Error :(');
|
|
halt(2);
|
|
end;
|
|
|
|
if q>q then
|
|
begin
|
|
writeln('Error :(');
|
|
halt(3);
|
|
end;
|
|
|
|
if i>f2 then
|
|
begin
|
|
writeln('Error :(');
|
|
halt(4);
|
|
end;
|
|
if l1>l2 then
|
|
begin
|
|
writeln('Error :(');
|
|
halt(5);
|
|
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.
|