mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 17:47:56 +02:00
38 lines
865 B
ObjectPascal
38 lines
865 B
ObjectPascal
program t5;
|
|
{$ifdef fpc}{$mode objfpc}{$h+}{$endif}
|
|
|
|
uses sysutils;
|
|
|
|
var
|
|
frec: TFloatRec;
|
|
code: Integer;
|
|
|
|
const
|
|
posinf: Extended = 1.0/0.0;
|
|
neginf: Extended = -1.0/0.0;
|
|
nan: Extended = 0.0/0.0;
|
|
|
|
begin
|
|
code := 0;
|
|
FloatToDecimal(frec, posinf, fvExtended, 15, 15);
|
|
if (frec.Exponent <> 32767) or frec.Negative or (frec.Digits[0] <> #0) then
|
|
begin
|
|
writeln('Positive infinity test failed');
|
|
code := code or 1;
|
|
end;
|
|
|
|
FloatToDecimal(frec, neginf, fvExtended, 15, 15);
|
|
if (frec.Exponent <> 32767) or (not frec.Negative) or (frec.Digits[0] <> #0) then
|
|
begin
|
|
writeln('Negative infinity test failed');
|
|
code := code or 2;
|
|
end;
|
|
|
|
FloatToDecimal(frec, nan, fvExtended, 15, 15);
|
|
if (frec.Exponent <> -32768) or (frec.Digits[0] <> #0) then
|
|
begin
|
|
writeln('NaN test failed');
|
|
code := code or 4;
|
|
end;
|
|
Halt(Code);
|
|
end. |