mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
(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.
This commit is contained in:
parent
0f94980db9
commit
8805b77dd0
2 changed files with 74 additions and 70 deletions
|
@ -325,6 +325,78 @@ SCM_API SCM scm_gentemp (SCM prefix, SCM obarray);
|
|||
|
||||
SCM_API SCM SCM_MAKINUM (scm_t_signed_bits val);
|
||||
|
||||
/* Users shouldn't know about INUMs.
|
||||
*/
|
||||
|
||||
#define SCM_VALIDATE_INUM(pos, k) SCM_MAKE_VALIDATE_MSG (pos, k, INUMP, "exact integer")
|
||||
|
||||
#define SCM_VALIDATE_INUM_COPY(pos, k, cvar) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_BIGINT(pos, k) SCM_MAKE_VALIDATE_MSG (pos, k, BIGP, "bignum")
|
||||
|
||||
#define SCM_VALIDATE_INUM_MIN(pos, k, min) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP(k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, (SCM_INUM (k) >= min)); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_MIN_COPY(pos, k, min, cvar) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, (SCM_INUM (k) >= min)); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_MIN_DEF_COPY(pos, k, min, default, cvar) \
|
||||
do { \
|
||||
if (SCM_UNBNDP (k)) \
|
||||
k = SCM_I_MAKINUM (default); \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, (SCM_INUM (k) >= min)); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_DEF(pos, k, default) \
|
||||
do { \
|
||||
if (SCM_UNBNDP (k)) \
|
||||
k = SCM_I_MAKINUM (default); \
|
||||
else SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_DEF_COPY(pos, k, default, cvar) \
|
||||
do { \
|
||||
if (SCM_UNBNDP (k)) \
|
||||
{ \
|
||||
k = SCM_I_MAKINUM (default); \
|
||||
cvar = default; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/* [low, high) */
|
||||
#define SCM_VALIDATE_INUM_RANGE(pos, k, low, high) \
|
||||
do { SCM_ASSERT(SCM_INUMP(k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE(pos, k, \
|
||||
(SCM_INUM (k) >= low && \
|
||||
SCM_INUM (k) < high)); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_RANGE_COPY(pos, k, low, high, cvar) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, low <= SCM_INUM (k) && SCM_INUM (k) < high); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
|
||||
void scm_i_init_deprecated (void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -170,8 +170,8 @@
|
|||
pos_end, end, c_end) \
|
||||
do {\
|
||||
SCM_VALIDATE_STRING_COPY (pos_str, str, c_str);\
|
||||
SCM_VALIDATE_INUM_DEF_COPY (pos_start, start, 0, c_start);\
|
||||
SCM_VALIDATE_INUM_DEF_COPY (pos_end, end, SCM_STRING_LENGTH (str), c_end);\
|
||||
c_start = SCM_UNBNDP(start)? 0 : scm_to_size_t (start);\
|
||||
c_end = SCM_UNBNDP(end)? SCM_STRING_LENGTH(str) : scm_to_size_t (end);\
|
||||
SCM_ASSERT_RANGE (pos_start, start,\
|
||||
0 <= c_start \
|
||||
&& (size_t) c_start <= SCM_STRING_LENGTH (str));\
|
||||
|
@ -184,14 +184,6 @@
|
|||
|
||||
#define SCM_VALIDATE_NUMBER(pos, z) SCM_MAKE_VALIDATE_MSG (pos, z, NUMBERP, "number")
|
||||
|
||||
#define SCM_VALIDATE_INUM(pos, k) SCM_MAKE_VALIDATE_MSG (pos, k, INUMP, "exact integer")
|
||||
|
||||
#define SCM_VALIDATE_INUM_COPY(pos, k, cvar) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_USHORT_COPY(pos, k, cvar) \
|
||||
do { \
|
||||
cvar = SCM_NUM2USHORT (pos, k); \
|
||||
|
@ -232,51 +224,6 @@
|
|||
cvar = SCM_NUM2DOUBLE (pos, k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_BIGINT(pos, k) SCM_MAKE_VALIDATE_MSG (pos, k, BIGP, "bignum")
|
||||
|
||||
#define SCM_VALIDATE_INUM_MIN(pos, k, min) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP(k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, (SCM_INUM (k) >= min)); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_MIN_COPY(pos, k, min, cvar) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, (SCM_INUM (k) >= min)); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_MIN_DEF_COPY(pos, k, min, default, cvar) \
|
||||
do { \
|
||||
if (SCM_UNBNDP (k)) \
|
||||
k = SCM_I_MAKINUM (default); \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, (SCM_INUM (k) >= min)); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_DEF(pos, k, default) \
|
||||
do { \
|
||||
if (SCM_UNBNDP (k)) \
|
||||
k = SCM_I_MAKINUM (default); \
|
||||
else SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_DEF_COPY(pos, k, default, cvar) \
|
||||
do { \
|
||||
if (SCM_UNBNDP (k)) \
|
||||
{ \
|
||||
k = SCM_I_MAKINUM (default); \
|
||||
cvar = default; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_DOUBLE_DEF_COPY(pos, k, default, cvar) \
|
||||
do { \
|
||||
if (SCM_UNBNDP (k)) \
|
||||
|
@ -290,21 +237,6 @@
|
|||
} \
|
||||
} while (0)
|
||||
|
||||
/* [low, high) */
|
||||
#define SCM_VALIDATE_INUM_RANGE(pos, k, low, high) \
|
||||
do { SCM_ASSERT(SCM_INUMP(k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE(pos, k, \
|
||||
(SCM_INUM (k) >= low && \
|
||||
SCM_INUM (k) < high)); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_INUM_RANGE_COPY(pos, k, low, high, cvar) \
|
||||
do { \
|
||||
SCM_ASSERT (SCM_INUMP (k), k, pos, FUNC_NAME); \
|
||||
SCM_ASSERT_RANGE (pos, k, low <= SCM_INUM (k) && SCM_INUM (k) < high); \
|
||||
cvar = SCM_INUM (k); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_NULL(pos, scm) SCM_MAKE_VALIDATE_MSG (pos, scm, NULLP, "null")
|
||||
|
||||
#define SCM_VALIDATE_NULL_OR_NIL(pos, scm) SCM_MAKE_VALIDATE_MSG (pos, scm, NULL_OR_NIL_P, "null")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue