|
@@ -3,6 +3,10 @@ program tsar1;
|
|
{$o-}
|
|
{$o-}
|
|
var
|
|
var
|
|
c0,c4,c7,c15,c31,c63,c36,c20,c68,c12 : integer;
|
|
c0,c4,c7,c15,c31,c63,c36,c20,c68,c12 : integer;
|
|
|
|
+ c3f : shortint;
|
|
|
|
+ c3fff : smallint;
|
|
|
|
+ c3fffffff : longint;
|
|
|
|
+ c3fffffffffffffff : int64;
|
|
|
|
|
|
begin
|
|
begin
|
|
c0:=0;
|
|
c0:=0;
|
|
@@ -15,6 +19,11 @@ begin
|
|
c20:=20;
|
|
c20:=20;
|
|
c68:=68;
|
|
c68:=68;
|
|
c12:=12;
|
|
c12:=12;
|
|
|
|
+ c3f:=$3f;
|
|
|
|
+ c3fff:=$3fff;
|
|
|
|
+ c3fffffff:=$3fffffff;
|
|
|
|
+ c3fffffffffffffff:=$3fffffffffffffff;
|
|
|
|
+
|
|
writeln('Testing constant SarInt64...');
|
|
writeln('Testing constant SarInt64...');
|
|
if SarInt64(-$3FFFFFFFFFFFFFFF,4)<>-$400000000000000 then begin
|
|
if SarInt64(-$3FFFFFFFFFFFFFFF,4)<>-$400000000000000 then begin
|
|
writeln('Fail!');
|
|
writeln('Fail!');
|
|
@@ -291,6 +300,16 @@ begin
|
|
end else begin
|
|
end else begin
|
|
writeln('Pass!');
|
|
writeln('Pass!');
|
|
end;
|
|
end;
|
|
|
|
+ if SarInt64(-c3FFFFFFFFFFFFFFF,63)<>-1 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
|
|
+ if SarInt64(c3FFFFFFFFFFFFFFF,63)<>0 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
if SarInt64(-$3FFFFFFFFFFFFFFF)<>-$2000000000000000 then begin
|
|
if SarInt64(-$3FFFFFFFFFFFFFFF)<>-$2000000000000000 then begin
|
|
halt(1);
|
|
halt(1);
|
|
end else begin
|
|
end else begin
|
|
@@ -344,6 +363,16 @@ begin
|
|
end else begin
|
|
end else begin
|
|
writeln('Pass!');
|
|
writeln('Pass!');
|
|
end;
|
|
end;
|
|
|
|
+ if SarLongint(-c3FFFFFFF,31)<>-1 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
|
|
+ if SarLongint(c3FFFFFFF,31)<>0 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
if SarLongint(-$3FFFFFFF)<>-$20000000 then begin
|
|
if SarLongint(-$3FFFFFFF)<>-$20000000 then begin
|
|
halt(1);
|
|
halt(1);
|
|
end else begin
|
|
end else begin
|
|
@@ -397,6 +426,16 @@ begin
|
|
end else begin
|
|
end else begin
|
|
writeln('Pass!');
|
|
writeln('Pass!');
|
|
end;
|
|
end;
|
|
|
|
+ if SarSmallint(-c3FFF,15)<>-1 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
|
|
+ if SarSmallint(c3FFF,15)<>0 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
if SarSmallint(-$3FFF)<>-$2000 then begin
|
|
if SarSmallint(-$3FFF)<>-$2000 then begin
|
|
halt(1);
|
|
halt(1);
|
|
end else begin
|
|
end else begin
|
|
@@ -445,6 +484,16 @@ begin
|
|
end else begin
|
|
end else begin
|
|
writeln('Pass!');
|
|
writeln('Pass!');
|
|
end;
|
|
end;
|
|
|
|
+ if SarShortint(c3F,7)<>0 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
|
|
+ if SarShortint(-c3F,7)<>-1 then begin
|
|
|
|
+ halt(1);
|
|
|
|
+ end else begin
|
|
|
|
+ writeln('Pass!');
|
|
|
|
+ end;
|
|
if SarShortint($3F,c7)<>0 then begin
|
|
if SarShortint($3F,c7)<>0 then begin
|
|
halt(1);
|
|
halt(1);
|
|
end else begin
|
|
end else begin
|