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_ */