Skip to content
Snippets Groups Projects
Commit 562ee66b authored by pfdietz's avatar pfdietz
Browse files

Initial checkin. This file contains miscellaneous tests that exercise

bugs that have come up in various implementations of CL.  Many of the
tests were generated by the random tester (random-int-form.lsp), so
they look rather odd.  I'm entering the tests here so they don't get
lost.
parent 1c180751
No related branches found
No related tags found
No related merge requests found
;-*- Mode: Lisp -*-
;;;; Author: Paul Dietz
;;;; Created: Sat Sep 20 09:45:15 2003
;;;; Contains: Miscellaneous tests
;;;
;;; This file contains odds-and-ends, mostly tests that came up as
;;; bug-stimulators in various implementations.
;;;
(in-package :cl-test)
(deftest misc.1
(funcall
(COMPILE NIL '(LAMBDA (B)
(DECLARE (TYPE (INTEGER 8 22337) B))
(+ B 2607688420)))
100)
2607688520)
(deftest misc.2
(funcall (compile nil
'(lambda (b) (integer-length (dpb b (byte 4 28) -1005))))
12800263)
32)
(deftest misc.3
(funcall
(compile
nil
'(lambda (a b)
(declare (optimize (speed 3) (debug 1)))
(let ((v7
(let ((v2 (block b5 (return-from b5 (if t b -4)))))
a)))
-65667836)))
1 2)
-65667836)
(deftest misc.4
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer -629491 -333) a)
(type (integer -142 1) b)
(type (integer 0 12604) c)
(optimize (speed 3) (safety 1) (debug 1)))
(let ((v6 (block b7 (return-from b7 (if (eql b 0) 1358159 a)))))
b)))
-1000 -17 6143)
-17)
(deftest misc.5
(funcall
(compile nil
'(lambda () (* 390 (- (signum (logeqv -8005440 -2310))
-10604863)))))
4135896180)
(deftest misc.6
(funcall
(compile nil
'(lambda (a c)
(declare (optimize (speed 3) (debug 1)))
(flet ((%f14 () (if c a -486826646)))
(let ((v7 (flet ((%f18 () (%f14))) a)))
(let ((v5 (%f14)))
0)))))
10 20)
0)
(deftest misc.7
(funcall (compile nil
'(lambda (c) (declare (optimize (speed 3) (debug 1)))
(flet ((%f18 () -36))
(flet ((%f13 ()
(let () (block b8 (return-from b8 c)))))
(%f18)))))
10)
-36)
(deftest misc.8
(funcall
(compile
nil
'(lambda (a b)
(declare (optimize (speed 3) (debug 1)))
(let ((v3 (flet ((%f12 () (min b (block b2 (return-from b2 a)))))
a)))
(block b7
(flet ((%f5 () (return-from b7 b)))
(%f5))))))
10 20)
20)
(deftest misc.9
(funcall
(compile
nil
'(lambda ()
(declare (optimize (speed 3) (debug 1)))
(block b6
(flet ((%f3 ()
(ldb (byte 19 23)
(block b1
(let ()
(- (if nil (return-from b6 89627)
1160)
(return-from b1 22923)))))))
1)))))
1)
(deftest misc.10
(funcall
(compile
nil
'(lambda (c)
(declare (optimize (speed 3) (debug 1))
(type (integer -15417757 5816) c))
(flet ((%f3 () (if nil -3143 c)))
(block b5
(let ((v7 (if (< 23613642 (%f3)) c -23097977)))
(let ((v5
(return-from b5
(if (eql c v7)
(let ((v6 (%f3))) 4650813)
782))))
-4362540))))))
-10000)
782)
(deftest misc.11
(funcall
(compile
nil
'(lambda (a b c)
(declare (optimize (speed 3) (debug 1)))
(block b8
(logxor
(let ((v3 (return-from b8 120789657))) 3690)
(block b2
(flet ((%f9 ()
(flet ((%f10 () -1))
c)))
(flet ((%f3 () (let () (return-from b2 b))))
a)))))))
1 2 3)
120789657)
(deftest misc.12
(funcall
(compile
nil
'(lambda (c)
(declare (optimize (speed 3) (safety 1) (debug 1))
(type (integer -171067 -5) c))
(flet ((%f16 ()
(flet ((%f12 () 439))
3358)))
(flet ((%f14 () c))
(if (%f14) -1 (%f14))))))
-100)
-1)
(deftest misc.13
(funcall
(compile
nil
'(lambda (b c)
(declare (optimize (speed 3) (safety 1) (debug 1))
(type (integer -1554410 36086789) b)
(type (integer -15033876209 126774299) c)
)
(block b3
(flet ((%f9 ()
(abs
(flet ((%f5 ()
(return-from b3 -2)))
(if (if (<= 1 c) b (%f5)) -65 -47895812)))))
(min
(let ((v3 (let ((v8 (%f9))) b))) b)
(if (= 1364001 (%f9))
(logeqv (block b5 -2713) -247)
-19))))))
0 0)
-2)
(deftest misc.14
(funcall
(compile
nil
'(lambda (c)
(declare (notinline logandc1))
(block b6
(flet ((%f17 () (return-from b6 c)))
(logandc1 (%f17)
(if 1
450967818
(let ((v1 (%f17))) -17)))))))
10)
10)
(deftest misc.15
(funcall
(compile
nil
'(lambda (a b)
(declare (optimize (speed 3) (safety 1) (debug 1)))
(flet ((%f6 () a))
(block b5
(flet ((%f14 ()
(min 17593 (block b1 (return-from b1 b)))))
(block b7 (if (%f6) (return-from b7 28182012)
(return-from b5 0))))))))
3 5)
28182012)
(deftest misc.16
(funcall
(compile
nil
'(lambda (a c)
(flet ((%f14 ()
(block b6
(flet ((%f7 () (return-from b6 4)))
(if 587793 (if (%f7) c -23086423) (%f7))))))
(block b1
(flet ((%f18 () a))
(logandc1 (return-from b1 -2781)
(if (%f14) 58647578 -396746)))))))
1 2)
-2781)
(deftest misc.17
(funcall
(compile
nil
'(lambda (a b c)
(declare (optimize (speed 3) (safety 1) (debug 1))
(type (integer 4 23363) b)
(type (integer -32681 41648) c)
)
(flet ((%f18 ()
(if nil c b)))
(if (if (> -71810514 a) 102077 465393)
(block b3 (if (%f18) (return-from b3 c) c))
(%f18)))))
0 10 1000)
1000)
(deftest misc.18
(funcall
(compile
nil
'(lambda (a b c)
(declare (optimize (speed 3) (safety 1) (debug 1))
(type (integer 7 58010860) a)
(type (integer -3573280 -1) b)
(type (integer -920848 -819) c)
)
(flet ((%f15 () (if (logbitp 5 a) a c)))
(min (if (%f15) b -39) (if (> 0 -14756) b (%f15))))))
8 -1000 -10000)
-1000)
(deftest misc.19
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer 54 3862515) a) (type (integer -961325 1539) b)
(type (integer 6 31455) c) (ignorable a b c)
(optimize (speed 3) (safety 1) (debug 1)))
(lognor
(flet ((%f13 () b)) (%f13))
(flet ((%f1 () (return-from %f1 a)))
(labels ((%f3 () (%f1)))
-428)))))
100 0 200)
427)
(deftest misc.20
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer -1 31880308) a)
(type (integer -11374222037 5331202966) b)
(type (integer -483 -1) c)
(ignorable a b c)
(optimize (speed 3) (safety 1) (debug 1)))
(labels ((%f6 () a))
(if (eql (let ((v9 (%f6))) -50072824) c)
28146341
(if (< 119937 21304962) 21304962 (%f6))))))
0 0 -1)
21304962)
(deftest misc.21
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer 398 3955) a) (type (integer 233 464963) b)
(type (integer -124477 16) c) (ignorable a b c)
(optimize (speed 3) (safety 1) (debug 1)))
(logior
(flet ((%f18 ()
-3584768))
(%f18))
(flet ((%f1 ()
(return-from %f1 c)))
(flet ((%f9 ()
(if (%f1) 24181 7)))
56048)))))
400 300 0)
-3547152)
(deftest misc.22
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer -126378 -103) a)
(type (integer -1158604975 1) b)
(type (integer 502 28036) c)
(ignorable a b c)
(optimize (speed 3) (safety 1) (debug 1)))
(labels ((%f13 () c))
(labels ((%f3 ()
(logandc1
c
(block b6
(max -73100
(if b (return-from b6 4935) (%f13)))))))
(%f13)))))
-200 0 1000)
1000)
(deftest misc.23
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer 1 18911480) a)
(type (integer -1 48333) b)
(type (integer -3881001767 -1937357) c)
(ignorable a b c)
(optimize (speed 3) (safety 1) (debug 1)))
(labels ((%f10 () c))
(block b7
(logorc2
(* (%f10)
(if (ldb-test (byte 27 1) -11337)
(return-from b7 -2)
246137101))
(min (%f10) (return-from b7 -76114)))))))
1 0 -2000000)
-2)
(deftest misc.24
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer -1477249397 -10697252) a)
(type (integer -7 54591) b)
(type (integer -102559556 15) c)
(ignorable a b c)
(optimize (speed 3) (safety 1) (debug 1)))
(block b8
(let ((v1 (return-from b8 a)))
(1+
(block b3
(flet ((%f10 ()
(min a (return-from b3 -1))))
16776220)))))))
-11000000 0 0)
-11000000)
(deftest misc.25
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer -944 111244) a)
(type (integer 100512 3286178) b)
(type (integer -2170236 -107) c)
(ignorable a b c)
(optimize (speed 3) (safety 1) (debug 1)))
(labels ((%f17 () c))
(labels ((%f16 () a))
(if (if (logbitp 10 1029643) t 355)
(if (equal (%f17) b) c a)
(if (= 1325844 (%f16)) -50285 (1- (%f17))))))))
0 200000 -200)
0)
(deftest misc.26
(funcall
(compile
nil
'(lambda (c)
(declare (optimize speed))
(block b5
(if (logbitp 6 -97)
(let ((v2 (block b8 -42484))) c)
(flet ((%f10 () (return-from b5 -785143)))
(let ((v3 (%f10)))
(%f10)))))))
0)
-785143)
(deftest misc.27
(funcall
(compile
nil
'(lambda (a b c)
(declare (optimize (speed 3) (debug 1)))
(labels ((%f14 () c))
(logand (%f14)
(labels ((%f15 () (logeqv (let ((v1 b)) c)
(return-from %f15 -1740))))
(labels ((%f8 () (%f15)))
a))))))
5 2 3)
1)
(deftest misc.28
(funcall
(compile
nil
'(lambda (a b c)
(declare
(type (integer 1948 12024) b)
(type (integer -104357939 -252) c)
(optimize (speed 3) (debug 1)))
(flet ((%f18 () c))
(logandc1 (if (eql b (%f18)) 0 a)
(if (ldb-test (byte 30 30) 1) (%f18) 1)
))))
0 2000 -300)
1)
(deftest misc.29
(funcall
(compile
nil
'(lambda (a b c)
(declare (type (integer 661607 10451683348) a)
(type (integer -2 -2) b)
(type (integer 5996117 18803237) c)
(optimize (speed 3) (safety 1) (debug 1)))
(labels ((%f16 () -29))
(flet ((%f7 ()
(labels ((%f1 () a))
(let ()
(block b3
(if 37101207
(return-from b3 -5322045)
(let ((v5 b))
146099574)))))))
(if (%f16) c c)))))
1000000 -2 6000000)
6000000)
(deftest misc.30
(funcall
(compile
nil
'(lambda (c)
(declare (type (integer -253 -1) c)
(optimize (speed 3) (safety 1) (debug 1)))
(flet ((%f8 () c))
(if (= (%f8) 481) (%f8) 1779465))))
-100)
1779465)
(deftest misc.31
(funcall
(compile nil
'(lambda () (let ((v9 (labels ((%f13 () nil)) nil)))
(let ((v3 (logandc2 97 3)))
(* v3 (- 37391897 (logand v3 -66))))))))
3589619040)
(deftest misc.32
(funcall
(compile
nil
'(lambda (a d)
(declare (type (integer -8507 26755) a)
(type (integer -393314538 2084485) d)
(optimize (speed 3) (safety 1) (debug 1)))
(gcd
(if (= 0 a) 10 (abs -1))
(logxor -1
(min -7580
(max (logand a 31365125) d))))))
1 1)
1)
(deftest misc.33
(funcall
(compile
nil
'(lambda (a b c d)
(declare (type (integer 240 100434465) a)
(optimize (speed 3) (safety 1) (debug 1)))
(logxor
(if (ldb-test (byte 27 4) d)
-1
(max 55546856 -431))
(logorc2
(if (>= 0 b)
(if (> b c) (logandc2 c d) (if (> d 224002) 0 d))
(signum (logior c b)))
(logior a -1)))))
256 0 0 0)
55546856)
(deftest misc.34
(funcall
(compile nil
`(lambda (b c)
(declare (type (integer -23228343 2) b)
(type (integer -115581022 512244512) c)
(optimize (speed 3) (safety 1) (debug 1)))
(* (* (logorc2 3 (deposit-field 4667947 (byte 14 26) b))
(deposit-field b (byte 25 27) -30424886))
(dpb b (byte 23 29) c)
)))
0 0)
0)
(deftest misc.35
(funcall
(compile
nil
'(lambda (c)
(declare (type (integer -5945502333 12668542) c)
(optimize (speed 3)))
(let ((v2 (* c 12)))
(- (max (if (/= 109335113 v2) -26479 v2)
(deposit-field 311
(byte 14 28)
(min (max 521326 c) -51)))))))
12668542)
26479)
(deftest misc.36
(funcall
(compile nil
'(lambda ()
(declare (notinline + logand)
(optimize (speed 0)))
(logand
(block b5
(flet ((%f1 ()
(return-from b5 -220)))
(let ((v7 (%f1)))
(+ 359749 35728422))))
-24076))))
-24284)
(deftest misc.37
(funcall
(compile
nil
'(lambda (b)
(declare (notinline -) (optimize (speed 0)))
(- (block b4
(flet ((%f4 ()
(return-from b4 b)))
(%f4))))))
10)
-10)
(deftest misc.38
(funcall
(compile
nil
'(lambda (x) (declare (type (integer 0 100) x)
(optimize (speed 3) (safety 1)))
(logandc1 x x)))
79)
0)
(deftest misc.39
(funcall
(compile
nil
'(lambda (x) (declare (type (integer 0 100) x)
(optimize (speed 3) (safety 1)))
(logandc2 x x)))
79)
0)
(deftest misc.40
(funcall
(compile
nil
'(lambda (x) (declare (type (integer 0 100) x)
(optimize (speed 3) (safety 1)))
(logorc1 x x)))
79)
-1)
(deftest misc.41
(funcall
(compile
nil
'(lambda (x) (declare (type (integer 0 100) x)
(optimize (speed 3) (safety 1)))
(logorc2 x x)))
79)
-1)
(deftest misc.42
(funcall
(compile
nil
'(lambda (x)
(declare (type -100 100) x)
(ldb (byte 1 32) x)))
-1)
1)
(deftest misc.43
(funcall (compile nil
'(lambda () (flet ((%f2 () 288213285))
(+ (%f2) (* 13 (%f2)))))))
4034985990)
(deftest misc.44
(funcall
(compile
nil
'(lambda (a)
(declare (type (integer -917858 964754309) a)
(optimize (speed 3)))
(* 25 (min (max a 171625820) 171626138))))
861929141)
4290653450)
(deftest misc.45
(funcall
(compile
nil
'(lambda (b)
(declare (type (integer 21 9673) b)
(optimize (speed 3)))
(* (integer-length -198435631) (+ b 137206182))))
6027)
3841941852)
(deftest misc.46
(funcall
(compile
nil
'(LAMBDA (B C)
(DECLARE (TYPE (INTEGER 0 1) B) (OPTIMIZE (SPEED 3)))
(FLET ((%F2 () (LOGNOR (BLOCK B5 138) C)))
(IF (NOT (OR (= -67399 B) B))
(DEPOSIT-FIELD (%F2) (BYTE 11 8) -3)
C))))
0 0)
0)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment