mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Change uses of scm_is_simple_vector to scm_is_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_sort_x, scm_sort, scm_stable_sort_x) (scm_stable_sort): Remove scm_is_vector check; scm_is_array is sufficient. * 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.
This commit is contained in:
parent
a32488ba13
commit
d747313100
9 changed files with 76 additions and 27 deletions
|
@ -377,8 +377,7 @@ SCM_DEFINE (scm_sort_x, "sort!", 2, 0, 0,
|
|||
SCM_VALIDATE_LIST_COPYLEN (1, items, len);
|
||||
return scm_merge_list_step (&items, less, len);
|
||||
}
|
||||
else if (scm_is_simple_vector (items)
|
||||
|| (scm_is_array (items) && scm_c_array_rank (items) == 1))
|
||||
else if (scm_is_array (items) && scm_c_array_rank (items) == 1)
|
||||
{
|
||||
scm_restricted_vector_sort_x (items,
|
||||
less,
|
||||
|
@ -404,8 +403,7 @@ SCM_DEFINE (scm_sort, "sort", 2, 0, 0,
|
|||
|
||||
if (scm_is_pair (items))
|
||||
return scm_sort_x (scm_list_copy (items), less);
|
||||
else if (scm_is_simple_vector (items)
|
||||
|| (scm_is_array (items) && scm_c_array_rank (items) == 1))
|
||||
else if (scm_is_array (items) && scm_c_array_rank (items) == 1)
|
||||
return scm_sort_x (scm_vector_copy (items), less);
|
||||
else
|
||||
SCM_WRONG_TYPE_ARG (1, items);
|
||||
|
@ -491,8 +489,7 @@ SCM_DEFINE (scm_stable_sort_x, "stable-sort!", 2, 0, 0,
|
|||
SCM_VALIDATE_LIST_COPYLEN (1, items, len);
|
||||
return scm_merge_list_step (&items, less, len);
|
||||
}
|
||||
else if (scm_is_simple_vector (items)
|
||||
|| (scm_is_array (items) && scm_c_array_rank (items) == 1))
|
||||
else if (scm_is_array (items) && 1 == scm_c_array_rank (items))
|
||||
{
|
||||
scm_t_array_handle temp_handle, vec_handle;
|
||||
SCM temp, *temp_elts, *vec_elts;
|
||||
|
@ -535,16 +532,13 @@ SCM_DEFINE (scm_stable_sort, "stable-sort", 2, 0, 0,
|
|||
|
||||
if (scm_is_pair (items))
|
||||
return scm_stable_sort_x (scm_list_copy (items), less);
|
||||
else if (scm_is_simple_vector (items)
|
||||
|| (scm_is_array (items) && scm_c_array_rank (items) == 1))
|
||||
return scm_stable_sort_x (scm_vector_copy (items), less);
|
||||
else
|
||||
SCM_WRONG_TYPE_ARG (1, items);
|
||||
return scm_stable_sort_x (scm_vector_copy (items), less);
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
SCM_DEFINE (scm_sort_list_x, "sort-list!", 2, 0, 0,
|
||||
SCM_DEFINE (scm_sort_list_x, "sort-list!", 2, 0, 0,
|
||||
(SCM items, SCM less),
|
||||
"Sort the list @var{items}, using @var{less} for comparing the\n"
|
||||
"list elements. The sorting is destructive, that means that the\n"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue