Mercurial > hg > xemacs-beta
diff src/ChangeLog @ 1983:9c872f33ecbe
[xemacs-hg @ 2004-04-05 22:49:31 by james]
Add bignum, ratio, and bigfloat support.
author | james |
---|---|
date | Mon, 05 Apr 2004 22:50:11 +0000 |
parents | 6a91a3c8f1dc |
children | 83276542ee26 |
line wrap: on
line diff
--- a/src/ChangeLog Mon Apr 05 21:50:47 2004 +0000 +++ b/src/ChangeLog Mon Apr 05 22:50:11 2004 +0000 @@ -1,3 +1,89 @@ +2004-04-05 Jerry James <james@xemacs.org> + + * Makefile.in.in (number_objs): New. + * Makefile.in.in (objs): Use it. + * alloc.c: Make comment more precise. + * alloc.c (make_bignum): New function. + * alloc.c (make_bignum_bg): New function. + * alloc.c (make_ratio): New function. + * alloc.c (make_ratio_bg): New function. + * alloc.c (make_ratio_rt): New function. + * alloc.c (make_bigfloat): New function. + * alloc.c (make_bigfloat_bf): New function. + * alloc.c (sweep_bignums): New function. + * alloc.c (sweep_ratios): New function. + * alloc.c (sweep_bigfloats): New function. + * alloc.c (gc_sweep): Use the new sweep functions. + * alloc.c (Fgarbage_collect): Report collected number objects. + * alloc.c (common_init_alloc_early): Initialize number allocators. + * bytecode.c (bytecode_negate): Negate more number types. + * bytecode.c (bytecode_arithcompare): Compare more number types. + * bytecode.c (bytecode_arithop): Operate on more number types. + * bytecode.c (execute_optimized_program): Several changes in + support of the new number types. + * config.h.in: Add SIZEOF_DOUBLE, DOUBLE_BITS, WITH_NUMBER_TYPES, + WITH_GMP, WITH_MP, MP_PREFIX, and HAVE_MP_MOVE. + * data.c: Add symbol Qnonnegativep. + * data.c (Ffixnump): New function. + * data.c (Fnatnump): Work with bignums alos. + * data.c (Fnonnegativep): New function. + * data.c (Fnumberp): Return t for any number type. + * data.c (ARITHCOMPARE_MANY): Add cases for the new number types. + * data.c (Feqlsign): Work with the new number types. + * data.c (Flss): Ditto. + * data.c (Fgtr): Ditto. + * data.c (Fleq): Ditto. + * data.c (Fgeq): Ditto. + * data.c (Fneq): Ditto. + * data.c (Fzerop): Ditto. + * data.c (Fnumber_to_string): Ditto. + * data.c (Fstring_to_number): Ditto. + * data.c (Fplus): Ditto. + * data.c (Fminus): Ditto. + * data.c (Ftimes): Ditto. + * data.c (Fdiv): New function to produce ratios. + * data.c (Fquo): Work with the new number types. + * data.c (Fmax): Ditto. + * data.c (Fmin): Ditto. + * data.c (Flogand): Ditto. + * data.c (Flogior): Ditto. + * data.c (Flogxor): Ditto. + * data.c (Flognot): Ditto. + * data.c (Frem): Ditto. + * data.c (Fmod): Ditto. + * data.c (Fash): Ditto. + * data.c (Flsh): Ditto. + * data.c (Fadd1): Ditto. + * data.c (Fsub1): Ditto. + * data.c (syms_of_data): Declare new symbols and Lisp functions. + * depend: Regenerate. + * doprnt.c: Add converters for the new number types. + * doprnt.c (union printf_arg): Add new obj field. + * doprnt.c (get_doprnt_args): Use the new converters. + * doprnt.c (emacs_doprnt_1): Convert and print the new number types. + * emacs.c (main_1): Call syms_of_, vars_of_, and init_number. + * floatfns.c (float_to_int): Convert to bignums if necessary. + * floatfns.c (extract_float): Extract the new number types. + * floatfns.c (Fexpt): Work with bignums. + * floatfns.c (Fsqrt): Ditto. + * floatfns.c (Fabs): Work with the new number types. + * floatfns.c (Ffloat): Ditto. + * floatfns.c (Fceiling): Ditto. + * floatfns.c (Ffloor): Ditto. + * floatfns.c (Fround): Ditto. + * floatfns.c (Ftruncate): Ditto. + * fns.c (Frandom): Update docstring and accept bignum limits. + * fns.c (internal_equalp): Work with the new number types. + * general-slots.h: Add new type name symbols. + * lisp.h: Include number.h. Add isratio_string prototype. + Declare Qnonnegativep and Qnumberp. + * lread.c (read_atom): Read ratios. + * lread.c (parse_integer): Read bignums. + * lread.c (isratio_string): New functions. + * lrecord.h (lrecord_type): Add new number type values. + * symsinit.h: Declare syms_of_, vars_of_, and init_number. + * sysdep.c (seed_random): Set the bignum random seed. + 2004-03-30 Zajcev Evgeny <zevlg@yandex.ru> * window.c: Declare `allow_deletion_of_last_visible_frame' extern.