Mercurial > hg > xemacs-beta
comparison src/number.h @ 2092:f557693c61de
[xemacs-hg @ 2004-05-21 20:56:26 by james]
Batch of fixes and new functions for bignums, ratios, and bigfloats.
author | james |
---|---|
date | Fri, 21 May 2004 20:56:32 +0000 |
parents | 471242c84954 |
children | 639cdee384e4 |
comparison
equal
deleted
inserted
replaced
2091:0221e454fe63 | 2092:f557693c61de |
---|---|
104 extern Lisp_Object make_bignum_bg (bignum); | 104 extern Lisp_Object make_bignum_bg (bignum); |
105 extern bignum scratch_bignum, scratch_bignum2; | 105 extern bignum scratch_bignum, scratch_bignum2; |
106 | 106 |
107 #else /* !HAVE_BIGNUM */ | 107 #else /* !HAVE_BIGNUM */ |
108 | 108 |
109 extern Lisp_Object Qbignump; | |
110 #define BIGNUMP(x) 0 | 109 #define BIGNUMP(x) 0 |
111 #define CHECK_BIGNUM(x) dead_wrong_type_argument (Qbignump, x) | 110 #define CHECK_BIGNUM(x) dead_wrong_type_argument (Qbignump, x) |
112 #define CONCHECK_BIGNUM(x) dead_wrong_type_argument (Qbignump, x) | 111 #define CONCHECK_BIGNUM(x) dead_wrong_type_argument (Qbignump, x) |
113 typedef void bignum; | 112 typedef void bignum; |
114 #define make_bignum(l) This XEmacs does not support bignums | 113 #define make_bignum(l) This XEmacs does not support bignums |
115 #define make_bignum_bg(b) This XEmacs does not support bignums | 114 #define make_bignum_bg(b) This XEmacs does not support bignums |
116 | 115 |
117 #endif /* HAVE_BIGNUM */ | 116 #endif /* HAVE_BIGNUM */ |
118 | 117 |
118 extern Lisp_Object Qbignump; | |
119 EXFUN (Fbignump, 1); | 119 EXFUN (Fbignump, 1); |
120 | 120 |
121 | 121 |
122 /********************************* Integers *********************************/ | 122 /********************************* Integers *********************************/ |
123 extern Lisp_Object Qintegerp; | 123 extern Lisp_Object Qintegerp; |
187 extern Lisp_Object make_ratio_rt (ratio); | 187 extern Lisp_Object make_ratio_rt (ratio); |
188 extern ratio scratch_ratio; | 188 extern ratio scratch_ratio; |
189 | 189 |
190 #else /* !HAVE_RATIO */ | 190 #else /* !HAVE_RATIO */ |
191 | 191 |
192 extern Lisp_Object Qratiop; | |
193 #define RATIOP(x) 0 | 192 #define RATIOP(x) 0 |
194 #define CHECK_RATIO(x) dead_wrong_type_argument (Qratiop, x) | 193 #define CHECK_RATIO(x) dead_wrong_type_argument (Qratiop, x) |
195 #define CONCHECK_RATIO(x) dead_wrong_type_argument (Qratiop, x) | 194 #define CONCHECK_RATIO(x) dead_wrong_type_argument (Qratiop, x) |
196 typedef void ratio; | 195 typedef void ratio; |
197 #define make_ratio(n,d) This XEmacs does not support ratios | 196 #define make_ratio(n,d) This XEmacs does not support ratios |
198 #define make_ratio_bg(n,d) This XEmacs does not support ratios | 197 #define make_ratio_bg(n,d) This XEmacs does not support ratios |
199 | 198 |
200 #endif /* HAVE_RATIO */ | 199 #endif /* HAVE_RATIO */ |
201 | 200 |
201 extern Lisp_Object Qratiop; | |
202 EXFUN (Fratiop, 1); | 202 EXFUN (Fratiop, 1); |
203 | 203 |
204 | 204 |
205 /******************************** Rationals *********************************/ | 205 /******************************** Rationals *********************************/ |
206 extern Lisp_Object Qrationalp; | 206 extern Lisp_Object Qrationalp; |
260 extern Lisp_Object Vdefault_float_precision; | 260 extern Lisp_Object Vdefault_float_precision; |
261 extern bigfloat scratch_bigfloat, scratch_bigfloat2; | 261 extern bigfloat scratch_bigfloat, scratch_bigfloat2; |
262 | 262 |
263 #else /* !HAVE_BIGFLOAT */ | 263 #else /* !HAVE_BIGFLOAT */ |
264 | 264 |
265 extern Lisp_Object Qbigfloatp; | |
266 #define BIGFLOATP(x) 0 | 265 #define BIGFLOATP(x) 0 |
267 #define CHECK_BIGFLOAT(x) dead_wrong_type_argument (Qbigfloatp, x) | 266 #define CHECK_BIGFLOAT(x) dead_wrong_type_argument (Qbigfloatp, x) |
268 #define CONCHECK_BIGFLOAT(x) dead_wrong_type_argument (Qbigfloatp, x) | 267 #define CONCHECK_BIGFLOAT(x) dead_wrong_type_argument (Qbigfloatp, x) |
269 typedef void bigfloat; | 268 typedef void bigfloat; |
270 #define make_bigfloat(f) This XEmacs does not support bigfloats | 269 #define make_bigfloat(f) This XEmacs does not support bigfloats |
271 #define make_bigfloat_bf(f) This XEmacs does not support bigfloast | 270 #define make_bigfloat_bf(f) This XEmacs does not support bigfloast |
272 | 271 |
273 #endif /* HAVE_BIGFLOAT */ | 272 #endif /* HAVE_BIGFLOAT */ |
274 | 273 |
274 extern Lisp_Object Qbigfloatp; | |
275 EXFUN (Fbigfloatp, 1); | 275 EXFUN (Fbigfloatp, 1); |
276 | 276 |
277 /********************************* Floating *********************************/ | 277 /********************************* Floating *********************************/ |
278 extern Lisp_Object Qfloatingp, Qbigfloat; | 278 extern Lisp_Object Qfloatingp, Qbigfloat; |
279 extern Lisp_Object Qread_default_float_format, Vread_default_float_format; | 279 extern Lisp_Object Qread_default_float_format, Vread_default_float_format; |