/[cmucl]/src/code/bignum.lisp
ViewVC logotype

Log of /src/code/bignum.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.51 - (view) (annotate) - [select for diffs]
Tue May 4 15:08:28 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, RELEASE_20b, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, release-20b-pre1, release-20b-pre2, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, snapshot-2010-11, snapshot-2010-12, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, cross-sol-x86-branch, cross-sparc-branch, sparc-tramp-assem-branch
Changes since 1.50: +2 -1 lines
Diff to previous 1.50
Fix gcd bug:  (gcd 20286123923750474264166990598656
680564733841876926926749214863536422912) -> -512 instead of 512.

(From sbcl.)

Revision 1.50 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:43 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2010-05
Changes since 1.49: +4 -4 lines
Diff to previous 1.49
Change uses of _"foo" to (intl:gettext "foo").  This is because slime
may get confused with source locations if the reader macros are
installed.

Revision 1.49 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:03 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.48: +4 -4 lines
Diff to previous 1.48
Remove _N"" reader macro from docstrings when possible.

Revision 1.48 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:58 2010 UTC (4 years ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.47: +9 -7 lines
Diff to previous 1.47
Merge intl-branch 2010-03-18 to HEAD.  To build, you need to use
boot-2010-02-1 as the bootstrap file.  You should probably also use
the new -P option for build.sh to generate and update the po files
while building.

Revision 1.47.14.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:48 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.47: +9 -7 lines
Diff to previous 1.47 , to next main 1.51
Restart internalization work.  This new branch starts with code from
the intl-branch on date 2010-02-12 18:00:00+0500.  This version works
and

LANG=en@piglatin bin/lisp

works (once the piglatin translation is added).

Revision 1.47.12.2 - (view) (annotate) - [select for diffs]
Tue Feb 9 03:43:35 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.47.12.1: +7 -7 lines
Diff to previous 1.47.12.1 , to branch point 1.47 , to next main 1.51
code/alieneval.lisp
code/backq.lisp
code/bignum.lisp
code/bit-bash.lisp
code/bsd-os.lisp
code/byte-interp.lisp
code/char.lisp
o Mark translatable strings

i18n/locale/cmucl.pot
i18n/locale/ko/LC_MESSAGES/cmucl.po
o Update

Revision 1.47.12.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:46 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.47: +3 -1 lines
Diff to previous 1.47
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.47 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:57 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, pre-merge-intl-branch, release-20a-base, release-20a-pre1, snapshot-2009-07, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-20A-BRANCH, amd64-dd-branch, intl-2-branch, intl-branch, portable-clx-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.46: +8 -8 lines
Diff to previous 1.46
Merge Unicode work to trunk.  From label
unicode-utf16-extfmt-2009-06-11.

Revision 1.43.6.2 - (view) (annotate) - [select for diffs]
Tue May 12 16:31:48 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-06, unicode-utf16-extfmt-2009-06-11
Changes since 1.43.6.1: +8 -8 lines
Diff to previous 1.43.6.1 , to branch point 1.43 , to next main 1.51
o Lots of spelling fixes from Paul.
o Add unicode codepoints in final-sigma.lisp (in case the characters
  there don't show up correctly).
o Support partial-fill in READ-INTO-STRING.

Revision 1.43.6.1 - (view) (annotate) - [select for diffs]
Sun Nov 2 13:30:00 2008 UTC (5 years, 5 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmts-sync-2008-12
Changes since 1.43: +135 -131 lines
Diff to previous 1.43
Sync to snapshot 2008-11.  But we didn't sync code/extfmts.lisp or
iso8859-1.lisp and utf-8.lisp.  (I don't think we want those changes,
yet.)

Revision 1.43.4.1 - (view) (annotate) - [select for diffs]
Sat Nov 1 22:38:47 2008 UTC (5 years, 5 months ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Changes since 1.43: +135 -131 lines
Diff to previous 1.43 , to next main 1.51
Sync to snapshot 2008-11.

Revision 1.43.10.1 - (view) (annotate) - [select for diffs]
Sat Nov 1 16:07:19 2008 UTC (5 years, 5 months ago) by rtoy
Branch: sse2-packed-branch
CVS Tags: sse2-merge-with-2008-11, sse2-packed-2008-11-12
Changes since 1.43: +135 -131 lines
Diff to previous 1.43 , to next main 1.51
Sync to snapshot-2008-11.

Revision 1.46 - (view) (annotate) - [select for diffs]
Wed Oct 22 02:45:23 2008 UTC (5 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, release-19f-base, release-19f-pre1, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05
Branch point for: RELEASE-19F-BRANCH
Changes since 1.45: +2 -2 lines
Diff to previous 1.45
I think we can turn off debug 3 for KARATSUBA.

Revision 1.45 - (view) (annotate) - [select for diffs]
Tue Oct 21 17:35:17 2008 UTC (5 years, 5 months ago) by rtoy
Branch: MAIN
Changes since 1.44: +9 -8 lines
Diff to previous 1.44
Correct some comments referring to the (now) nonexistent *truncate-x*
and *truncate-y*.

Revision 1.44 - (view) (annotate) - [select for diffs]
Tue Oct 21 03:03:13 2008 UTC (5 years, 5 months ago) by rtoy
Branch: MAIN
Changes since 1.43: +130 -127 lines
Diff to previous 1.43
Speed up bignum-truncate by getting rid of the special variables
*truncate-x* and *truncate-y*.  Accessing these in tight loops hurts
performance.  So pass truncate-x and truncate-y as parameters to the
routines that need them.  Reorder the truncate support routines so we
can block-compile all of the routines for truncate.

With these changes, we see the following changes according to
cl-bench.  The first column and reference is 2008-10 snapshot
(darwin), and the next column is the ratio of this new code to the
reference.  So we see improvements from 10% to 50%.

BIGNUM/ELEM-100-1000     [      0.23]   0.84
BIGNUM/ELEM-1000-100     [      0.50]   0.89
BIGNUM/ELEM-10000-1      [      0.51]   0.90
BIGNUM/PARI-100-10       [      0.05]   0.63
BIGNUM/PARI-200-5        [      0.22]   0.51
PI-DECIMAL/SMALL         [      2.44]   0.70
PI-DECIMAL/BIG           [      2.24]   0.73
PI-ATAN                  [      1.07]   1.00
PI-RATIOS                [      2.56]   0.88

Revision 1.43 - (view) (annotate) - [select for diffs]
Wed Oct 10 01:09:32 2007 UTC (6 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-packed-base, unicode-utf16-base, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09
Branch point for: release-19e-branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.42: +16 -60 lines
Diff to previous 1.42
o Use new RATIONAL-TO-DD function to convert bignums to
  double-doubles.
o Remove now unused DOUBLE-DOUBLE-FLOAT-FROM-BITS.

This should fix an issue with converting bignums to double-doubles.
For example (- (ash 1 150) 1) can now be be represented accurately as
a double-double.

Revision 1.42 - (view) (annotate) - [select for diffs]
Fri Mar 23 20:49:40 2007 UTC (7 years ago) by rtoy
Branch: MAIN
CVS Tags: pre-telent-clx, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10
Changes since 1.41: +83 -16 lines
Diff to previous 1.41
Better conversion of bignums to double-double-floats.  Also fixes the
silly bug that (float <neg bignum> 1w0) was returning a positive
result instead of negative.

o Rename DOUBLE-DOUBLE-FLOAT to DOUBLE-DOUBLE-FLOAT-FROM-BITS to match
  other functions and to make it separate from the same function in
  the KERNEL package.
o Modify DOUBLE-DOUBLE-FLOAT-FROM-BITS to look at the bignum and
  extract out the pieces better.  Look for a pattern <53 bits> <zeroes>
  <53 bits> where <zeroes> is a set of consecutive zero bits.  We use
  the 2 53-bit sections to create the double-double-float.
o Make DOUBLE-DOUBLE-FLOAT-FROM-BITS honor the sign.
o Add BIGNUM-FLOAT-DIGITS to figure out how many bits of the bignum
  should be used to create the float.
o Call BIGNUM-FLOAT-DIGITS from BIGNUM-TO-FLOAT instead of using
  FLOAT-FORMAT-DIGITS.

Revision 1.41 - (view) (annotate) - [select for diffs]
Fri Jun 30 18:41:22 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03
Branch point for: release-19d-branch
Changes since 1.40: +24 -1 lines
Diff to previous 1.40
This large checkin merges the double-double float support to HEAD.
The merge is from the tag "double-double-irrat-end".  The
double-double branch is now obsolete.

The code should build without double-double support (tested on sparc)
as well as build with double-double support (tested also on sparc).

Revision 1.40.10.2 - (view) (annotate) - [select for diffs]
Tue Jun 13 19:58:20 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-reader-branch
CVS Tags: double-double-array-base, double-double-array-checkpoint, double-double-irrat-end, double-double-irrat-start, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1
Branch point for: double-double-array-branch
Changes since 1.40.10.1: +5 -5 lines
Diff to previous 1.40.10.1 , to branch point 1.40 , to next main 1.51
code/bignum.lisp:
o Update BIGNUM::DOUBLE-DOUBLE-FROM-BITS due to change in
  DOUBLE-DOUBLE-FLOAT-DIGITS.

code/float.lisp:
o Update DOUBLE-DOUBLE-FROM-BITS, INTEGER-DECODE-DOUBLE-DOUBLE-FLOAT,
  and FLOAT-RATIO due to change in DOUBLE-DOUBLE-FLOAT-DIGITS.
o Tell %UNARY-ROUND how to round double-double-float numbers.
  (Implementation could be better, but this works for now.)

Revision 1.40.10.1 - (view) (annotate) - [select for diffs]
Sun Jun 11 20:11:45 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-reader-branch
Changes since 1.40: +24 -1 lines
Diff to previous 1.40
Add basic support for reading and printing double-double-floats.  I
think this needs to be built from a binary that already has basic
double-double support.  That is, you need to compile these changes
with a binary built from the double-double-branch.  (It may work
to cross-compile this from the 2006-06 snapshot, but I did not try
it.)

Reading double-double-floats appears to work.  PRINT appears to work.
However, formatted output of double-double-floats may not be accurate
because SCALE-EXPONENT still only supports double-floats.

code/bignum.lisp:
o Add support for coercing a BIGNUM to a DOUBLE-DOUBLE-FLOAT.

code/float.lisp:
o Add support for converting a RATIO to a DOUBLE-DOUBLE-FLOAT.  This
  is needed to be able to read a double-double-float correctly.
o INTEGER-DECODE-DOUBLE-DOUBLE-FLOAT seems to be buggy.  Use a new
  version that works but probably conses more than is necessary and is
  probably slower than necessary.  This is needed to print out
  DOUBLE-DOUBLE-FLOATs correctly.
o Add DECODE-DOUBLE-DOUBLE-FLOAT while we're at it.
o Add SCALE-DOUBLE-DOUBLE-FLOAT.  This is also needed for printing.
o Disable %DOUBLE-DOUBLE-FLOAT.  There's already an implementation in
  float-tran.  (We really should move the float-tran version to here.)


code/format.lisp:
o Tell printer to use #\w when printing double-double-floats.

code/irrat.lisp:
o The deftransform for ABS is working, so use that instead of the
  hack.

code/numbers.lisp:
o Update FLOAT-CONTAGION to support mixing rationals with
  double-double-floats.

code/print.lisp:
o Recognize double-double-floats for printing.  Use "w" as the
  exponent marker for double-double floats.
o Very minor change to FLONUM-TO-DIGITS to support
  double-double-floats.

code/reader.lisp:
o Tell the reader that #\w and #\W are exponent markers for
  double-double-float numbers by giving them the secondary attribute
  constituent-expt.
o Tell the reader to creat double-double-floats when reading such
  numbers.

Revision 1.40 - (view) (annotate) - [select for diffs]
Tue Aug 31 00:19:41 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-reader-base, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06
Branch point for: double-double-branch, double-double-reader-branch, ppc_gencgc_branch, release-19b-branch, release-19c-branch
Changes since 1.39: +11 -39 lines
Diff to previous 1.39
o Move definition of MAKE-SMALL-BIGNUM earlier so it can be inlined in
  the places where it is used.
o Remove old bignum-gcd.

Revision 1.39 - (view) (annotate) - [select for diffs]
Sun Aug 22 15:21:55 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.38: +296 -10 lines
Diff to previous 1.38
Port Juho Snellman's implementation of Kenneth Weber's accelerated
integer GCD algorithm.  Gives significant speedups in some cl-bench
benchmarks.  Moderate slowdowns in a couple of the benchmarks.

Revision 1.38 - (view) (annotate) - [select for diffs]
Fri Aug 20 13:35:03 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.37: +247 -208 lines
Diff to previous 1.37
Incorporate Juhu Snellman's modifications to the Karatsuba
multiplier so that it doesn't have to round up the size of the numbers
to the next power of 2 size (words).

Revision 1.37 - (view) (annotate) - [select for diffs]
Wed Aug 4 20:30:47 2004 UTC (9 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.36: +24 -4 lines
Diff to previous 1.36
Port of Juho Snellman's faster bignum-gcd, which uses Euclid's
algorithm to make the bignums roughly the same size before running
binary gcd.

Revision 1.36 - (view) (annotate) - [select for diffs]
Tue Jun 29 15:17:54 2004 UTC (9 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: prm-before-macosx-merge-tag, snapshot-2004-07, snapshot-2004-08
Changes since 1.35: +362 -97 lines
Diff to previous 1.35
o Fix BIGNUM-LOAD-BYTE so that it works with signed and unsigned
  values.  BIGNUM-LOAD-BYTE is significantly faster than LDB when
  extracting out 32-bit sized pieces.
o Initial start at fixing BIGNUM-DEPOSIT-BYTE.  Still broken from
  certain combinations of signed NEW-BYTE and BIGNUM and various
  border cases for BYTE-SPEC.  Many debug prints still in the code.

Revision 1.35 - (view) (annotate) - [select for diffs]
Tue Jun 1 22:42:06 2004 UTC (9 years, 10 months ago) by cwang
Branch: MAIN
CVS Tags: snapshot-2004-06
Changes since 1.34: +4 -4 lines
Diff to previous 1.34
amd64 changes

Revision 1.34 - (view) (annotate) - [select for diffs]
Mon May 26 20:20:32 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
CVS Tags: amd64-merge-start, dynamic-extent-base, lisp-executable-base, mod-arith-base, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, mod-arith-branch, release-19a-branch, sparc_gencgc_branch
Changes since 1.33: +2 -1 lines
Diff to previous 1.33
	Fix code signaling type-errors which did not have :datum and/or
	:expected-type, which lead to the conditions which were not
	displayable because the corresponding condition slots are
	not bound.

	* src/code/seq.lisp (coerce):
	* src/code/list.lisp (nreconc):
	* src/code/interr.lisp (invalid-array-index-error):
	* src/code/bignum.lisp (bignum-to-float):
	* src/code/byte-interp.lisp (%byte-car, %byte-cdr): Fix
	type-errors to include :datum and/or :expected-type.

	Add &more handling to the byte-compiler and -interpreter.
	Reported by Paul Werkowski on cmucl-imp.

	* src/compiler/byte-comp.lisp (make-xep-for): Handle &more.

	* src/code/byte-interp.lisp (hairy-byte-function): Change
	type of rest-arg-p slot.
	(invoke-xep): Handle &more.

Revision 1.32.2.1 - (view) (annotate) - [select for diffs]
Fri Mar 21 00:00:07 2003 UTC (11 years ago) by gerd
Branch: cold-pcl
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 , to next main 1.51
Merge with HEAD.

Revision 1.33 - (view) (annotate) - [select for diffs]
Mon Mar 17 16:07:08 2003 UTC (11 years, 1 month ago) by emarsden
Branch: MAIN
CVS Tags: release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: release-18e-branch
Changes since 1.32: +2 -2 lines
Diff to previous 1.32
The second argument to BIGNUM-ASHIFT-RIGHT is an UNSIGNED-BYTE, not an
INTEGER. This fixes a bug in ASH:

   (ash (1+ most-positive-fixnum) (1- (- most-positive-fixnum)))

produces an error. Noted by Christopher Rhodes on #lisp.

Revision 1.32 - (view) (annotate) - [select for diffs]
Tue Mar 4 15:14:17 2003 UTC (11 years, 1 month ago) by toy
Branch: MAIN
CVS Tags: cold-pcl-base
Branch point for: cold-pcl
Changes since 1.31: +3 -4 lines
Diff to previous 1.31
Fix bug in Karatsuba multiplier for (expt 16 256).  Was incorrectly
comparing two bignums.

Bug noted by Eric Marsden.  Fix from Douglas Crosher.

Revision 1.31 - (view) (annotate) - [select for diffs]
Thu Jan 23 21:05:33 2003 UTC (11 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.30: +5 -3 lines
Diff to previous 1.30
From Eric Marsden:

    fix typos in comments, signal more specific error types, remove
    some stale code, fix a few compiler warnings in the runtime.

Revision 1.30 - (view) (annotate) - [select for diffs]
Wed Oct 2 17:30:38 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
CVS Tags: UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.29: +501 -2 lines
Diff to previous 1.29
Add a Karatsuba multiplication routine for multiplying big bignums.

Revision 1.23.2.4 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:49:51 2002 UTC (12 years ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.23.2.3: +10 -10 lines
Diff to previous 1.23.2.3 , to branch point 1.23 , to next main 1.51
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.29 - (view) (annotate) - [select for diffs]
Sun Mar 4 23:37:32 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE
Changes since 1.28: +2 -2 lines
Diff to previous 1.28
A few well placed inhibit-warnings declarations to suppress noise in
compile-lisp.log. Only 46/130 notes left.

Revision 1.28 - (view) (annotate) - [select for diffs]
Sun Mar 4 20:12:28 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.27: +10 -10 lines
Diff to previous 1.27
Change most PROCLAIMs to DECLAIMs.

Revision 1.23.2.3 - (view) (annotate) - [select for diffs]
Fri Jul 7 09:34:10 2000 UTC (13 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.23.2.2: +2 -3 lines
Diff to previous 1.23.2.2 , to branch point 1.23
Flush unnecessary function proclaim's some of which had incorrect
return values, and replace them with function argument declarations
which the compiler move carefully checks.

Revision 1.27 - (view) (annotate) - [select for diffs]
Fri Jul 7 09:32:49 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.26: +2 -3 lines
Diff to previous 1.26
Flush unnecessary function proclaim's some of which had incorrect
return values, and replace them with function argument declarations
which the compiler move carefully checks.

Revision 1.23.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:11 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
Changes since 1.23.2.1: +17 -3 lines
Diff to previous 1.23.2.1 , to branch point 1.23
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Nov 11 16:34:40 1999 UTC (14 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.25: +17 -3 lines
Diff to previous 1.25
Add bignum-logbitp, and update logbitp to use logbitp or
bignum-logbitp as needed.

Revision 1.23.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:21:33 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.23: +20 -2 lines
Diff to previous 1.23
This (huge) revision brings the RELENG_18 branch up to the current HEAD.
Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.

Revision 1.25 - (view) (annotate) - [select for diffs]
Sat Mar 21 08:11:49 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.24: +19 -1 lines
Diff to previous 1.24
Long-float support.

Revision 1.24 - (view) (annotate) - [select for diffs]
Sun Mar 1 21:45:56 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23
Fix doc. typos "the the" -> "the".

Revision 1.23 - (view) (annotate) - [select for diffs]
Fri Feb 21 01:42:13 1997 UTC (17 years, 1 month ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.22: +4 -4 lines
Diff to previous 1.22
Fix multiplication bug. Multiply-bignum-and-fixnum was using the
following to convert a fixnum to an (unsigned-byte 32) representation:
(%fixnum-to-digit (if pos val (- val)))
This broken when val was (- #x20000000) as #x20000000 is not a fixnum as
expected by %fixnum-to-digit.
Similar problem in multiply-fixnums.
It may be best to just leave it up to the compiler to move the positive
fixnum to an unsinged register here.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:30:50 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.21: +5 -4 lines
Diff to previous 1.21
Werkowskis source kit 1.03.7

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.20: +1 -3 lines
Diff to previous 1.20
Fix headed boilerplate.

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri May 7 12:13:29 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.19: +2 -32 lines
Diff to previous 1.19
Deleted float-bignum-ratio, which has been superseded by kernel::float-ratio.

Revision 1.19 - (view) (annotate) - [select for diffs]
Wed Jun 12 17:24:18 1991 UTC (22 years, 10 months ago) by chiles
Branch: MAIN
Changes since 1.18: +15 -60 lines
Diff to previous 1.18
Fixed bug in truncation code.  We needed to make sure the number buffer for the
x argument was one greater than the y buffer.  Once we fixed this, due to a
better understanding of Knuth, we were able to significantly clean up
SHIFT-BIGNUM-TRUNCATE-BUFFERS and BIGNUM-TRUNCATE.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Jun 10 13:24:20 1991 UTC (22 years, 10 months ago) by chiles
Branch: MAIN
Changes since 1.17: +16 -13 lines
Diff to previous 1.17
We fixed a bug in BIGNUM-TRUNCATE-GUESS.  Bill had originally written the code
to ignore the high digit of three in some calculation, but as it turns out, you
really do need to look at that digit in some comparison.

Revision 1.17 - (view) (annotate) - [select for diffs]
Fri May 24 19:35:06 1991 UTC (22 years, 10 months ago) by wlott
Branch: MAIN
Changes since 1.16: +16 -12 lines
Diff to previous 1.16
Added declarations, etc. to reduce number consing.

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Feb 8 13:30:56 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.15: +7 -3 lines
Diff to previous 1.15
New file header with RCS header FILE-COMMENT.

Revision 1.15 - (view) (annotate) - [select for diffs]
Mon Dec 3 19:58:42 1990 UTC (23 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.14: +32 -10 lines
Diff to previous 1.14
Added exports for the symbols we want exported.  Added vm: in front of
symbols we want from the VM package.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Nov 27 12:15:40 1990 UTC (23 years, 4 months ago) by chiles
Branch: MAIN
Changes since 1.13: +93 -52 lines
Diff to previous 1.13
Modified BIGNUM-TRUNCATE and SHIFT-AND-STORE-TRUNCATE-BUFFERS to fix a 
truncate bug involving a shift macro that could not zero shift.  Also added
comments for slimy dependencies between function introduced by use of
WITH-BIGNUM-BUFFERS.  Added some declarations to make the number/arithmetic
code better.

Revision 1.13 - (view) (annotate) - [select for diffs]
Mon Oct 15 17:08:19 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.12: +1 -0 lines
Diff to previous 1.12
Added noise to the %bignum-floor stub to keep the compiler happy.

Revision 1.12 - (view) (annotate) - [select for diffs]
Thu Oct 4 17:30:25 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.11: +17 -18 lines
Diff to previous 1.11
Fixed more bugs in multiply-bignums and try-bignum-truncate-guess.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Oct 3 23:33:35 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.10: +17 -45 lines
Diff to previous 1.10
Changed subtract-bignum-loop to make sure it writes all the result digits.

Revision 1.10 - (view) (annotate) - [select for diffs]
Wed Oct 3 17:43:48 1990 UTC (23 years, 6 months ago) by chiles
Branch: MAIN
Changes since 1.9: +24 -18 lines
Diff to previous 1.9
Tweaked some typos relative to the last change log entry.

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Oct 3 11:38:03 1990 UTC (23 years, 6 months ago) by chiles
Branch: MAIN
Changes since 1.8: +83 -85 lines
Diff to previous 1.8
William and Bill installed fixes to multiplication and the multiplication
loop in truncation (trying a guess).  We created a new primitive to
multiply two digits and add three digits to support a more tense multiply
loop.  We also used this in fixnum X bignum.  William fixed subtract by
noticing a situation where the result needs to be one larger than the old
assumption.

Revision 1.8 - (view) (annotate) - [select for diffs]
Fri Jul 20 15:37:53 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.7: +489 -192 lines
Diff to previous 1.7
Picked up 16x32 divide stuff from Bill (but it is conditionalize out).  Also
other misc changes from Bill.  

Added BIGNUM-REPLACE and made people use it.  Add WITH-BIGNUM-BUFFERS and made
people use it so that they would be reentrant.  Fixed MAKE-GCD-BIGNUM-ODD to
not assume that there is a 1 in the first digit.  Added misc declarations.
Changed shifting stuff to use the new %DIGIT-LOGICAL-SHIFT-RIGHT.
Un-commented-out GCD and multi-digit bignum truncate.


Revision 1.7.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Jul 12 13:03:17 1990 UTC (23 years, 9 months ago) by ram
Branch: new_bignum
Changes since 1.7.1.1: +58 -50 lines
Diff to previous 1.7.1.1 , to next main 1.51
*** empty log message ***

Revision 1.7.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Jul 11 17:33:25 1990 UTC (23 years, 9 months ago) by ram
Branch: new_bignum
Changes since 1.7: +54 -81 lines
Diff to previous 1.7
*** empty log message ***

Revision 1.7 - (view) (annotate) - [select for diffs]
Sat Jul 7 13:08:52 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Branch point for: new_bignum
Changes since 1.6: +0 -11 lines
Diff to previous 1.6
Ripped out exports and put them into exports.lisp.

Revision 1.6 - (view) (annotate) - [select for diffs]
Sat Jul 7 13:03:14 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.5: +119 -84 lines
Diff to previous 1.5
Added new bignum floating code.  New interfaces are BIGNUM-TO-FLOAT and
FLOAT-BIGNUM-RATIO.  Now floating is done by grabbing high bits out of the
bignum, rounding, and making them into a float with the correct exponent.  This
guarantees a correct result, and is also more efficient for large bignums.

Revision 1.5 - (view) (annotate) - [select for diffs]
Thu Jul 5 21:35:57 1990 UTC (23 years, 9 months ago) by wlott
Branch: MAIN
Changes since 1.4: +8 -8 lines
Diff to previous 1.4
Added ext: in front of truly-the.  Changed plusp to minusp in
multiply-fixnums so that it will not negate 0.

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu Jul 5 12:16:32 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.3: +18 -14 lines
Diff to previous 1.3
Merged in my version of MULTIPLY-FIXNUMS with tests for a 32bit result before
making a two-word bignum.  Also, fixed the Lisp code for digit-0-or-plusp,
which had negated sense.

Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Jul 4 21:38:56 1990 UTC (23 years, 9 months ago) by wlott
Branch: MAIN
Changes since 1.2: +46 -0 lines
Diff to previous 1.2
Added definitions for multiply-bignum-and-fixnum and multiply-fixnums.

Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Jun 6 20:59:06 1990 UTC (23 years, 10 months ago) by wlott
Branch: MAIN
Changes since 1.1: +12 -7 lines
Diff to previous 1.1
Removed comments around part of the truncate stuff.  (Anything that doesn't
need shifting.)

Revision 1.1 - (view) (annotate) - [select for diffs]
Fri May 25 20:19:52 1990 UTC (23 years, 10 months ago) by wlott
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5