summaryrefslogtreecommitdiff
path: root/libguile/numbers.h
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2003-09-21 07:54:23 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2003-09-21 07:54:23 +0000
commitf03314f9201704e8287f97f47a89db561ede7a93 (patch)
tree1623e6f1c37e074e329706b77b320a2b16088703 /libguile/numbers.h
parent1cd9ea691590c3e4ea7bc5ff7c68e427b7bc9354 (diff)
downloadguile-f03314f9201704e8287f97f47a89db561ede7a93.tar.gz
* numbers.h (SCM_INEXACTP): Removed uses of SCM_TYP16S.
* tags.h, deprecated.h (SCM_TYP16S): Deprecated and moved from tags.h to deprecated.h.
Diffstat (limited to 'libguile/numbers.h')
-rw-r--r--libguile/numbers.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/libguile/numbers.h b/libguile/numbers.h
index 10e8eddc9..8bf211d6f 100644
--- a/libguile/numbers.h
+++ b/libguile/numbers.h
@@ -126,12 +126,14 @@
* differ in one bit: This way, checking if an object is an inexact number can
* be done quickly (using the TYP16S macro). */
-/* Number subtype 1 to 3 (note the dependency on the predicate SCM_NUMP) */
+/* Number subtype 1 to 3 (note the dependency on the predicates SCM_INEXACTP
+ * and SCM_NUMP) */
#define scm_tc16_big (scm_tc7_number + 1 * 256L)
#define scm_tc16_real (scm_tc7_number + 2 * 256L)
#define scm_tc16_complex (scm_tc7_number + 3 * 256L)
-#define SCM_INEXACTP(x) (!SCM_IMP (x) && SCM_TYP16S (x) == scm_tc16_real)
+#define SCM_INEXACTP(x) \
+ (!SCM_IMP (x) && (0xfeff & SCM_CELL_TYPE (x)) == scm_tc16_real)
#define SCM_REALP(x) (!SCM_IMP (x) && SCM_TYP16 (x) == scm_tc16_real)
#define SCM_COMPLEXP(x) (!SCM_IMP (x) && SCM_TYP16 (x) == scm_tc16_complex)