summaryrefslogtreecommitdiffstats
path: root/r4rstest.scm
diff options
context:
space:
mode:
authorDavid N. Welton <davidw@efn.org>1998-12-11 20:21:49 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:25 -0800
commita47af30d2f0e96afcd1f14b1984575c359faa3d6 (patch)
tree2ed08ce2d757f917de7c3c7c04fd7e309f454c83 /r4rstest.scm
parentf64b2806c1d66a1341bb8b1491f384169ab1d65f (diff)
parentdb04688faa20f3576257c0fe41752ec435beab9a (diff)
downloadscm-a47af30d2f0e96afcd1f14b1984575c359faa3d6.tar.gz
scm-a47af30d2f0e96afcd1f14b1984575c359faa3d6.zip
Import Debian changes 5c3-5debian/5c3-5
scm (5c3-5) frozen unstable; urgency=low * debian/rules chmod +x's bld.scm. Fixes #30521. scm (5c3-4) frozen unstable; urgency=low * Made bld.scm executable. Fixes #29578. scm (5c3-3) frozen unstable; urgency=low * -nw * Fixes #16762. * Fixes #18163. * Fixes #18164. * Fixes #23743. * Fixes #24098. * Fixes #24099. * Fixes #24547. scm (5c3-2) frozen unstable; urgency=low * Re-uploading for slink freeze. scm (5c3-1) unstable; urgency=low * New upstream version.
Diffstat (limited to 'r4rstest.scm')
-rw-r--r--r4rstest.scm68
1 files changed, 39 insertions, 29 deletions
diff --git a/r4rstest.scm b/r4rstest.scm
index 6573e20..35da2f4 100644
--- a/r4rstest.scm
+++ b/r4rstest.scm
@@ -13,7 +13,7 @@
;; To receive a copy of the GNU General Public License, write to the
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA; or view
-;; http://www-swiss.ai.mit.edu/~jaffer/GPL.html
+;; http://swissnet.ai.mit.edu/~jaffer/GPL.html
;;;; "r4rstest.scm" Test correctness of scheme implementations.
;;; Author: Aubrey Jaffer
@@ -105,10 +105,10 @@
(for-each (lambda (f)
(set! i (+ 1 i))
(cond ((and (= i j))
- (cond ((not (f x))) (test #t f x)))
+ (cond ((not (f x)) (test #t f x))))
((f x) (test #f f x)))
(cond ((and (= i j))
- (cond ((not (f y))) (test #t f y)))
+ (cond ((not (f y)) (test #t f y))))
((f y) (test #f f y))))
disjoint-type-functions))
(list #t #\a '() 9739 '(test) record-error "test" 'car '#(a b c))
@@ -259,6 +259,16 @@
(test 88 foo 88)
(test 4 foo 4)
(test 34 'define x)
+(test 99 'internal-define (letrec ((foo (lambda (arg)
+ (or arg (and (procedure? foo)
+ (foo 99))))))
+ (define bar (foo #f))
+ (foo #f)))
+(test 77 'internal-define (letrec ((foo 77)
+ (bar #f)
+ (retfoo (lambda () foo)))
+ (define baz (retfoo))
+ (retfoo)))
(SECTION 6 1)
(test #f not #t)
(test #f not 3)
@@ -560,37 +570,37 @@
(display ";testing bignums; ")
(newline)
(SECTION 6 5 5)
- (test 0 modulo 3333333333 3)
- (test 0 modulo 3333333333 -3)
- (test 0 remainder 3333333333 3)
- (test 0 remainder 3333333333 -3)
- (test 2 modulo 3333333332 3)
- (test -1 modulo 3333333332 -3)
- (test 2 remainder 3333333332 3)
- (test 2 remainder 3333333332 -3)
- (test 1 modulo -3333333332 3)
- (test -2 modulo -3333333332 -3)
- (test -2 remainder -3333333332 3)
- (test -2 remainder -3333333332 -3)
-
- (test 3 modulo 3 3333333333)
- (test 3333333330 modulo -3 3333333333)
- (test 3 remainder 3 3333333333)
- (test -3 remainder -3 3333333333)
- (test -3333333330 modulo 3 -3333333333)
- (test -3 modulo -3 -3333333333)
- (test 3 remainder 3 -3333333333)
- (test -3 remainder -3 -3333333333)
+ (test 0 modulo 33333333333333333333 3)
+ (test 0 modulo 33333333333333333333 -3)
+ (test 0 remainder 33333333333333333333 3)
+ (test 0 remainder 33333333333333333333 -3)
+ (test 2 modulo 33333333333333333332 3)
+ (test -1 modulo 33333333333333333332 -3)
+ (test 2 remainder 33333333333333333332 3)
+ (test 2 remainder 33333333333333333332 -3)
+ (test 1 modulo -33333333333333333332 3)
+ (test -2 modulo -33333333333333333332 -3)
+ (test -2 remainder -33333333333333333332 3)
+ (test -2 remainder -33333333333333333332 -3)
+
+ (test 3 modulo 3 33333333333333333333)
+ (test 33333333333333333330 modulo -3 33333333333333333333)
+ (test 3 remainder 3 33333333333333333333)
+ (test -3 remainder -3 33333333333333333333)
+ (test -33333333333333333330 modulo 3 -33333333333333333333)
+ (test -3 modulo -3 -33333333333333333333)
+ (test 3 remainder 3 -33333333333333333333)
+ (test -3 remainder -3 -33333333333333333333)
(test 0 modulo -2177452800 86400)
(test 0 modulo 2177452800 -86400)
(test 0 modulo 2177452800 86400)
(test 0 modulo -2177452800 -86400)
- (test #t 'remainder (tb 281474976710655 65535))
- (test #t 'remainder (tb 281474976710654 65535))
+ (test #t 'remainder (tb 281474976710655325431 65535))
+ (test #t 'remainder (tb 281474976710655325430 65535))
(SECTION 6 5 6)
- (test 281474976710655 string->number "281474976710655")
- (test "281474976710655" number->string 281474976710655)
+ (test 281474976710655325431 string->number "281474976710655325431")
+ (test "281474976710655325431" number->string 281474976710655325431)
(report-errs))
(SECTION 6 5 6)
@@ -1027,7 +1037,7 @@
(if (and (string->number "0.0") (inexact? (string->number "0.0")))
(test-inexact))
-(let ((n (string->number "281474976710655")))
+(let ((n (string->number "281474976710655325431")))
(if (and n (exact? n))
(test-bignum)))
(newline)