Mercurial > hg > xemacs-beta
diff src/number.h @ 4957:db2db229ee82
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Thu, 28 Jan 2010 02:48:45 -0600 |
parents | 8b63e21b0436 6772ce4d982b |
children | b5df3737028a |
line wrap: on
line diff
--- a/src/number.h Thu Jan 28 01:15:10 2010 -0600 +++ b/src/number.h Thu Jan 28 02:48:45 2010 -0600 @@ -336,4 +336,35 @@ extern enum number_type get_number_type (Lisp_Object); extern enum number_type promote_args (Lisp_Object *, Lisp_Object *); +#ifdef WITH_NUMBER_TYPES +DECLARE_INLINE_HEADER ( +int +non_fixnum_number_p (Lisp_Object object)) +{ + if (LRECORDP (object)) + { + switch (XRECORD_LHEADER (object)->type) + { + case lrecord_type_float: +#ifdef HAVE_BIGNUM + case lrecord_type_bignum: +#endif +#ifdef HAVE_RATIO + case lrecord_type_ratio: +#endif +#ifdef HAVE_BIGFLOAT + case lrecord_type_bigfloat: +#endif + return 1; + } + } + return 0; +} +#define NON_FIXNUM_NUMBER_P(X) non_fixnum_number_p (X) + +#else +#define NON_FIXNUM_NUMBER_P FLOATP +#endif + + #endif /* INCLUDED_number_h_ */