aboutsummaryrefslogtreecommitdiffstats
path: root/src/floatfns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/floatfns.c')
-rw-r--r--src/floatfns.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/floatfns.c b/src/floatfns.c
index 6ad9b95686e..a20f7981bf0 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -454,7 +454,7 @@ DEFUN ("expt", Fexpt, Sexpt, 2, 2, 0,
454 (arg1, arg2) 454 (arg1, arg2)
455 register Lisp_Object arg1, arg2; 455 register Lisp_Object arg1, arg2;
456{ 456{
457 double f1, f2; 457 double f1, f2, f3;
458 458
459 CHECK_NUMBER_OR_FLOAT (arg1); 459 CHECK_NUMBER_OR_FLOAT (arg1);
460 CHECK_NUMBER_OR_FLOAT (arg2); 460 CHECK_NUMBER_OR_FLOAT (arg2);
@@ -500,8 +500,11 @@ DEFUN ("expt", Fexpt, Sexpt, 2, 2, 0,
500 else if ((f1 == 0.0 && f2 < 0.0) || (f1 < 0 && f2 != floor(f2))) 500 else if ((f1 == 0.0 && f2 < 0.0) || (f1 < 0 && f2 != floor(f2)))
501 domain_error2 ("expt", arg1, arg2); 501 domain_error2 ("expt", arg1, arg2);
502#endif 502#endif
503 IN_FLOAT2 (f1 = pow (f1, f2), "expt", arg1, arg2); 503 IN_FLOAT2 (f3 = pow (f1, f2), "expt", arg1, arg2);
504 return make_float (f1); 504 /* Check for overflow in the result. */
505 if (f1 != 0.0 && f3 == 0.0)
506 range_error ("expt", arg1);
507 return make_float (f3);
505} 508}
506 509
507DEFUN ("log", Flog, Slog, 1, 2, 0, 510DEFUN ("log", Flog, Slog, 1, 2, 0,