Try to fix real constant problems for llvm compiler

This commit is contained in:
Pierre Muller 2022-06-07 12:56:57 +02:00
parent f382f2d6ed
commit 2307dc8f26

View File

@ -225,9 +225,16 @@ implementation
begin
result:=result+'nan';
if fraction<>(int64(1) shl (fraction_bits-1)) then
result:=result+':0x'+HexStr(fraction,fraction_hexdigits);
result:=result+'(0x'+HexStr(fraction,fraction_hexdigits)+')';
end;
end
else if (exponent=0) then
begin
if (fraction=0) then
result:=result+'0x0.0p'+tostr(-exponent_bias)
else
result:=result+'0x0.'+HexStr(fraction shl (fraction_hexdigits*4-fraction_bits),fraction_hexdigits)+'p'+tostr(-exponent_bias+1)
end
else
result:=result+'0x1.'+HexStr(fraction shl (fraction_hexdigits*4-fraction_bits),fraction_hexdigits)+'p'+tostr(exponent-exponent_bias);
end;