Raymond Toy pushed to branch issue-468-core-math-signals at cmucl / cmucl

Commits:

2 changed files:

Changes:

  • src/lisp/irrat.c
    ... ... @@ -148,6 +148,11 @@ double
    148 148
     lisp_asinh(double x)
    
    149 149
     {
    
    150 150
     #ifdef FEATURE_CORE_MATH
    
    151
    +    /* Signal overflow if x is infinite */
    
    152
    +    if (isinf(x)) {
    
    153
    +	return fdlibm_setexception(x, FDLIBM_OVERFLOW);
    
    154
    +    }
    
    155
    +
    
    151 156
         return cr_asinh(x);
    
    152 157
     #else    
    
    153 158
         return fdlibm_asinh(x);
    
    ... ... @@ -223,7 +228,6 @@ lisp_pow(double x, double y)
    223 228
          * the failure.
    
    224 229
          */
    
    225 230
         return __ieee754_pow(x, y);
    
    226
    -#endif
    
    227 231
     }
    
    228 232
     
    
    229 233
     double
    

  • tests/fdlibm.lisp
    ... ... @@ -110,7 +110,6 @@
    110 110
       ;; overflow.
    
    111 111
       (assert-error 'floating-point-overflow
    
    112 112
     		(kernel:%asinh ext:double-float-positive-infinity))
    
    113
    -  #-core-math
    
    114 113
       (assert-error 'floating-point-overflow
    
    115 114
     		(kernel:%asinh ext:double-float-negative-infinity))
    
    116 115
       (assert-true (ext:float-nan-p (kernel:%asinh *qnan*)))