Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
4956:3461165c79be | 4957:db2db229ee82 |
---|---|
334 enum number_type {FIXNUM_T, BIGNUM_T, RATIO_T, FLOAT_T, BIGFLOAT_T}; | 334 enum number_type {FIXNUM_T, BIGNUM_T, RATIO_T, FLOAT_T, BIGFLOAT_T}; |
335 | 335 |
336 extern enum number_type get_number_type (Lisp_Object); | 336 extern enum number_type get_number_type (Lisp_Object); |
337 extern enum number_type promote_args (Lisp_Object *, Lisp_Object *); | 337 extern enum number_type promote_args (Lisp_Object *, Lisp_Object *); |
338 | 338 |
339 #ifdef WITH_NUMBER_TYPES | |
340 DECLARE_INLINE_HEADER ( | |
341 int | |
342 non_fixnum_number_p (Lisp_Object object)) | |
343 { | |
344 if (LRECORDP (object)) | |
345 { | |
346 switch (XRECORD_LHEADER (object)->type) | |
347 { | |
348 case lrecord_type_float: | |
349 #ifdef HAVE_BIGNUM | |
350 case lrecord_type_bignum: | |
351 #endif | |
352 #ifdef HAVE_RATIO | |
353 case lrecord_type_ratio: | |
354 #endif | |
355 #ifdef HAVE_BIGFLOAT | |
356 case lrecord_type_bigfloat: | |
357 #endif | |
358 return 1; | |
359 } | |
360 } | |
361 return 0; | |
362 } | |
363 #define NON_FIXNUM_NUMBER_P(X) non_fixnum_number_p (X) | |
364 | |
365 #else | |
366 #define NON_FIXNUM_NUMBER_P FLOATP | |
367 #endif | |
368 | |
369 | |
339 #endif /* INCLUDED_number_h_ */ | 370 #endif /* INCLUDED_number_h_ */ |