[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, ra0, updated. v2.1.0-681-g71b5b27
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, ra0, updated. v2.1.0-681-g71b5b27 |
Date: |
Thu, 06 Feb 2014 20:45:10 +0000 |
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=71b5b27c3680570be03666f9358ec3862982ebf2
The branch, ra0 has been updated
discards 0c3cb9e94d02861a95ca4db8f0295e9b6f45d376 (commit)
discards 686f1ec72fa62be41918b72be6a76d4128dfd91b (commit)
discards e778f41f097e8aaebba1d8f26fce4d090895235c (commit)
discards 1cbfbe13d23d4cd0cc7916e811e9166bf86cfc87 (commit)
discards a06c11d38d6416f4eb59c31f140e6a5e5967fd26 (commit)
discards 0f1ab2fe89292404d93df5c35b2c50073ab3b399 (commit)
discards 3cd3c2ae024124648b0538e116342233974ce94a (commit)
discards 4e633606fbae83cef965e4355fb53ebd868b9417 (commit)
discards 9f3800ade82f982305745e7e0ffbd5815b344546 (commit)
discards 95f487f6f11e43bfaeea9574f17107502b3f232a (commit)
discards b0043ccd7b7a9c98015f8f34981eaee99fa174ff (commit)
discards 90facda995075b8c7725c04fe105da312a6016aa (commit)
discards 0f2cd9e61b65d2c12527692a9e1d9a93a22b8053 (commit)
discards 10d6c23e0f0324011329afb0966c517872c3ba77 (commit)
discards a8c62675900281f1118d97eca6a093e79714f029 (commit)
discards 826504e9e82e57f9e2b646ed9694e5f3f9aecc3c (commit)
discards 127503d83c294066afbb62f5a715f7da15880b12 (commit)
discards b184185e665e42832dcfbbb0b9bccc12e355543c (commit)
discards c3efc8a693a5d38cdb6929efcd61837f6221448b (commit)
discards e24e5704feafd2a4d257f36316cf77043087a6e0 (commit)
discards b5d4a51514b4bde7ca6103419103b041f1c41133 (commit)
discards 250cb851b3f4d2857b8abb5794fa2088b6f90bee (commit)
discards bcf809937e8a16f95d855f11fe4ed95b7743ee2d (commit)
discards e744925bc5dab7aec3fa33a08d536255d4c1ecf3 (commit)
discards 3fc979d9353a50d8ac05886740693d1a7ba7f47c (commit)
discards 1317a4fdfcd354503b04ab5513cfb918e5e52a7d (commit)
discards 4e88252b9d8a8580080fc4a06a414373e079de43 (commit)
discards 681687315024db54021e195e4031624ccf80c08e (commit)
discards 2c7a9f98afedfa0a7ca574ad3ee44d1a6354299e (commit)
discards f566fa19bee66fd5ea347ccec5fa6a9e5476564a (commit)
discards d8c7b3e25e2313919e548a480dfdbd47f30d145c (commit)
discards 3b5ab67a6f1c10b89a12b7425db148d9ad854a97 (commit)
discards 7872960b449c525ba186e829097e14b68056cc95 (commit)
discards de4475c19a3fabb1d66fc4195726fe2aa4aa6364 (commit)
discards 83e95d4e012823736673eb0d91818d6c2c078350 (commit)
discards 949bb639e3db26f043237bb334e27144c3ac28b8 (commit)
discards fcba540d36c7418f80837fe323a2b2791d5f9840 (commit)
discards c8d4d493099a93c7227a00fd3d5b3f3d4bdce9c9 (commit)
discards a83035a868edc2dc293dcca4b02eaefe6d9b49b5 (commit)
discards f49ed33caf2434cd1f40180780c04c1501778a08 (commit)
discards 9771725727e8a2fc03266a73ac3f784d3790aa49 (commit)
discards c8f02bc1ea404d7692553fcc32165381dd43a2e1 (commit)
discards 0a2f1ab2745913a9d89e3ad19be1ea61d7fa95cf (commit)
discards 55a000111dab1651f7431c95be2147f5dd80cee5 (commit)
via 71b5b27c3680570be03666f9358ec3862982ebf2 (commit)
via a722e6a1745c06a2e02e0d7d76089850c8e0f561 (commit)
via 951036b17b35997e70320b23df923fb127d60e09 (commit)
via e2097e86b08f44a33ea3a1632c21b4ab5a10384b (commit)
via 6b9a35a71f09ed325a9dadf41c85018bc5f5a53b (commit)
via 7d4a6ae51e2f586d217c6bd31e05103e97e4c643 (commit)
via ec732d3747125ce46a58e4cbab7e3346459c6043 (commit)
via 6d92752435d29b51df7250fb65bc0563fb053bb9 (commit)
via 13d0eee41c38dd0f2516d45b0e0de1d78eff1f7f (commit)
via 3baf2f2dc78f021eabd00df49e1bd168e72c28da (commit)
via 017889f044b8eaeda05db5d039d0adc9046ebb79 (commit)
via 460e644ae1a640e622ddbc7233dcbb002a502a8c (commit)
via 6564edf3f9667b38b5448e1b3cb237da7029df93 (commit)
via 66476d60c8f00b7b02930803753d742adb069095 (commit)
via c9b3a066d1822d85cd5da1396108ff7e104a2b28 (commit)
via 9fd58191bcb3ea053b47860d303ecfdc86ad3474 (commit)
via 36d6dec6b15cc235d3bbff1b65dcbef3e1bc4a92 (commit)
via 19f6292b51df8aa64a37323b97c83a42379d28be (commit)
via 382cd6bad4817566c76b0e84299644f52dd531d2 (commit)
via 3f3388d4e5d9af33d41025c4d488bf8ea5ab2853 (commit)
via d744c52734bdfd0f90800167c6ba053473c778e9 (commit)
via e609c16687dd4219a1a51d3d2720d8ca9e93f911 (commit)
via 4f5c36b7f91cde4fa760cad4bc7cc8738d99cb06 (commit)
via 2c0b2ce8a0f1f98eef70e7ca1a43b010d9904f93 (commit)
via 2d7d0954c218e9fb4af7ba917e8cd319d6566814 (commit)
via ffe5b4048b08c89ed41f3d345eff9f31432c4699 (commit)
via 5446995598ab916df6232401bf21041536a8fad4 (commit)
via 7914ae9b07b5d6cfce4df5885f44a2e7d008337d (commit)
via f4348f288cc74d39e80b16df21930c109f40c7aa (commit)
via 4e2fd1249e774ec5c37f1f41e6949f45c9b063be (commit)
via b26082652c2af2732db2634b5441b6665919dd0f (commit)
via a31bd83f24697fef584350edfaa47a7fa3273f19 (commit)
via e1d71e39e5ea715c8d56a174fe40ce192fd3a3c1 (commit)
via 19ed36c569b65cc55b1c11a3da128f3378a7f03a (commit)
via 579272174693b6304e61434f0db0662c4d252631 (commit)
via 17babc39732a4d5b765b67f31b7b199234a361aa (commit)
via 9947aaa29603dcf83a992c666a47a9b6200b998e (commit)
via 69843ac1b9dcd2394452c71811438d3b28b5863f (commit)
via a6f8d3ddd833260bed88709f73ab9cb380f7afa0 (commit)
via ee2386952149ceb31cb6d32c58be90f1d5c32c30 (commit)
via c2cb82f85ad248eaa3d1d1b3b0149dbbb2510bde (commit)
via 1080ce25bca18ef3a999995ab15664c2a10fd974 (commit)
via 2bee653acbc4d0978fc5de3d8027865e19fc6ce9 (commit)
via ac350da42c4cc912b9539e50fabc33dfc9fc7d35 (commit)
via 828ada13268688f3a7da70a113f462a2fdef4582 (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 (0c3cb9e94d02861a95ca4db8f0295e9b6f45d376)
\
N -- N -- N (71b5b27c3680570be03666f9358ec3862982ebf2)
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 71b5b27c3680570be03666f9358ec3862982ebf2
Author: Daniel Llorens <address@hidden>
Date: Wed May 22 13:36:24 2013 +0200
Arrays are not an array implementation
* libguile/bitvectors.c: match other uses of SCM_ARRAY_IMPLEMENTATION.
* libguile/generalized-arrays.c
(scm_is_array): don't use scm_i_array_implementation_for_obj on arrays.
(scm_is_typed_array): idem. Use impl->get_handle instead of
scm_array_get_handle to avoid calling scm_i_array_implementation_for_obj
twice.
* libguile/arrays.c: remove SCM_ARRAY_IMPLEMENTATION on scm_tc7_array type.
commit a722e6a1745c06a2e02e0d7d76089850c8e0f561
Author: Daniel Llorens <address@hidden>
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 951036b17b35997e70320b23df923fb127d60e09
Author: Daniel Llorens <address@hidden>
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 e2097e86b08f44a33ea3a1632c21b4ab5a10384b
Author: Daniel Llorens <address@hidden>
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 6b9a35a71f09ed325a9dadf41c85018bc5f5a53b
Author: Daniel Llorens <address@hidden>
Date: Mon Apr 29 15:37:52 2013 +0200
Rename scm_t_array_handle.array to .root
Globally rename this field (after shared-array-root), since it's not an
array.
commit 7d4a6ae51e2f586d217c6bd31e05103e97e4c643
Author: Daniel Llorens <address@hidden>
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 ec732d3747125ce46a58e4cbab7e3346459c6043
Author: Daniel Llorens <address@hidden>
Date: Fri Apr 26 17:59:45 2013 +0200
Bounds error in vector_handle_ref/set is implementation error
* libguile/vectors.c: bounds are already checked unless impl is called
directly, so don't check again.
* libguile/strings.c, libguile/bitvectors.c: fix comments.
commit 6d92752435d29b51df7250fb65bc0563fb053bb9
Author: Daniel Llorens <address@hidden>
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 13d0eee41c38dd0f2516d45b0e0de1d78eff1f7f
Author: Daniel Llorens <address@hidden>
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 3baf2f2dc78f021eabd00df49e1bd168e72c28da
Author: Daniel Llorens <address@hidden>
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 017889f044b8eaeda05db5d039d0adc9046ebb79
Author: Daniel Llorens <address@hidden>
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 460e644ae1a640e622ddbc7233dcbb002a502a8c
Author: Daniel Llorens <address@hidden>
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 6564edf3f9667b38b5448e1b3cb237da7029df93
Author: Daniel Llorens <address@hidden>
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 66476d60c8f00b7b02930803753d742adb069095
Author: Daniel Llorens <address@hidden>
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 c9b3a066d1822d85cd5da1396108ff7e104a2b28
Author: Daniel Llorens <address@hidden>
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 9fd58191bcb3ea053b47860d303ecfdc86ad3474
Author: Daniel Llorens <address@hidden>
Date: Mon Apr 22 09:02:32 2013 +0200
Inline ASET in array-index-map! for rank 1 arguments
* libguile/array-map.c: (scm_array_index_map_x): branch to special case on
rank 1, instead of !SCM_I_ARRAYP (ra). Inline ASET in this case.
commit 36d6dec6b15cc235d3bbff1b65dcbef3e1bc4a92
Author: Daniel Llorens <address@hidden>
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 19f6292b51df8aa64a37323b97c83a42379d28be
Author: Daniel Llorens <address@hidden>
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.
commit 382cd6bad4817566c76b0e84299644f52dd531d2
Author: Daniel Llorens <address@hidden>
Date: Fri Apr 19 14:53:34 2013 +0200
Raw pointer loop in array-copy! for vector/vector case
This special case improves
(define a (make-array 1. 1000000 10))
(define b (make-array *unspecified* 1000000 10))
(define c (transpose-array (make-array *unspecified* 10 1000000) 1 0))
,time (array-copy! a b)
,time (array-copy! a c)
from 0.041598s / 0.072561 to 0.012164s / 0.041886s on a i7-3930K.
* libguile/array-map.c: (racp): if both src and dst are on vectors, use
the element pointers to do the copy.
commit 3f3388d4e5d9af33d41025c4d488bf8ea5ab2853
Author: Daniel Llorens <address@hidden>
Date: Fri Apr 19 13:43:30 2013 +0200
Have array impl->vref, vset take SCM, not handles
* libguile/array-handle.h
- scm_i_t_array_ref, scm_i_t_array_set take SCM.
- scm_array_handle_ref, scm_array_handle_set: pass h->array.
* libguile/array-map.c
- AREF, ASET, rafill, racp, ramap, rafe: pass storage vector SCM
instead of handle.
* libguile/bitvector.c
- bitvector_handle_ref, bitvector_handle_set_x: take bitvector arg.
* libguile/bytevectors.c
- bv_handle_ref, bv_handle_set_x: take bytevector arg.
- scm_i_print_bytevectors: don't use array handles.
* libguile/deprecated.c
- scm_generalized_vector_to_list: pass h.array.
* libguile/strings.c
- string_handle_ref, string_handle_set: take string arg.
* libguile/uniform.c
- scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x: pass h.array.
* libguile/vectors.c
- vector_handle_ref, vector_handle_set: take vector arg.
commit d744c52734bdfd0f90800167c6ba053473c778e9
Author: Daniel Llorens <address@hidden>
Date: Fri Apr 19 12:57:13 2013 +0200
Fix array map functions with empty arguments
* libguile/array-map.c
- scm_ra_matchp: look for empty axes and return new case 5 if so. Use
array handles to remove the SCM_I_ARRAYP / not branch.
- scm_ramapc: Heed case 5.
* test-suite/tests/ramap.test
- test empty arguments for array-copy! and array-for-each. Note those
that failed in 2.0.9.
commit e609c16687dd4219a1a51d3d2720d8ca9e93f911
Author: Daniel Llorens <address@hidden>
Date: Fri Apr 19 10:42:40 2013 +0200
Fix empty array bug in array-index-map!
* libguile/array-map.c: (scm_array_index_map_x): bail out if any one of the
axes is empty.
* test-suite/tests/ramap.test: add tests for empty array-case of
array-index-map!. The 'f64 case with not-last emtpy axis is broken in
2.0.9.
commit 4f5c36b7f91cde4fa760cad4bc7cc8738d99cb06
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 17 17:29:36 2013 +0200
Avoid using array_handle fields in impl->vref/vset
* libguile/bytevectors.c: (bv_handle_set_x, bv_handle_ref): get length
and element type fields from the bytevector, not from the handle.
* libguile/vectors.c: (vector_handle_set, vector_handle_ref): get length
from the vector, not from the handle.
commit 2c0b2ce8a0f1f98eef70e7ca1a43b010d9904f93
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 17 15:12:15 2013 +0200
Remove undocumented casting behavior in srfi4 vector_elements
* libguile/srfi-4.c: scm_##tag##vector_writable_elements: if the argument's
type doesn't match the tag, throw type error.
commit 2d7d0954c218e9fb4af7ba917e8cd319d6566814
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 17 14:33:40 2013 +0200
Test that typed-array? returns #f with non-array argument
* test-suite/tests/arrays.test: ditto.
commit ffe5b4048b08c89ed41f3d345eff9f31432c4699
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 17 14:01:54 2013 +0200
Avoid array API in make-srfi-4-vector
* libguile/bytevector.h: publish SCM_BYTEVECTOR_TYPE_SIZE,
bytevector_ref_fns
and bytevector_set_fns from libguile/bytevector.c.
* libguile/bytevector.c: bv_handle_ref, bv_handle_set: prefer
SCM_BYTEVECTOR_TYPE_SIZE to scm_array_handle_uniform_element_size.
* libguile/srfi-4.c: scm_make_srfi_4_vector: don't use array handles.
commit 5446995598ab916df6232401bf21041536a8fad4
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 17 10:19:26 2013 +0200
Replace SCM_IMP in array-map.c
* libguile/array-map.c
- scm_ramapc: check scm_array_contents with scm_is_false.
commit 7914ae9b07b5d6cfce4df5885f44a2e7d008337d
Author: Daniel Llorens <address@hidden>
Date: Tue Apr 16 18:19:57 2013 +0200
Fix comment in scm_array_get_handle
libguile/array-handle.c: (scm_array_get_handle): comment applies to either
branch.
commit f4348f288cc74d39e80b16df21930c109f40c7aa
Author: Daniel Llorens <address@hidden>
Date: Mon Apr 15 13:44:10 2013 +0200
Don't bother with array handle in scm_c_array_rank
* libguile/generalized-arrays.c: (scm_c_array_rank): compute rank directly
from
object.
commit 4e2fd1249e774ec5c37f1f41e6949f45c9b063be
Author: Daniel Llorens <address@hidden>
Date: Fri Apr 12 17:50:09 2013 +0200
Use underlying vector implementation directly in array handles
* libguile/array-handle.c
- scm_array_get_handle: if the object is an array, point impl to
the underlying vector instead of array impl, then fix the axes. Avoid
calling scm_i_array_implementation_for_obj twice.
* libguile/arrays.c
- array_handle_ref, array_handle_set, array_get_handle: remove.
* libguile/bitvectors.c, libguile/bytevectors.c, libguile/strings.c,
libguile/vectors.c: fix base = 0 in the array handle.
* libguile/vectors.c: (vector_handle_set, vector_handle_ref): do not
use h->dims.
commit b26082652c2af2732db2634b5441b6665919dd0f
Author: Daniel Llorens <address@hidden>
Date: Fri Apr 12 15:04:52 2013 +0200
Match uniform_vector_elements with vector_elements
* libguile/vectors.c
- (scm_vector_writable_elements): allow any non-uniform rank 1 array,
after the doc. Match the implementation with
scm_uniform_vector_elements.
- (scm_vector_elements): after the above.
* libguile/uniform.c
- (scm_uniform_vector_writable_elements): ditto for uniform rank 1 arrays.
* libguile/sort.c
- revert the changes in 7a6fd9, except for the argument type test; allow
what scm_vector_(writable_)elements allows.
commit a31bd83f24697fef584350edfaa47a7fa3273f19
Author: Daniel Llorens <address@hidden>
Date: Thu Apr 11 19:38:19 2013 +0200
Online documentation for vector-ref, vector-set!
* libguile/vectors.c: (scm_vector_ref, scm_vector_set!): embed the
comments as documentation.
commit e1d71e39e5ea715c8d56a174fe40ce192fd3a3c1
Author: Daniel Llorens <address@hidden>
Date: Thu Apr 11 19:32:23 2013 +0200
vector-length rejects non vector? arg
* libguile/vectors.c
- scm_c_vector_length: error if SCM_I_IS_VECTOR (v) fails.
- scm_vector_length: Documentation for vector-length.
commit 19ed36c569b65cc55b1c11a3da128f3378a7f03a
Author: Daniel Llorens <address@hidden>
Date: Thu Apr 11 18:28:19 2013 +0200
vector-ref, vector-set! reject non vector? args
* libguile/vectors.c: (scm_c_vector_ref, scm_c_vector_set_x):
throw type error if v is not vector?.
commit 579272174693b6304e61434f0db0662c4d252631
Author: Daniel Llorens <address@hidden>
Date: Thu Apr 11 18:11:35 2013 +0200
Identify scm_is_vector with scm_is_simple_vector
This patch fixes the bug (vector-ref address@hidden(1 2 3) 1) => 2.
* libguile/vectors.c: (scm_is_vector): just as scm_is_simple_vector.
* libguile/filesys.c, libguile/random.c, libguile/stime.c, libguile/trees.c,
libguile/validate.h: use scm_is_vector instead of scm_is_simple_vector.
* libguile/sort.c
- scm_restricted_vector_sort_x: use scm_array_handle_writable_elements
instead of scm_vector_writable_elements, to work with non-vector
rank-1 array objects.
- scm_sort_x: check for scm_is_array instead of scm_is_vector. Rank
check is in restricted_vector_sort_x.
- scm_sort: ditto.
- scm_stable_sort_x: like scm_restricted_vector_sort_x.
- scm_stable_sort: like scm_sort.
* test-suite/tests/arrays.test: fix header.
* test-suite/tests/random.test: new coverage test covering
random:normal-vector!
* test-suite/Makefile.am: include random.test in make check.
commit 17babc39732a4d5b765b67f31b7b199234a361aa
Author: Daniel Llorens <address@hidden>
Date: Thu Apr 11 13:10:08 2013 +0200
For uniform vectors SCM_I_ARRAYP can't be true
This fixes an inconsistency where uniform-vector? of a shared array could
be true but -ref operations failed to account correctly for lbnd.
* libguile/uniform.c
- scm_is_uniform_vector: SCM_I_ARRAYP disqualifies obj as uniform vector.
- scm_c_uniform_vector_length: lbnd is known 0, so don't use it.
- scm_c_uniform_vector_ref: lbnd/base/inc are known to be 0/0/1.
- scm_c_uniform_vector_set_x!: idem.
- scm_uniform_vector_writable_elements: check uvec's type.
* test-suite/tests/arrays.test
- group the exception types at the top.
- check that uniform-vector functions do not accept general arrays.
commit 9947aaa29603dcf83a992c666a47a9b6200b998e
Author: Daniel Llorens <address@hidden>
Date: Thu Apr 11 13:03:45 2013 +0200
Fix bad uses of base and lbnd on rank 1 arrays
* libguile/array-map.c
- rafill, ramap, rafe, racp: object from SCM_I_ARRAY_V always
has base 0, lbnd 0 and inc 1; make use of this.
* libguile/arrays.c
- array_handle_ref, array_handle_set: idem.
- array_get_handle: sanity check.
* libguile/generalized-vectors.c
- scm_c_generalized_vector_ref, scm_c_generalized_vector_set_x:
pos should be base when idx is lbnd. Furthermore, pos should be signed
and
have its overflow checked; do this by handling the job to
scm_c_array_ref_1, scm_c_array_set_1_x.
* libguile/generalized-vectors.h
- fix prototypes.
commit 69843ac1b9dcd2394452c71811438d3b28b5863f
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 10 15:28:52 2013 +0200
Reorder arrays.test
* test-suite/tests/arrays.test: dependence reordering: first sanity, then
make-array, then array-equal?, then make-shared-array, shared-array-root,
then the rest, many of which use make-shared-array.
commit a6f8d3ddd833260bed88709f73ab9cb380f7afa0
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 10 15:11:33 2013 +0200
Don't use scm_is_generalized_vector in transpose-array
* libguile/arrays.c (scm_transpose_array)
- Use scm_c_array_rank(), which contains an implicit is_array test.
- Handle the rank 0 case.
* test-suite/tests/arrays.test
- Add test for rank 0 case.
- Add failure test for non array argument.
commit ee2386952149ceb31cb6d32c58be90f1d5c32c30
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 10 14:53:10 2013 +0200
Tests for transpose-array
* test-suite/tests/arrays.test: test transpose-array for ranks 1, 2, 3.
commit c2cb82f85ad248eaa3d1d1b3b0149dbbb2510bde
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 10 13:48:13 2013 +0200
Don't use scm_is_generalized_vector in shared-array-root
* libguile/arrays.c: (scm_shared_array_root): replace check for
scm_is_generalized_vector.
commit 1080ce25bca18ef3a999995ab15664c2a10fd974
Author: Daniel Llorens <address@hidden>
Date: Wed Apr 10 13:45:05 2013 +0200
Tests for shared-array-root
* test-suite/tests/arrays.test: check shared-array-root against
make-shared-array, array-contents.
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, ra0, updated. v2.1.0-681-g71b5b27,
Andy Wingo <=