diff options
author | Marius Vollmer <mvo@zagadka.de> | 2004-07-10 14:35:36 +0000 |
---|---|---|
committer | Marius Vollmer <mvo@zagadka.de> | 2004-07-10 14:35:36 +0000 |
commit | a55c2b680920198892329bdf78c92ecc7553eb58 (patch) | |
tree | 5dab8dec3f128c90a317b4a607d5d9382dfd8c85 /libguile/vectors.c | |
parent | 7cee5b315a702049ba869150eb3d1658d38030d0 (diff) | |
download | guile-a55c2b680920198892329bdf78c92ecc7553eb58.tar.gz |
* validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
SCM_VALIDATE_INUM_MIN_COPY,
SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
fixnum/bignum distinction visible. Changed all uses to scm_to_size_t
or similar.
Diffstat (limited to 'libguile/vectors.c')
-rw-r--r-- | libguile/vectors.c | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/libguile/vectors.c b/libguile/vectors.c index e95ffdcd0..6aa9def6e 100644 --- a/libguile/vectors.c +++ b/libguile/vectors.c @@ -262,19 +262,13 @@ SCM_DEFINE (scm_vector_move_left_x, "vector-move-left!", 5, 0, 0, "@var{start1} is greater than @var{start2}.") #define FUNC_NAME s_scm_vector_move_left_x { - long i; - long j; - long e; + size_t i, j, e; SCM_VALIDATE_VECTOR (1, vec1); - SCM_VALIDATE_INUM_COPY (2, start1, i); - SCM_VALIDATE_INUM_COPY (3, end1, e); SCM_VALIDATE_VECTOR (4, vec2); - SCM_VALIDATE_INUM_COPY (5, start2, j); - SCM_ASSERT_RANGE (2, start1, i <= SCM_VECTOR_LENGTH (vec1) && i >= 0); - SCM_ASSERT_RANGE (5, start2, j <= SCM_VECTOR_LENGTH (vec2) && j >= 0); - SCM_ASSERT_RANGE (3, end1, e <= SCM_VECTOR_LENGTH (vec1) && e >= 0); - SCM_ASSERT_RANGE (5, start2, e-i+j <= SCM_VECTOR_LENGTH (vec2)); + i = scm_to_unsigned_integer (start1, 0, SCM_VECTOR_LENGTH(vec1)); + e = scm_to_unsigned_integer (end1, i, SCM_VECTOR_LENGTH(vec1)); + j = scm_to_unsigned_integer (start2, 0, SCM_VECTOR_LENGTH(vec2)-(i-e)); while (i<e) { @@ -298,20 +292,15 @@ SCM_DEFINE (scm_vector_move_right_x, "vector-move-right!", 5, 0, 0, "@var{start1} is less than @var{start2}.") #define FUNC_NAME s_scm_vector_move_right_x { - long i; - long j; - long e; + size_t i, j, e; SCM_VALIDATE_VECTOR (1, vec1); - SCM_VALIDATE_INUM_COPY (2, start1, i); - SCM_VALIDATE_INUM_COPY (3, end1, e); SCM_VALIDATE_VECTOR (4, vec2); - SCM_VALIDATE_INUM_COPY (5, start2, j); - SCM_ASSERT_RANGE (2, start1, i <= SCM_VECTOR_LENGTH (vec1) && i >= 0); - SCM_ASSERT_RANGE (5, start2, j <= SCM_VECTOR_LENGTH (vec2) && j >= 0); - SCM_ASSERT_RANGE (3, end1, e <= SCM_VECTOR_LENGTH (vec1) && e >= 0); - j = e - i + j; - SCM_ASSERT_RANGE (5, start2, j <= SCM_VECTOR_LENGTH (vec2)); + i = scm_to_unsigned_integer (start1, 0, SCM_VECTOR_LENGTH(vec1)); + e = scm_to_unsigned_integer (end1, i, SCM_VECTOR_LENGTH(vec1)); + j = scm_to_unsigned_integer (start2, 0, SCM_VECTOR_LENGTH(vec2)-(i-e)); + + j += e - i; while (i < e) { j--; |