r9418: rework cmucl/sbcl arrays in deref-array, allocate-foreign-object, and with...
[uffi.git] / tests / arrays.lisp
index e018083d43f00ec7be45d2eb4af1e4d3e62c86b4..4d6afb478f002cf0dccd2a8b2652a1a579db2f02 100644 (file)
@@ -15,7 +15,8 @@
 
 (in-package #:uffi-tests)
 
-(uffi:def-constant +column-length+ 10)
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (uffi:def-constant +column-length+ 10))
 (uffi:def-constant +row-length+ 10)
 
 (uffi:def-foreign-type long-ptr '(* :long))
       (nreverse results))
   (0 1 4 9 16 25 36 49 64 81))
 
-
 (deftest array.2
-    (let ((a (uffi:allocate-foreign-object 'long-ptr +row-length+))
+    (let ((a (uffi:allocate-foreign-object '(:array :long #.+column-length+) +row-length+))
          (results nil))
       (dotimes (r +row-length+)
        (declare (fixnum r))
-       (setf (uffi:deref-array a '(:array (* :long)) r)
-             (uffi:allocate-foreign-object :long +column-length+))
-       (let ((col (uffi:deref-array a '(:array (* :long)) r)))
+       (setf (uffi:deref-array a '(:array (:array :long #.+column-length+)) r)
+         (uffi:allocate-foreign-object :long #.+column-length+))
+       (let ((col (uffi:deref-array a '(:array (:array :long #.+column-length+)) r)))
          (dotimes (c +column-length+)
            (declare (fixnum c))
-           (setf (uffi:deref-array col '(:array :long) c) (+ (* r +column-length+) c)))))
+           (setf (uffi:deref-array col '(:array :long #.+column-length+) c) (+ (* r +column-length+) c)))))
       
       (dotimes (r +row-length+)
        (declare (fixnum r))
-       (let ((col (uffi:deref-array a '(:array (* :long)) r)))
+       (let ((col (uffi:deref-array a '(:array (:array :long #.+column-length+)) r)))
          (dotimes (c +column-length+)
            (declare (fixnum c))
-           (push (uffi:deref-array col '(:array :long) c) results))))
+           (push (uffi:deref-array col '(:array :long #.+column-length+) c) results))))
       (uffi:free-foreign-object a)
       (nreverse results))
   (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99))