From f29d1d2265a1c3b1e5988c194e6b86924d9fd38a Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Fri, 12 Oct 2001 09:00:24 +0000 Subject: [PATCH] * validate.h (SCM_VALIDATE_DOUBLE_DEF_COPY): New macro. --- libguile/ChangeLog | 4 ++++ libguile/validate.h | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 92aea05b9..d1f2dfd6f 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,7 @@ +2001-10-12 Mikael Djurfeldt + + * validate.h (SCM_VALIDATE_DOUBLE_DEF_COPY): New macro. + 2001-10-08 Rob Browning * gc.c: support ia64 register backing store. diff --git a/libguile/validate.h b/libguile/validate.h index ba807c6a1..43e877ff8 100644 --- a/libguile/validate.h +++ b/libguile/validate.h @@ -289,6 +289,19 @@ } \ } while (0) +#define SCM_VALIDATE_DOUBLE_DEF_COPY(pos, k, default, cvar) \ + do { \ + if (SCM_UNBNDP (k)) \ + { \ + k = scm_make_real (default); \ + cvar = default; \ + } \ + else \ + { \ + cvar = SCM_NUM2DOUBLE (pos, k); \ + } \ + } while (0) + /* [low,high) */ #define SCM_VALIDATE_INUM_RANGE(pos,k,low,high) \ do { SCM_ASSERT(SCM_INUMP(k), k, pos, FUNC_NAME); \