mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 04:48:02 +02:00
87 lines
1.3 KiB
ObjectPascal
87 lines
1.3 KiB
ObjectPascal
{$R-}
|
|
{$Q-}
|
|
|
|
procedure check(l: longint; v,c: int64);
|
|
begin
|
|
if (v<>c) then
|
|
begin
|
|
writeln('error near ',l);
|
|
halt(l);
|
|
end;
|
|
end;
|
|
|
|
var
|
|
l1,l2,l3: longint;
|
|
c1,c2,c3: cardinal;
|
|
i: int64;
|
|
begin
|
|
l1:=low(longint);
|
|
l2:=-2;
|
|
c1:=$80000000;
|
|
c2:=cardinal(-2);
|
|
|
|
|
|
l3:=$80000000 div l2;
|
|
writeln(l3);
|
|
check(1,l3,-1073741824);
|
|
c3:=$80000000 div l2;
|
|
writeln(c3);
|
|
check(2,c3,3221225472);
|
|
i:=$80000000 div l2;
|
|
writeln(i);
|
|
check(3,i,-1073741824);
|
|
|
|
l3:=c1 div -2;
|
|
writeln(l3);
|
|
check(4,l3,-1073741824);
|
|
c3:=c1 div -2;
|
|
writeln(c3);
|
|
check(5,c3,3221225472);
|
|
i:=c1 div -2;
|
|
writeln(i);
|
|
check(6,i,-1073741824);
|
|
|
|
l3:=c1 div l2;
|
|
writeln(l3);
|
|
check(7,l3,-1073741824);
|
|
c3:=c1 div l2;
|
|
writeln(c3);
|
|
check(8,c3,3221225472);
|
|
i:=c1 div l2;
|
|
writeln(i);
|
|
check(9,i,-1073741824);
|
|
|
|
|
|
l3:=l1 div c2;
|
|
writeln(l3);
|
|
check(10,l3,0);
|
|
c3:=l1 div c2;
|
|
check(11,c3,0);
|
|
writeln(c3);
|
|
i:=l1 div c2;
|
|
writeln(i);
|
|
check(12,i,0);
|
|
|
|
l3:=l1 div cardinal(-2);
|
|
writeln(l3);
|
|
check(13,l3,0);
|
|
c3:=l1 div cardinal(-2);
|
|
writeln(c3);
|
|
check(14,c3,0);
|
|
i:=l1 div cardinal(-2);
|
|
writeln(i);
|
|
check(15,i,0);
|
|
|
|
l3:=low(longint) div c2;
|
|
writeln(l3);
|
|
check(16,l3,0);
|
|
c3:=low(longint) div c2;
|
|
writeln(c3);
|
|
check(17,c3,0);
|
|
i:=low(longint) div c2;
|
|
writeln(i);
|
|
check(18,i,0);
|
|
|
|
end.
|
|
|