(assert (= (aref a 0) 1))
(inform :aref-2)
(assert (= (aref a (- array-dimension-limit 2)) 1))
- #-darwin
- (progn
- (inform :bit-and)
- (bit-and a b a)
- (inform :aref-3)
- (assert (= (aref a 0) 0))
- (inform :aref-4)
- (assert (= (aref a (- array-dimension-limit 2)) 0)))))
+ (inform :bit-and)
+ (bit-and a b a)
+ (inform :aref-3)
+ (assert (= (aref a 0) 0))
+ (inform :aref-4)
+ (assert (= (aref a (- array-dimension-limit 2)) 0))))
(test-small-bit-vectors)
-#-x86-64
-;; except on machines where addressable space is likely to be
-;; much bigger than physical memory
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (defun dynamic-space-size ()
+ #+gencgc
+ (- sb-vm:dynamic-space-end sb-vm:dynamic-space-start)
+ #-gencgc
+ (- sb-vm:dynamic-0-space-end sb-vm:dynamic-0-space-start)))
+
+;; except on machines where the arrays won't fit into the dynamic space.
+#+#.(cl:if (cl:> (cl-user::dynamic-space-size)
+ (cl:truncate (cl:1- cl:array-dimension-limit)
+ sb-vm:n-word-bits))
+ '(and)
+ '(or))
(test-big-bit-vectors)
-\f
-;;; success
-(sb-ext:quit :unix-status 104)