This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=1ef1cc72d9dabc3d06fec8de34f839b1e7d30532 The branch, ra0 has been updated discards 1a51415615fbe0f0fce4cd97437b846b82894d9a (commit) discards 0c0e0c8b6b45d140892de87b3365a1d70ca0e5a2 (commit) discards 61d5e4df33311b9a3fe472de7070b4a5e775787b (commit) discards 88c7cda479f9cafc88add7bcd1769c4d22ecb01c (commit) discards ad95aa9ebaed86a0bfc1f8a55566e10bbd190e55 (commit) discards 726cc95ffbc38b9006e16bb0a1ce50b5d587d478 (commit) discards 4af4068efa2558c2df3b85c4d8170a14dfcdd614 (commit) discards 688034187a3f2726aff2e431f610d135495b46be (commit) discards c0e0b6f171522826cfcacb41e9983dfc89582745 (commit) discards 1cc0d91efea68c742d86d851c9577801171b790f (commit) discards e0e8802b34b127de835683774159f7da61a45e3b (commit) discards 96199263de84a65277dd5fa44cce0d837e4cc37f (commit) discards 17f90ef90a4c5a7e1c268257a67255e6ba75b192 (commit) discards f1d289bf582f525e62c65bcc3c9701e9cabf63be (commit) discards 9ef4bc075dee74a0f1490bcaa157831b7ded1f3b (commit) via 1ef1cc72d9dabc3d06fec8de34f839b1e7d30532 (commit) via 274a74c02d007a5ecc1e9d91dc58f0813813e9d6 (commit) via 368f7c562037918f8e07bc6f1f10875225932a55 (commit) via 67240569395fe86dd5719bfd0c31700d4e006389 (commit) via 1814883db00546d165c9466f7a54fa7a2f983082 (commit) via 086983cd1defb3df88bbc01c43b9f81f5c26bc7b (commit) via 0300e7377d22f3d927406cf8f532c69dd66130dc (commit) via 6a95439d5b3eb70a2b6a159e016ec230f8ab4f8e (commit) via 78832c2155d64f8965e9abb539847ea5d8f62898 (commit) via 1007b7765a241e0e67ebdf270f2d4d7a804fb79f (commit) via f935ba05d6c9b4f33edb7fa4310ff10d77ea3ac9 (commit) via c8e4860050ab7ffa6c398512d560c66fde99b17b (commit) via a3c448d8c228af725f252d506b94319a7cdeddd1 (commit) via e5d625a5e657227469ed71adf65297da2d0642cc (commit) via 1ac534e9046d5f060b07ebdb8fa9f7952a674bdb (commit) via 2c001086b2b954b912005cfcc09e80a975c0d3b2 (commit) via 4e915304519abaabebb426c06984b83ac981b834 (commit) This update added new revisions after undoing existing revisions. That is to say, the old revision is not a strict subset of the new revision. This situation occurs when you --force push a change and generate a repository containing something like this: * -- * -- B -- O -- O -- O (1a51415615fbe0f0fce4cd97437b846b82894d9a) \ N -- N -- N (1ef1cc72d9dabc3d06fec8de34f839b1e7d30532) When this happens we assume that you've already had alert emails for all of the O revisions, and so we here report only the revisions in the N branch from the common base, B. Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1ef1cc72d9dabc3d06fec8de34f839b1e7d30532 Author: Daniel Llorens <[email protected]> Date: Wed May 8 16:06:40 2013 +0200 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. commit 274a74c02d007a5ecc1e9d91dc58f0813813e9d6 Author: Daniel Llorens <[email protected]> Date: Thu May 2 11:43:31 2013 +0200 Fix compilation bugs with some kinds of typed arrays * module/language/glil/compile-assembly.scm: pass (array-contents x) to uniform-array->bytevector instead of x, when x is a typed array. * test-suite/tests/arrays.test: test an instance of the above that failed in Guile 2.0.9. commit 368f7c562037918f8e07bc6f1f10875225932a55 Author: Daniel Llorens <[email protected]> Date: Tue Apr 30 16:11:07 2013 +0200 Preallocate index list in scm_array_index_map_x * libguile/array-map.c - (scm_array_index_map_x): preallocate the index list instead of constructing it on each rank-1 iteration. - (ramap, rafe): use SCM_I_ARRAY_V just once. commit 67240569395fe86dd5719bfd0c31700d4e006389 Author: Daniel Llorens <[email protected]> Date: Mon Apr 29 14:19:52 2013 +0200 Match types used in arrays.c to struct field types * libguile/arrays.c - scm_shared_array_root: check for SCM_I_ARRAYP first. - scm_i_shap2ra: * check valid bounds in the '(lbnd ubnd) case. This makes (make-array 0 '(4 -3)) fail with a 'bad dimension' instead of with a 'wrong index' error. * use ssize_t for lbnd/ubnd/inc, not long. - scm_make_shared_array: use ssize_t for indices, not long. - scm_transpose_array: use size_t for ndim, not ulong. - scm_i_print_array: idem. commit 1814883db00546d165c9466f7a54fa7a2f983082 Author: Daniel Llorens <[email protected]> Date: Fri Apr 26 13:02:38 2013 +0200 Don't use ASET in scm_array_index_map_x * libguile/array-map.c: (scm_array_index_map_x): replace ASET by direct use of handle->impl. commit 086983cd1defb3df88bbc01c43b9f81f5c26bc7b Author: Daniel Llorens <[email protected]> Date: Fri Apr 26 02:05:22 2013 +0200 In scm_ramapc, only check unrolled axes for emptiness * libguile/array-map.c: (scm_ramapc) - Don't check emptiness while preparing ra0, but only after kroll is known, and only before kroll. len = 0 will be caught by the unrolled loop. - Use ra0 axis length in unroll check depth for rest args, not ra1's. - Recover early exit feature when cproc returns 0. commit 0300e7377d22f3d927406cf8f532c69dd66130dc Author: Daniel Llorens <[email protected]> Date: Thu Apr 25 18:49:14 2013 +0200 Fix scm_ramapc bugs with 0-inc arrays * libguile/array-map.c: (scm_ramapc): Cannot flag empty on the product inc * dim * dim ... Check every dim. * test-suite/tests/ramap.test: Tests the 0-inc, non empty case for both array-map! and array-copy!. commit 6a95439d5b3eb70a2b6a159e016ec230f8ab4f8e Author: Daniel Llorens <[email protected]> Date: Thu Apr 25 15:18:05 2013 +0200 Fix corner cases of scm_ramapc * libguile/array-map.c - (scm_ramapc): mismatched axes limit unrollk (kroll). Reorganize the function to do all checking as we go. - (scm_ra_matchp): unused; remove. - (find_unrollk): inlined in scm_ramapc; remove. - (klen): inlined in scm_ramapc; remove. - (rafill): n is size_t. - (racp): n is size_t. Use n and not i0end to bound the loop. - (ramap): Use n and not i0end to bound the loop. This is needed for the rank 0 case to work with the new scm_ramapc, as inc may be set to 0 in that case. - (rafe): idem. * test-suite/tests/ramap.test - check that size mismatch prevents unrolling (matching behavior III) with both array-copy! and array-map!. - check that non-contiguous stride in non-ref args prevents unrolling (rank 2, discontinuous) with both array-copy! and array-map!. - check rank 0 cases with array-for-each, array-map!. commit 78832c2155d64f8965e9abb539847ea5d8f62898 Author: Daniel Llorens <[email protected]> Date: Wed Apr 24 23:29:48 2013 +0200 Rewrite scm_ramapc() * libguile/array-map.c - (cind): replace by cindk, that operates only on the unrolled index set. - (klen): new function. - (make1array): take extra inc argument. - (scm_ramapc): rewrite to unroll as many axes as possible instead of just all or one. - (AREF): lbnd is known to be 0: remove. - (ASET): v is known to come from SCM_I_ARRAY_V; assume base, inc, lbnd. - (racp): use ssize_t instead of long for the indices. - (scm_array_index_map_x): build the index list at the last-but-one axis, then set the car of the last element, instead of building the list at the last axis. * test-suite/tests/ramap.test - add array-map! test with offset arguments. commit 1007b7765a241e0e67ebdf270f2d4d7a804fb79f Author: Daniel Llorens <[email protected]> Date: Wed Apr 24 17:13:56 2013 +0200 Check more cases of array-contents * libguile/arrays.c: (scm_array_contents): fix comment. * test-suite/tests/arrays.test: add cases that depend on correct setting of CONTIGUOUS_FLAG. commit f935ba05d6c9b4f33edb7fa4310ff10d77ea3ac9 Author: Daniel Llorens <[email protected]> Date: Wed Apr 24 16:34:31 2013 +0200 Check the documented matching behavior of array-map!/copy! * test-suite/tests/arrays.test: move array-copy! tests to ramap.test. * test-suite/tests/ramap.test: check the dissimilar matching behavior of array-copy! and array-map! with arguments of different size. commit c8e4860050ab7ffa6c398512d560c66fde99b17b Author: Daniel Llorens <[email protected]> Date: Wed Apr 24 16:00:06 2013 +0200 Simplify ASET in array-map.c * libguile/array-map.c: (ASET): this is only ever used with a true vector type, so remove use of inc/base/lbnd. commit a3c448d8c228af725f252d506b94319a7cdeddd1 Author: Daniel Llorens <[email protected]> Date: Sat Apr 20 01:27:42 2013 +0200 Fix compilation errors when reading arrays at the repl * compile-assembly.scm - vector-fold2: handle rank 1 arrays, since this is called with the result of array-contents which need not be a vector. - dump-constants: fix uses of vector-fold2. Replace vector-length on result of array-contents by array-length. * libguile/arrays.c - scm_array_contents: branch cases not on scm_is_generalized_vector but on SCM_I_ARRAYP. Thus lbnd!=0, which could happen with scm_is_generalized_vector, never appears in the output. * test-suite/tests/arrays.test - tests for array-contents. commit e5d625a5e657227469ed71adf65297da2d0642cc Author: Daniel Llorens <[email protected]> Date: Fri Apr 19 16:44:48 2013 +0200 Factor out make1array() in scm_ramapc() * libguile/array-map.c: (scm_ramapc): factor out vector->array conversion to aux function make1array. ----------------------------------------------------------------------- Summary of changes: libguile/array-handle.c | 14 ++------------ libguile/array-map.c | 1 + test-suite/tests/arrays.test | 2 +- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/libguile/array-handle.c b/libguile/array-handle.c index 84e9f88..2252ecc 100644 --- a/libguile/array-handle.c +++ b/libguile/array-handle.c @@ -231,21 +231,11 @@ scm_array_get_handle (SCM array, scm_t_array_handle *h) } break; case scm_tc7_array: + scm_array_get_handle (SCM_I_ARRAY_V (array), h); + h->array = array; h->base = SCM_I_ARRAY_BASE (array); h->ndims = SCM_I_ARRAY_NDIM (array); h->dims = SCM_I_ARRAY_DIMS (array); - { - scm_t_array_handle vh; - - scm_array_get_handle (SCM_I_ARRAY_V (array), &vh); - h->element_type = vh.element_type; - h->elements = vh.elements; - h->writable_elements = vh.writable_elements; - h->vector = vh.vector; - h->vref = vh.vref; - h->vset = vh.vset; - scm_array_handle_release (&vh); - } break; default: scm_wrong_type_arg_msg (NULL, 0, array, "array"); diff --git a/libguile/array-map.c b/libguile/array-map.c index 1670b32..7bb5af5 100644 --- a/libguile/array-map.c +++ b/libguile/array-map.c @@ -215,6 +215,7 @@ scm_ramapc (void *cproc_ptr, SCM data, SCM ra0, SCM lra, const char *what) } } while (k >= 0); + return 1; } diff --git a/test-suite/tests/arrays.test b/test-suite/tests/arrays.test index a715922..c1407c9 100644 --- a/test-suite/tests/arrays.test +++ b/test-suite/tests/arrays.test @@ -328,7 +328,7 @@ ;; 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)))) + (f64vector? (array-contents a)))) (pass-if "broadcast vector I" (let* ((a (make-array 0 4)) hooks/post-receive -- GNU Guile
