comparison src/number.c @ 5117:3742ea8250b5 ben-lisp-object ben-lisp-object-final-ws-year-2005

Checking in final CVS version of workspace 'ben-lisp-object'
author Ben Wing <ben@xemacs.org>
date Sat, 26 Dec 2009 00:20:27 -0600
parents facf3239ba30
children e0db3c197671
comparison
equal deleted inserted replaced
5116:e56f73345619 5117:3742ea8250b5
104 { XD_OPAQUE_DATA_CONVERTIBLE, offsetof (Lisp_Bignum, data), 104 { XD_OPAQUE_DATA_CONVERTIBLE, offsetof (Lisp_Bignum, data),
105 0, { &bignum_opc }, XD_FLAG_NO_KKCC }, 105 0, { &bignum_opc }, XD_FLAG_NO_KKCC },
106 { XD_END } 106 { XD_END }
107 }; 107 };
108 108
109 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("bignum", bignum, 1, 0, bignum_print, 109 DEFINE_BASIC_LISP_OBJECT ("bignum", bignum, 0, bignum_print,
110 0, bignum_equal, bignum_hash, 110 0, bignum_equal, bignum_hash,
111 bignum_description, Lisp_Bignum); 111 bignum_description, Lisp_Bignum);
112 112
113 #endif /* HAVE_BIGNUM */ 113 #endif /* HAVE_BIGNUM */
114 114
181 static const struct memory_description ratio_description[] = { 181 static const struct memory_description ratio_description[] = {
182 { XD_OPAQUE_PTR, offsetof (Lisp_Ratio, data) }, 182 { XD_OPAQUE_PTR, offsetof (Lisp_Ratio, data) },
183 { XD_END } 183 { XD_END }
184 }; 184 };
185 185
186 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("ratio", ratio, 0, 0, ratio_print, 186 DEFINE_NONDUMPABLE_BASIC_LISP_OBJECT ("ratio", ratio, 0, ratio_print,
187 0, ratio_equal, ratio_hash, 187 0, ratio_equal, ratio_hash,
188 ratio_description, Lisp_Ratio); 188 ratio_description, Lisp_Ratio);
189 189
190 #endif /* HAVE_RATIO */ 190 #endif /* HAVE_RATIO */
191 191
192 Lisp_Object Qratiop; 192 Lisp_Object Qratiop;
193 193
268 static const struct memory_description bigfloat_description[] = { 268 static const struct memory_description bigfloat_description[] = {
269 { XD_OPAQUE_PTR, offsetof (Lisp_Bigfloat, bf) }, 269 { XD_OPAQUE_PTR, offsetof (Lisp_Bigfloat, bf) },
270 { XD_END } 270 { XD_END }
271 }; 271 };
272 272
273 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("bigfloat", bigfloat, 1, 0, 273 DEFINE_BASIC_LISP_OBJECT ("bigfloat", bigfloat, 0,
274 bigfloat_print, 0, 274 bigfloat_print, 0,
275 bigfloat_equal, bigfloat_hash, 275 bigfloat_equal, bigfloat_hash,
276 bigfloat_description, Lisp_Bigfloat); 276 bigfloat_description, Lisp_Bigfloat);
277 277
278 #endif /* HAVE_BIGFLOAT */ 278 #endif /* HAVE_BIGFLOAT */
741 741
742 void 742 void
743 syms_of_number (void) 743 syms_of_number (void)
744 { 744 {
745 #ifdef HAVE_BIGNUM 745 #ifdef HAVE_BIGNUM
746 INIT_LRECORD_IMPLEMENTATION (bignum); 746 INIT_LISP_OBJECT (bignum);
747 #endif 747 #endif
748 #ifdef HAVE_RATIO 748 #ifdef HAVE_RATIO
749 INIT_LRECORD_IMPLEMENTATION (ratio); 749 INIT_LISP_OBJECT (ratio);
750 #endif 750 #endif
751 #ifdef HAVE_BIGFLOAT 751 #ifdef HAVE_BIGFLOAT
752 INIT_LRECORD_IMPLEMENTATION (bigfloat); 752 INIT_LISP_OBJECT (bigfloat);
753 #endif 753 #endif
754 754
755 /* Type predicates */ 755 /* Type predicates */
756 DEFSYMBOL (Qrationalp); 756 DEFSYMBOL (Qrationalp);
757 DEFSYMBOL (Qfloatingp); 757 DEFSYMBOL (Qfloatingp);