mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
more fixes to equal? for arrays
* libguile/array-map.c (array_compare, scm_array_equal_p): Rewrite as something that operates on the generic array handle infrastructure. Based on array->list. (scm_i_array_equal_p): Change the docs, as array-equal? is now the same as equal?, except that it typechecks its args. * doc/ref/api-compound.texi (Array Procedures): Update array-equal? docs. * libguile/deprecated.h: * libguile/deprecated.c (scm_raequal): Deprecate. * libguile/bytevectors.c (scm_bytevector_eq_p): Bugfix: bytevectors are bytevector=? only if their element type is the same. * libguile/eq.c (scm_equal_p): Only dispatch to scm_array_equal_p if both args are arrays (generically). * test-suite/tests/arrays.test ("equal?"): Add some more tests.
This commit is contained in:
parent
92d33877d9
commit
a587d6a973
8 changed files with 81 additions and 125 deletions
|
@ -3,7 +3,7 @@
|
|||
#ifndef SCM_ARRAY_MAP_H
|
||||
#define SCM_ARRAY_MAP_H
|
||||
|
||||
/* Copyright (C) 1995,1996,1997,2000, 2006, 2008, 2009 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995,1996,1997,2000, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public License
|
||||
|
@ -46,7 +46,6 @@ SCM_API int scm_array_identity (SCM src, SCM dst);
|
|||
SCM_API SCM scm_array_map_x (SCM ra0, SCM proc, SCM lra);
|
||||
SCM_API SCM scm_array_for_each (SCM proc, SCM ra0, SCM lra);
|
||||
SCM_API SCM scm_array_index_map_x (SCM ra, SCM proc);
|
||||
SCM_API SCM scm_raequal (SCM ra0, SCM ra1);
|
||||
SCM_API SCM scm_array_equal_p (SCM ra0, SCM ra1);
|
||||
SCM_INTERNAL void scm_init_array_map (void);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue