Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 1982:a748951fd4fb | 1983:9c872f33ecbe |
|---|---|
| 1 2004-04-05 Jerry James <james@xemacs.org> | |
| 2 | |
| 3 * Makefile.in.in (number_objs): New. | |
| 4 * Makefile.in.in (objs): Use it. | |
| 5 * alloc.c: Make comment more precise. | |
| 6 * alloc.c (make_bignum): New function. | |
| 7 * alloc.c (make_bignum_bg): New function. | |
| 8 * alloc.c (make_ratio): New function. | |
| 9 * alloc.c (make_ratio_bg): New function. | |
| 10 * alloc.c (make_ratio_rt): New function. | |
| 11 * alloc.c (make_bigfloat): New function. | |
| 12 * alloc.c (make_bigfloat_bf): New function. | |
| 13 * alloc.c (sweep_bignums): New function. | |
| 14 * alloc.c (sweep_ratios): New function. | |
| 15 * alloc.c (sweep_bigfloats): New function. | |
| 16 * alloc.c (gc_sweep): Use the new sweep functions. | |
| 17 * alloc.c (Fgarbage_collect): Report collected number objects. | |
| 18 * alloc.c (common_init_alloc_early): Initialize number allocators. | |
| 19 * bytecode.c (bytecode_negate): Negate more number types. | |
| 20 * bytecode.c (bytecode_arithcompare): Compare more number types. | |
| 21 * bytecode.c (bytecode_arithop): Operate on more number types. | |
| 22 * bytecode.c (execute_optimized_program): Several changes in | |
| 23 support of the new number types. | |
| 24 * config.h.in: Add SIZEOF_DOUBLE, DOUBLE_BITS, WITH_NUMBER_TYPES, | |
| 25 WITH_GMP, WITH_MP, MP_PREFIX, and HAVE_MP_MOVE. | |
| 26 * data.c: Add symbol Qnonnegativep. | |
| 27 * data.c (Ffixnump): New function. | |
| 28 * data.c (Fnatnump): Work with bignums alos. | |
| 29 * data.c (Fnonnegativep): New function. | |
| 30 * data.c (Fnumberp): Return t for any number type. | |
| 31 * data.c (ARITHCOMPARE_MANY): Add cases for the new number types. | |
| 32 * data.c (Feqlsign): Work with the new number types. | |
| 33 * data.c (Flss): Ditto. | |
| 34 * data.c (Fgtr): Ditto. | |
| 35 * data.c (Fleq): Ditto. | |
| 36 * data.c (Fgeq): Ditto. | |
| 37 * data.c (Fneq): Ditto. | |
| 38 * data.c (Fzerop): Ditto. | |
| 39 * data.c (Fnumber_to_string): Ditto. | |
| 40 * data.c (Fstring_to_number): Ditto. | |
| 41 * data.c (Fplus): Ditto. | |
| 42 * data.c (Fminus): Ditto. | |
| 43 * data.c (Ftimes): Ditto. | |
| 44 * data.c (Fdiv): New function to produce ratios. | |
| 45 * data.c (Fquo): Work with the new number types. | |
| 46 * data.c (Fmax): Ditto. | |
| 47 * data.c (Fmin): Ditto. | |
| 48 * data.c (Flogand): Ditto. | |
| 49 * data.c (Flogior): Ditto. | |
| 50 * data.c (Flogxor): Ditto. | |
| 51 * data.c (Flognot): Ditto. | |
| 52 * data.c (Frem): Ditto. | |
| 53 * data.c (Fmod): Ditto. | |
| 54 * data.c (Fash): Ditto. | |
| 55 * data.c (Flsh): Ditto. | |
| 56 * data.c (Fadd1): Ditto. | |
| 57 * data.c (Fsub1): Ditto. | |
| 58 * data.c (syms_of_data): Declare new symbols and Lisp functions. | |
| 59 * depend: Regenerate. | |
| 60 * doprnt.c: Add converters for the new number types. | |
| 61 * doprnt.c (union printf_arg): Add new obj field. | |
| 62 * doprnt.c (get_doprnt_args): Use the new converters. | |
| 63 * doprnt.c (emacs_doprnt_1): Convert and print the new number types. | |
| 64 * emacs.c (main_1): Call syms_of_, vars_of_, and init_number. | |
| 65 * floatfns.c (float_to_int): Convert to bignums if necessary. | |
| 66 * floatfns.c (extract_float): Extract the new number types. | |
| 67 * floatfns.c (Fexpt): Work with bignums. | |
| 68 * floatfns.c (Fsqrt): Ditto. | |
| 69 * floatfns.c (Fabs): Work with the new number types. | |
| 70 * floatfns.c (Ffloat): Ditto. | |
| 71 * floatfns.c (Fceiling): Ditto. | |
| 72 * floatfns.c (Ffloor): Ditto. | |
| 73 * floatfns.c (Fround): Ditto. | |
| 74 * floatfns.c (Ftruncate): Ditto. | |
| 75 * fns.c (Frandom): Update docstring and accept bignum limits. | |
| 76 * fns.c (internal_equalp): Work with the new number types. | |
| 77 * general-slots.h: Add new type name symbols. | |
| 78 * lisp.h: Include number.h. Add isratio_string prototype. | |
| 79 Declare Qnonnegativep and Qnumberp. | |
| 80 * lread.c (read_atom): Read ratios. | |
| 81 * lread.c (parse_integer): Read bignums. | |
| 82 * lread.c (isratio_string): New functions. | |
| 83 * lrecord.h (lrecord_type): Add new number type values. | |
| 84 * symsinit.h: Declare syms_of_, vars_of_, and init_number. | |
| 85 * sysdep.c (seed_random): Set the bignum random seed. | |
| 86 | |
| 1 2004-03-30 Zajcev Evgeny <zevlg@yandex.ru> | 87 2004-03-30 Zajcev Evgeny <zevlg@yandex.ru> |
| 2 | 88 |
| 3 * window.c: Declare `allow_deletion_of_last_visible_frame' extern. | 89 * window.c: Declare `allow_deletion_of_last_visible_frame' extern. |
| 4 * window.c (window_loop): [fix] Take into account | 90 * window.c (window_loop): [fix] Take into account |
| 5 `allow-deletion-of-last-visible-frame' variable. | 91 `allow-deletion-of-last-visible-frame' variable. |
