diff options
author | Daniel Llorens <daniel.llorens@bluewin.ch> | 2013-05-08 16:06:40 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2014-01-27 21:49:10 +0100 |
commit | 96f733226313b797e5f38948dc8216112f54f756 (patch) | |
tree | d3dc6869831ee493b3fa54b76c9fcc93d257b3e1 /test-suite/tests/arrays.test | |
parent | f6ec824401ab46e74be358130c4d4d2bd209bbc4 (diff) | |
download | guile-96f733226313b797e5f38948dc8216112f54f756.tar.gz |
array-contents returns root for empty arrays with empty root
This fixes a compiler issue where (uniform-array->bytevector #2f64())
failed because of the stricter definition of uniform-vector? on this branch.
Perhaps it would be better if uniform-array->bytevector didn't require
a contiguous argument.
* libguile/arrays.c: (scm_array_contents): return the root regardless of
the value of SCM_I_ARRAY_DIMS (ra)->inc.
* test-suite/tests/arrays.test: check.
Diffstat (limited to 'test-suite/tests/arrays.test')
-rw-r--r-- | test-suite/tests/arrays.test | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test-suite/tests/arrays.test b/test-suite/tests/arrays.test index 2652bfda4..57d23af5c 100644 --- a/test-suite/tests/arrays.test +++ b/test-suite/tests/arrays.test @@ -335,6 +335,11 @@ (let* ((a (make-array 0 4 4))) (not (array-contents (transpose-array a 1 0) #t)))) + ;; This is a consequence of (array-contents? a #t) => #t. + (pass-if "empty array" + (let ((a (make-typed-array 'f64 2 0 0))) + (uniform-vector? (array-contents a)))) + (pass-if "broadcast vector I" (let* ((a (make-array 0 4)) (b (make-shared-array a (lambda (i j k) (list k)) 1 1 4))) |