Browse Source

* another fix of cosh/sinh overflow checking

florian 11 months ago
parent
commit
a867530056
1 changed files with 2 additions and 2 deletions
  1. 2 2
      rtl/objpas/math.pp

+ 2 - 2
rtl/objpas/math.pp

@@ -1327,8 +1327,8 @@ function sinh(x : Single) : Single;
   begin
   begin
      if x>8.94159862326326216608E+0001 then
      if x>8.94159862326326216608E+0001 then
        exit(huge_single*huge_single);
        exit(huge_single*huge_single);
-     if x<8.94159862326326216608E+0001 then
-       exit(huge_single*huge_single);
+     if x<-8.94159862326326216608E+0001 then
+       exit(-(huge_single*huge_single));
      temp:=exp(x);
      temp:=exp(x);
      { gives better behavior around zero, and in particular ensures that sinh(-0.0)=-0.0 }
      { gives better behavior around zero, and in particular ensures that sinh(-0.0)=-0.0 }
      if temp=1 then
      if temp=1 then