Browse Source

* improved fpc_frac_real

florian 3 years ago
parent
commit
04145589a9
1 changed files with 2 additions and 4 deletions
  1. 2 4
      rtl/inc/genmath.inc

+ 2 - 4
rtl/inc/genmath.inc

@@ -1758,11 +1758,9 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_FRAC}
 {$ifndef FPC_SYSTEM_HAS_FRAC}
 function fpc_frac_real(d : ValReal) : ValReal;compilerproc;
 function fpc_frac_real(d : ValReal) : ValReal;compilerproc;
-  var
-    i: integer;
   begin
   begin
-    i := (float64high(d) and $7ff00000) shr 20;
-    if i=$7FF then
+    { Nan or +/-Inf }
+    if (float64high(d) and $7ff00000)=$7ff00000 then
       { return NaN }
       { return NaN }
       result := (d-d)/0.0 
       result := (d-d)/0.0 
     else
     else