emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/floatfns.c,v


From: Michael Cadilhac
Subject: [Emacs-diffs] Changes to emacs/src/floatfns.c,v
Date: Mon, 01 Oct 2007 09:17:15 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Michael Cadilhac <cadilhac>     07/10/01 09:17:15

Index: floatfns.c
===================================================================
RCS file: /sources/emacs/emacs/src/floatfns.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -b -r1.94 -r1.95
--- floatfns.c  26 Jul 2007 05:27:51 -0000      1.94
+++ floatfns.c  1 Oct 2007 09:17:14 -0000       1.95
@@ -454,7 +454,7 @@
      (arg1, arg2)
      register Lisp_Object arg1, arg2;
 {
-  double f1, f2;
+  double f1, f2, f3;
 
   CHECK_NUMBER_OR_FLOAT (arg1);
   CHECK_NUMBER_OR_FLOAT (arg2);
@@ -500,8 +500,11 @@
   else if ((f1 == 0.0 && f2 < 0.0) || (f1 < 0 && f2 != floor(f2)))
     domain_error2 ("expt", arg1, arg2);
 #endif
-  IN_FLOAT2 (f1 = pow (f1, f2), "expt", arg1, arg2);
-  return make_float (f1);
+  IN_FLOAT2 (f3 = pow (f1, f2), "expt", arg1, arg2);
+  /* Check for overflow in the result.  */
+  if (f1 != 0.0 && f3 == 0.0)
+    range_error ("expt", arg1);
+  return make_float (f3);
 }
 
 DEFUN ("log", Flog, Slog, 1, 2, 0,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]