mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-05 09:10:18 +02:00
Avoid unneeded internal use of array handles
* libguile/arrays.c (scm_shared_array_root): Adopt uniform check order. (scm_shared_array_offset, scm_shared_array_increments): Use the array fields directly just as scm_shared_array_root does. (scm_c_array_rank): Moved from libguile/generalized-arrays.c. Don't use array handles, but follow the same type check sequence as the other array functions (shared-array-root, etc). (scm_array_rank): Moved from libguile/generalized-arrays.h. * libguile/arrays.h: Move prototypes here. * test-suite/tests/arrays.test: Tests for shared-array-offset, shared-array-increments.
This commit is contained in:
parent
818def8b1e
commit
00ced1e109
5 changed files with 109 additions and 59 deletions
|
@ -50,6 +50,9 @@ SCM_API SCM scm_array_contents (SCM ra, SCM strict);
|
|||
SCM_API SCM scm_list_to_array (SCM ndim, SCM lst);
|
||||
SCM_API SCM scm_list_to_typed_array (SCM type, SCM ndim, SCM lst);
|
||||
|
||||
SCM_API size_t scm_c_array_rank (SCM ra);
|
||||
SCM_API SCM scm_array_rank (SCM ra);
|
||||
|
||||
/* internal. */
|
||||
|
||||
#define SCM_I_ARRAY_FLAG_CONTIGUOUS (1 << 0) /* currently unused */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue