]> git.eshelyaron.com Git - emacs.git/commitdiff
(isnan): New macro.
authorKarl Heuer <kwzh@gnu.org>
Fri, 4 Mar 1994 21:21:08 +0000 (21:21 +0000)
committerKarl Heuer <kwzh@gnu.org>
Fri, 4 Mar 1994 21:21:08 +0000 (21:21 +0000)
(float_arith_driver): min and max yield NaN if any argument is a NaN.

src/data.c

index 59e9e928d6ee3035d239a120aed75dccd5f37669..adb8d38e3aa63abf314d34b1abf9237aaebecd6c 100644 (file)
@@ -1650,6 +1650,10 @@ arith_driver (code, nargs, args)
 }
 
 #ifdef LISP_FLOAT_TYPE
+
+#undef isnan
+#define isnan(x) ((x) != (x))
+
 Lisp_Object
 float_arith_driver (accum, argnum, code, nargs, args)
      double accum;
@@ -1707,11 +1711,11 @@ float_arith_driver (accum, argnum, code, nargs, args)
        case Alogxor:
          return wrong_type_argument (Qinteger_or_marker_p, val);
        case Amax:
-         if (!argnum || next > accum)
+         if (!argnum || isnan (next) || next > accum)
            accum = next;
          break;
        case Amin:
-         if (!argnum || next < accum)
+         if (!argnum || isnan (next) || next < accum)
            accum = next;
          break;
        }