From 331c6d2f5f66ac352c71307f0696dde8af4a0fa1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 12 Jan 2010 02:16:12 +0000 Subject: [PATCH] fix bignum expt (PR 10690); also fixed a doc typo svn: r17614 --- collects/scribblings/gui/timer-class.scrbl | 2 +- collects/tests/mzscheme/number.ss | 1 + src/mzscheme/src/number.c | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/collects/scribblings/gui/timer-class.scrbl b/collects/scribblings/gui/timer-class.scrbl index 1592c93b05..ced8637455 100644 --- a/collects/scribblings/gui/timer-class.scrbl +++ b/collects/scribblings/gui/timer-class.scrbl @@ -22,7 +22,7 @@ See @secref["eventspaceinfo"] for more information about event priorities. -@defconstructor[([notify-callback (-> any) @scheme[void]] +@defconstructor[([notify-callback (-> any) void] [interval (or/c (integer-in 0 1000000000) false/c) #f] [just-once? any/c #f])]{ diff --git a/collects/tests/mzscheme/number.ss b/collects/tests/mzscheme/number.ss index 61447d1713..1588c12a60 100644 --- a/collects/tests/mzscheme/number.ss +++ b/collects/tests/mzscheme/number.ss @@ -591,6 +591,7 @@ (test 2 expt 4 1/2) (test 2.0 expt 4 0.5) (test (sqrt 5) expt 5 1/2) +(test 18446744073709551616 expt (expt 2 32) 2) (arity-test expt 2 2) (test 31525197391593472 inexact->exact 31525197391593473.0) diff --git a/src/mzscheme/src/number.c b/src/mzscheme/src/number.c index b06ab56056..a2e8ce3f22 100644 --- a/src/mzscheme/src/number.c +++ b/src/mzscheme/src/number.c @@ -2166,8 +2166,8 @@ Scheme_Object *int_sqrt_rem (int argc, Scheme_Object *argv[]) static Scheme_Object *fixnum_expt(long x, long y) { - int orig_x = x; - int orig_y = y; + long orig_x = x; + long orig_y = y; if ((x == 2) && (y <= MAX_SHIFT_TRY)) return scheme_make_integer((long)1 << y);