浏览代码

* another fix of cosh/sinh overflow checking

florian 1 年之前
父节点
当前提交
a867530056
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      rtl/objpas/math.pp

+ 2 - 2
rtl/objpas/math.pp

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