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

Log of /src/code/numbers.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.70 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:45 2010 UTC (4 years 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-05, 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.69: +8 -8 lines
Diff to previous 1.69
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.69 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:04 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.68: +79 -79 lines
Diff to previous 1.68
Remove _N"" reader macro from docstrings when possible.

Revision 1.68 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:59 2010 UTC (4 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.67: +93 -92 lines
Diff to previous 1.67
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.67.12.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:50 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.67: +93 -92 lines
Diff to previous 1.67 , to next main 1.70
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.67.10.2 - (view) (annotate) - [select for diffs]
Tue Feb 9 23:42:32 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.67.10.1: +92 -92 lines
Diff to previous 1.67.10.1 , to branch point 1.67 , to next main 1.70
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

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

Revision 1.67 - (view) (annotate) - [select for diffs]
Fri Jul 10 14:22:24 2009 UTC (4 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, pre-merge-intl-branch, release-20a-base, release-20a-pre1, 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, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.66: +3 -3 lines
Diff to previous 1.66
Use the same formula here as used in the deftransform for complex
division and in the complex division vops.

Revision 1.66 - (view) (annotate) - [select for diffs]
Mon Jun 15 01:13:12 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: portable-clx-base, portable-clx-import-2009-06-16, snapshot-2009-07
Branch point for: portable-clx-branch
Changes since 1.65: +2 -2 lines
Diff to previous 1.65
code/numbers.lisp:
o Do appropriate contagion when computing a complex + real or complex
  - real.  (+ #c(1d0 -0d0)  1d0) should be #c(2d0 0d0), not #c(2d0
    -0d0).

compiler/x86/float-sse2.lisp:
o Update vops for computing complex +/- float and float + complex to
  do appropriate contagion so that the imaginary part has the correct
  sign (as above for numbers.lisp).

Revision 1.64.6.1 - (view) (annotate) - [select for diffs]
Sun Nov 2 13:30:01 2008 UTC (5 years, 5 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmt-2009-06-11, unicode-utf16-extfmts-sync-2008-12
Changes since 1.64: +3 -1 lines
Diff to previous 1.64 , to next main 1.70
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.64.4.1 - (view) (annotate) - [select for diffs]
Wed Sep 3 16:34:31 2008 UTC (5 years, 7 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-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Changes since 1.64: +3 -1 lines
Diff to previous 1.64 , to next main 1.70
Merge from snapshot-2008-09.

Revision 1.65 - (view) (annotate) - [select for diffs]
Tue Aug 12 20:38:23 2008 UTC (5 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, release-19f-base, release-19f-pre1, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base
Branch point for: RELEASE-19F-BRANCH, sse2-branch, sse2-packed-branch
Changes since 1.64: +3 -1 lines
Diff to previous 1.64
compiler/x86/arith.lisp:
o Remove definition of vm::ash-left-mod32.  (It's already in
  numbers.lisp.)

code/numbers.lisp:
o Declaim vm::ash-left-mod32 as inline to work around x86 issue where
  vm::ash-left-mod32 never gets translated to a vop.

Revision 1.64 - (view) (annotate) - [select for diffs]
Mon Jan 28 22:41:08 2008 UTC (6 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, unicode-utf16-base, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-string-support, unicode-utf16-sync-2008-07
Branch point for: release-19e-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.63: +5 -3 lines
Diff to previous 1.63
Fix issue with truncate with a double-double-float divisor.  Bug noted
by Lynn Quam on cmucl-imp, 2008-01-28.

Revision 1.63 - (view) (annotate) - [select for diffs]
Tue Aug 28 23:55:46 2007 UTC (6 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01
Changes since 1.62: +3 -1 lines
Diff to previous 1.62
Ticket #11

Add case for double-double-float.

Revision 1.62 - (view) (annotate) - [select for diffs]
Tue Jan 23 16:21:11 2007 UTC (7 years, 3 months ago) by rtoy
Branch: MAIN
CVS Tags: pre-telent-clx, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08
Changes since 1.61: +5 -90 lines
Diff to previous 1.61
Remove double-double helper functions used to get two-arg arithmetic
and two-arg comparision working.  They're no longer needed.

Revision 1.61 - (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
Branch point for: release-19d-branch
Changes since 1.60: +156 -12 lines
Diff to previous 1.60
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.60.8.1.2.1.2.2 - (view) (annotate) - [select for diffs]
Thu Jun 22 20:39:46 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-array-branch
CVS Tags: double-double-array-checkpoint, double-double-irrat-end, double-double-irrat-start
Changes since 1.60.8.1.2.1.2.1: +11 -4 lines
Diff to previous 1.60.8.1.2.1.2.1 , to branch point 1.60.8.1.2.1
Tell FTRUNCATE how to truncate double-double-floats.

Revision 1.60.8.1.2.1.2.1 - (view) (annotate) - [select for diffs]
Sat Jun 17 04:00:27 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-array-branch
CVS Tags: double-double-sparc-checkpoint-1
Changes since 1.60.8.1.2.1: +27 -1 lines
Diff to previous 1.60.8.1.2.1
o Remove the dd-contagion and dd-op hacks, because we have enough in
  place now.
o Tell COMPLEX, REALPART, and IMAGPART about complex double-double
  numbers.

Revision 1.60.8.1.2.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
CVS Tags: double-double-array-base, double-double-reader-checkpoint-1
Branch point for: double-double-array-branch
Changes since 1.60.8.1: +13 -6 lines
Diff to previous 1.60.8.1
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.60.8.1 - (view) (annotate) - [select for diffs]
Fri Jun 9 16:04:57 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-branch
CVS Tags: 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
Branch point for: double-double-reader-branch
Changes since 1.60: +108 -4 lines
Diff to previous 1.60 , to next main 1.70
Add basic support for kernel:double-double-float type.  The primitive
type is there, and basic arithmetic operations work as well as PRINT.
But many things do not work: No reader, formatted output, many mixed
type arithmetic operations, special functions are just double-float
values, coerced to double-double-float.

compiler/generic/interr.lisp:
o Add new error

compiler/generic/new-genesis.lisp:
o Dump double-double-float objects (barely tested)

compiler/generic/primtype.lisp:
o Tell compiler about the new primitive type double-double-float.

compiler/generic/vm-fndb.lisp:
o Make double-double-float-p a known function.

compiler/generic/vm-type.lisp:
o Update FLOAT-FORMAT-NAME to include double-double-float

compiler/generic/vm-typetran.lisp:
o Tell compiler about double-double-float type predicate.

compiler/sparc/float.lisp:
o Add necessary vops to move double-double-float args, store and load
  double-double-floats to/from the double-double-stack,
  double-double-reg moves, box and unbox double-double-floats, move
  double-double-floats to and from args
o Add necessary vops to create a double-double-float and to extract
  the high and low parts out of a double-double-float.

compiler/sparc/parms.lisp:
o Define double-double-float-digits

compiler/sparc/type-vops.lisp:
o Define double-double-float type vop
o Adjust number hierarchy to include double-double-float

compiler/sparc/vm.lisp:
o Define the necessary storage class and storage base for the
  double-double-reg and double-double-stack.

lisp/gencgc.c:
o Tell GC about double-double-float objects.

lisp/purify.c:
o Tell purify about double-double-float objects.

code/class.lisp:
o Add the new double-double-float class.

code/exports.lisp:
o Add the necessary symbols to the various packages.  (This is
  important to get right otherwise there's confusion on what symbol
  really represents double-double-float stuff.)

code/float.lisp:
o Implement some of the necessary functions to support
  double-double-float.

code/hash-new.lisp:
o Hash double-double-floats by xor'ing the hashes of each double-float
  part.  (Is that good enough?)

code/irrat.lisp:
o Implement the special functions by calling the double-float versions
  and coercing the result to a double-double-float.  This is needed to
  get type-derivation working, but the precise value isn't that
  important right now.  We'll have to implement them later.

code/kernel.lisp:
o Make make-double-double-float, double-double-hi, and
  double-double-lo known functions.

code/lispinit.lisp:
o Register the :double-double float feature.

code/load.lisp:
o Add FOP for reading double-double-float values from fasls.  (Barely
  tested, if at all.)

code/numbers.lisp:
o Implement basic arithmetic operations for double-double-floats.
  This needs quite a bit of work to clean up, but most things work.

code/pred.lisp:
o Tell the type system about double-double-float type.

code/print.lisp:
o Add very rudimentary printing for double-double-float.  Basically
  copied from code written by Richard Fateman, with permission.

code/seq.lisp:
o Tell coerce how to coerce things to a double-double-float.

code/type.lisp:
o Tell type system about the new float format double-double-float and
  how numeric contagion works with double-double-float.

code/dump.lisp:
o Tell dumper how to dump double-double-float values to a fasl.

compiler/float-tran.lisp:
o Add appropriate deftransforms to handle conversion of things to
  double-double-float and from from double-double-float to other float
  types.
o The basic implmentation of double-double-float arithmetic is also
  here.
o Add deftransforms to tell the compiler how to do basic arithmetic
  and comparisions on double-double-float numbers.

compiler/srctran.lisp:
o Fix a bug in interval-range-info when :low is 0dd0 and :high is 0.
  We weren't returning the right value, which confuses interval-div,
  which caused an infinite loop because we couldn't split the
  numerator into positive and negative parts.
o Tell other parts about double-double-float.

Revision 1.60 - (view) (annotate) - [select for diffs]
Wed Sep 8 16:09:28 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: double-double-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-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, ppc_gencgc_branch, release-19b-branch, release-19c-branch
Changes since 1.59: +3 -1 lines
Diff to previous 1.59
Make UPGRADED-COMPLEX-PART-TYPE return RATIONAL for rational parts.
(Should we have it do something else for (EQL 0)?)

Revision 1.59 - (view) (annotate) - [select for diffs]
Mon Aug 23 16:15:24 2004 UTC (9 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-09
Changes since 1.58: +8 -1 lines
Diff to previous 1.58
Need actual function for vm::ash-mod32 support for modular ash with
positive and negative shifts.

Revision 1.58 - (view) (annotate) - [select for diffs]
Sat Apr 10 04:51:03 2004 UTC (10 years ago) by rtoy
Branch: MAIN
CVS Tags: amd64-merge-start, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08
Branch point for: release-19a-branch
Changes since 1.57: +2 -40 lines
Diff to previous 1.57
o Remove unused modular-arith code
o Fix typo.

Revision 1.57 - (view) (annotate) - [select for diffs]
Wed Apr 7 02:47:53 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.56: +125 -3 lines
Diff to previous 1.56
Merge in the mod-arith-branch with support for x86 and sparc.

Revision 1.56.2.2 - (view) (annotate) - [select for diffs]
Sun Apr 4 14:39:46 2004 UTC (10 years ago) by rtoy
Branch: mod-arith-branch
Changes since 1.56.2.1: +2 -1 lines
Diff to previous 1.56.2.1 , to branch point 1.56 , to next main 1.70
Add comment.

Revision 1.56.2.1 - (view) (annotate) - [select for diffs]
Sat Apr 3 17:51:54 2004 UTC (10 years ago) by rtoy
Branch: mod-arith-branch
Changes since 1.56: +124 -3 lines
Diff to previous 1.56
Add support for modular arithmetic:

o Turn off definitions of lognand, lognor, logandc1, logandc2,
  logorc1, and logorc2 since the modular arithmetic functions will
  handle these.  And add two-arg-* versions.

o Add code to define the modular functions.



Based on code from SBCL.

Revision 1.56 - (view) (annotate) - [select for diffs]
Fri Jan 9 04:18:06 2004 UTC (10 years, 3 months ago) by toy
Branch: MAIN
CVS Tags: mod-arith-base, snapshot-2004-04
Branch point for: mod-arith-branch
Changes since 1.55: +8 -2 lines
Diff to previous 1.55
Revert back to the old LCM algorithm instead of using the reference given
in CLHS.  That was twice as slow as the old algorithm.

Revision 1.55 - (view) (annotate) - [select for diffs]
Tue Sep 9 12:33:39 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: snapshot-2003-10, snapshot-2003-11, snapshot-2003-12
Changes since 1.54: +9 -5 lines
Diff to previous 1.54
	* src/code/numbers.lisp (logior, logxor, logand, logeqv):
	Add (the integer ...).  Found by Paul Dietz.

Revision 1.54 - (view) (annotate) - [select for diffs]
Fri Sep 5 11:25:28 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
Changes since 1.53: +4 -2 lines
Diff to previous 1.53
	* src/code/numbers.lisp (two-arg-+/-): Fix last change.  12.1.5.2
	says 0 is supplied as imagpart.

Revision 1.53 - (view) (annotate) - [select for diffs]
Fri Sep 5 11:04:59 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52
	* src/code/numbers.lisp (two-arg-+/-) <float/complex>:
	Avoid applying unary +/- to 0.0 which might give a signed zero.

Revision 1.52 - (view) (annotate) - [select for diffs]
Fri Sep 5 10:49:15 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
Changes since 1.51: +4 -2 lines
Diff to previous 1.51
	* src/code/numbers.lisp (two-arg-lcm): If one arg is zero, value
	is zero.  Otherwise, use the simple two-arg algorithm from CLtS.

Revision 1.51 - (view) (annotate) - [select for diffs]
Fri Sep 5 10:03:21 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
Changes since 1.50: +3 -3 lines
Diff to previous 1.50
	* src/code/numbers.lisp (two-arg-gcd): If one parameter
	is zero, value is abs of the other parameter.

Revision 1.47.2.1 - (view) (annotate) - [select for diffs]
Mon Aug 25 17:06:47 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.47: +17 -15 lines
Diff to previous 1.47 , to next main 1.70
Merge with HEAD.

Revision 1.50 - (view) (annotate) - [select for diffs]
Sat Aug 23 10:32:20 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: lisp-executable-base
Branch point for: lisp-executable
Changes since 1.49: +2 -2 lines
Diff to previous 1.49
	* src/code/numbers.lisp (round): If remainder is zero,
	return the results of truncate directly.

Revision 1.49 - (view) (annotate) - [select for diffs]
Fri Aug 22 09:20:02 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: sparc_gencgc_merge
Changes since 1.48: +16 -14 lines
Diff to previous 1.48
	* src/code/numbers.lisp (round): Handle the case truncate
	returning a zero remainder specially.

Revision 1.48 - (view) (annotate) - [select for diffs]
Tue Aug 19 12:23:36 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47
	* src/code/numbers.lisp (truncate): Use bignum-truncate
	for the fixnum/bignum case.

Revision 1.47 - (view) (annotate) - [select for diffs]
Thu Aug 7 10:31:42 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc
Branch point for: dynamic-extent, sparc_gencgc_branch
Changes since 1.46: +26 -11 lines
Diff to previous 1.46
	Some tests from Paul Dietz' test suite, like (MAX (FIND-PACKAGE
	:CL)), failing when interpreted.

	* src/code/numbers.lisp (=, /=, <, <=, >, >=, max, min): Add
	safety and dynamic-extent declarations.

Revision 1.46.2.1 - (view) (annotate) - [select for diffs]
Sun Mar 9 13:03:48 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.46: +9 -8 lines
Diff to previous 1.46 , to next main 1.70
*** empty log message ***

Revision 1.46 - (view) (annotate) - [select for diffs]
Wed Jan 29 02:16:30 2003 UTC (11 years, 2 months ago) by toy
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: cold-pcl, release-18e-branch
Changes since 1.45: +3 -2 lines
Diff to previous 1.45
From Gerd Moellmann:


o Entomotomy bug optional-environment-arg-mistakes:

  Recognize the optional environment argument for typep, subtypep,
  upgraded-array-element-type, upgraded-complex-part-type, and various
  other functions that take an optional environment arg.  Currently,
  all we do with the environment is ignore it.

o Entomotomy bug defknowns-for-bit-array-setters-wrong

  Defknowns for %bitset and %sbitset was only allowing vectors, not
  multidimensional arrays.

Revision 1.45 - (view) (annotate) - [select for diffs]
Mon Oct 7 17:44:12 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44
From Gerd Moelmann, with minor additions for sparc:

o max/min should check that a real number is given, even for the
  single-arg case instead of just returning the arg.

Revision 1.44.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:29 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.44: +6 -1 lines
Diff to previous 1.44 , to next main 1.70
Checked in Brian Spilsbury's experimental Unicode, locales, and dialect
support patchset.  This lives on its own branch, so that people can
play with it and tweak it, without disturbing 18e release engineering
on the main branch.  Bootstrapping has only been tried on LINKAGE_TABLE
x86/Linux builds.  A working cross-compile script is checked in under
bootfiles/19a/boot1-cross-unicode.lisp.  The script still leaves you
with some interactive errors, on the cross compile, which you should
answer with 2.  See the mailing list for more information.

Revision 1.44 - (view) (annotate) - [select for diffs]
Mon Aug 12 21:12:46 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.43: +19 -4 lines
Diff to previous 1.43
UPGRADED-COMPLEX-PART-TYPE:

o CMUCL doesn't have a specialized complex type to hold rationals, so
  don't return 'RATIONAL.
o Return 'REAL instead of T for any type real type.
o Give an error if it's something that can't be a component of a
  complex number.

Revision 1.43 - (view) (annotate) - [select for diffs]
Wed Jul 10 16:15:59 2002 UTC (11 years, 9 months ago) by toy
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42
From Eric Marsden:

 * (pcl:class-precedence-list (find-class 'null)) should have symbol
   occurring before list, as per CLHS.

 * minor changes to certain error conditions: eg trying to set
   DEFAULT-DIRECTORY to a non-existent directory should raise a
   condition of type FILE-ERROR. (Some of these changes are from
   Alexey Dejneka, via SBCL).

 * cleanup of some Hemlock-related symbols that shouldn't be exported
   when :no-hemlock is defined.

Revision 1.42 - (view) (annotate) - [select for diffs]
Wed Jun 19 15:08:55 2002 UTC (11 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.41: +12 -7 lines
Diff to previous 1.41
A ratio divided by zero was returning 1/0 instead of signaling an
error.  Catch this in BUILD-RATIO and signal a divide-by-zero error.

Based on the bug report and patch by Wolfhard Buss.

Revision 1.28.2.3 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:50:06 2002 UTC (12 years, 1 month ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.28.2.2: +67 -20 lines
Diff to previous 1.28.2.2 , to branch point 1.28 , to next main 1.70
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.41 - (view) (annotate) - [select for diffs]
Thu Mar 14 21:29:42 2002 UTC (12 years, 1 month ago) by toy
Branch: MAIN
Changes since 1.40: +4 -18 lines
Diff to previous 1.40
Reinstate the original definition of fround (calling round) because we
currently really need an integer result to round properly.  (oddp
doesn't work on a float.)

Revision 1.40 - (view) (annotate) - [select for diffs]
Mon Feb 25 16:23:10 2002 UTC (12 years, 1 month ago) by toy
Branch: MAIN
Changes since 1.39: +71 -15 lines
Diff to previous 1.39
Make FTRUNCATE faster and less consy by manipulating the bits directly
instead of calling the generic TRUNCATE.  Make FFLOOR, FCEILING, and
FROUND use FTRUNCATE so they benefit too.

Revision 1.39 - (view) (annotate) - [select for diffs]
Fri Sep 28 14:56:28 2001 UTC (12 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.38: +5 -4 lines
Diff to previous 1.38
Put back the special case of comparing against zero.  This is very
common situation where we don't have to call rational to get the
correct result.  (About 15 times worse on the frpoly/float benchmark
if we don't do this.)

Revision 1.38 - (view) (annotate) - [select for diffs]
Mon Apr 16 16:11:17 2001 UTC (13 years ago) by toy
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37
Correct typo:  should coerce 0 to the same type as the float!

Revision 1.37 - (view) (annotate) - [select for diffs]
Tue Apr 10 22:35:09 2001 UTC (13 years ago) by pw
Branch: MAIN
Changes since 1.36: +7 -3 lines
Diff to previous 1.36
From Ray Toy:

src/numbers.lisp:
Handle comparisons with floating infinities correctly.

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

Revision 1.28.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:40 2000 UTC (13 years, 11 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.28.2.1: +8 -38 lines
Diff to previous 1.28.2.1 , to branch point 1.28
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

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

Revision 1.34 - (view) (annotate) - [select for diffs]
Fri Jul 24 17:17:54 1998 UTC (15 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.33: +3 -36 lines
Diff to previous 1.33
The complex-float the signed-array features are now standard, so
remove unnecessary conditionals.

Revision 1.28.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:22:15 1998 UTC (15 years, 10 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.28: +134 -13 lines
Diff to previous 1.28
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.33 - (view) (annotate) - [select for diffs]
Sat Mar 21 08:12:01 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.32: +63 -18 lines
Diff to previous 1.32
Long-float support.

Revision 1.32 - (view) (annotate) - [select for diffs]
Thu Dec 4 03:58:31 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.31: +15 -2 lines
Diff to previous 1.31
Update upgraded-complex-part-type for complex-float support.

Revision 1.31 - (view) (annotate) - [select for diffs]
Sun Nov 16 13:59:56 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.30: +32 -2 lines
Diff to previous 1.30
No longer source transform realpart and imagpart with the
complex-float support.
The realpart and imagpart functions now need to do some type dispatch.
The VOPs are now direct translations of realpart and imagpart;
remove the hack accessor functions.

Revision 1.30 - (view) (annotate) - [select for diffs]
Wed Nov 5 14:59:45 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.29: +10 -6 lines
Diff to previous 1.29
Replace the allocation macros with a function, and pass the VOP
node-var as an optional argument so the allocation function can make
policy decisions (to inline with GENCGC).

Remove the make-complex-{single,double}-float functions, and just
define the VOPs as translations of the complex function.

Fix a few bugs in the complex-float move VOPs.

Revision 1.29 - (view) (annotate) - [select for diffs]
Sat Nov 1 22:58:17 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.28: +32 -3 lines
Diff to previous 1.28
Improved support for (complex single-float) and (complex double-float)
types. Adds storage classes to the backend for these so they can be
stored in registers or on the stack without consing; new primitive
types etc. Also adds (simple-array (complex {single,double}-float))
array types to avoid consing and speed vectors operations.  All
these changes are conditional on the :complex-float feature. More work
is needed to exploit these changes: improving the type dispatch in the
various function; maybe compiler transforms or more VOPs to handle
common functions inline.

Revision 1.28 - (view) (annotate) - [select for diffs]
Thu May 15 17:13:36 1997 UTC (16 years, 11 months ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.27: +5 -4 lines
Diff to previous 1.27
Fix for truncate fixnum ratio; from Raymond Toy.

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

Revision 1.26 - (view) (annotate) - [select for diffs]
Fri Feb 17 18:04:08 1995 UTC (19 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.25: +3 -3 lines
Diff to previous 1.25
Fix compilex rational subtract.

Revision 1.25 - (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.24: +2 -4 lines
Diff to previous 1.24
Fix headed boilerplate.

Revision 1.24 - (view) (annotate) - [select for diffs]
Wed Feb 9 16:49:40 1994 UTC (20 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.23: +24 -18 lines
Diff to previous 1.23
Fixed two-arg-gcd to correctly handle most-negative-fixnum.  Was choaking
because someone declared (- most-negative-fixnum) to be a fixnum.

Revision 1.23 - (view) (annotate) - [select for diffs]
Thu Jun 24 12:56:22 1993 UTC (20 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22
format-string -> format-control

Revision 1.22 - (view) (annotate) - [select for diffs]
Thu Jun 17 22:14:56 1993 UTC (20 years, 10 months ago) by wlott
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21
Changed two-arg-= to use = instead of using eql.

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon Mar 1 16:11:25 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.20: +28 -2 lines
Diff to previous 1.20
Replaced ISQRT with a much faster version off the net.

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri Feb 7 11:33:23 1992 UTC (22 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.19: +10 -3 lines
Diff to previous 1.19
Added UPGRADED-COMPLEX-PART-TYPE.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Nov 14 09:32:11 1991 UTC (22 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.18: +4 -2 lines
Diff to previous 1.18
The single-float/double-float case had been left out of truncate.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Feb 25 18:54:17 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.17: +10 -8 lines
Diff to previous 1.17
Added RETURN-FROM around the calls to ERROR in the NUMBER-DISPATCH expansion so
that the compiler will know that the tagbody never drops through.

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

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Dec 12 18:14:58 1990 UTC (23 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.15: +6 -3 lines
Diff to previous 1.15
Made CEILING and FLOOR be maybe-inline instead of inline so that by 
default, the power-of-2 transforms will get a chance to run.

Revision 1.15 - (view) (annotate) - [select for diffs]
Tue Dec 11 23:59:54 1990 UTC (23 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.14: +20 -19 lines
Diff to previous 1.14
Changed ROUND to call %UNARY-ROUND when the second arg is 1.

Revision 1.14 - (view) (annotate) - [select for diffs]
Wed Oct 3 09:58:11 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.13: +13 -1 lines
Diff to previous 1.13
Added interpreter stubs for numerator and denominator.

Revision 1.13 - (view) (annotate) - [select for diffs]
Mon Oct 1 15:02:58 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.12: +1 -286 lines
Diff to previous 1.12
Moved float operations to float.lisp.

Revision 1.12 - (view) (annotate) - [select for diffs]
Tue Sep 18 20:29:09 1990 UTC (23 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11
Fixed problem in rational X float truncate.

Revision 1.11 - (view) (annotate) - [select for diffs]
Tue Aug 14 16:00:20 1990 UTC (23 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.10: +13 -13 lines
Diff to previous 1.10
Fixed complex <,> to error on complexes.  Fixed complex/real = to
compare correctly.

Revision 1.10 - (view) (annotate) - [select for diffs]
Sat Jul 21 15:32:33 1990 UTC (23 years, 9 months ago) by wlott
Branch: MAIN
Changes since 1.9: +1 -38 lines
Diff to previous 1.9
Moved phase, cis, and abs into irrat.

Revision 1.9 - (view) (annotate) - [select for diffs]
Tue Jul 10 13:17:58 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.8: +2 -4 lines
Diff to previous 1.8
Fixed ASH to return 0 rather than -1 when there is a large negative shift, but
the number is positive.

Revision 1.8 - (view) (annotate) - [select for diffs]
Mon Jul 9 14:13:42 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.7: +45 -33 lines
Diff to previous 1.7
Fixed decode/scale float stuff to handle zero correctly.

Revision 1.7 - (view) (annotate) - [select for diffs]
Sun Jul 8 11:48:19 1990 UTC (23 years, 9 months ago) by wlott
Branch: MAIN
Changes since 1.6: +6 -1 lines
Diff to previous 1.6
Moved float-format-digits from parms.lisp to here, because parms is only
supposed to have compile-time parameters in it.

Revision 1.6 - (view) (annotate) - [select for diffs]
Sat Jul 7 13:44:33 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.5: +9 -7 lines
Diff to previous 1.5
Changed RATIONAL to special-case 0 so that we don't spuriously create a 128 bit
bignum and then divide 0 by it.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Jul 7 13:30:50 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.4: +13 -23 lines
Diff to previous 1.4
Changed BASIC-COMPARE to optimize the case of comparing floats to 0.  Changed
FLOAT-DIGITS to use new constants.  Macroized zerop, plusp, etc.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Jul 6 21:22:32 1990 UTC (23 years, 9 months ago) by wlott
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3
typos.

Revision 1.3 - (view) (annotate) - [select for diffs]
Thu Jul 5 17:15:11 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.2: +13 -9 lines
Diff to previous 1.2
Ripped out unncessary NUMBER declaration in %NEGATE.
Installed new interface to bignum floating, including use of
FLOAT-BIGNUM-RATIO which ensures we don't cause spurious FP overflows.

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Jul 5 11:58:36 1990 UTC (23 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.1: +7 -4 lines
Diff to previous 1.1
Changed two-arg-* to call MULTIPLY-BIGNUM-AND-FIXNUM instead of using
MULTIPLY-BIGNUMS/MAKE-SMALL-BIGNUM.
Fixed fixnum GCD.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Jul 3 17:31:27 1990 UTC (23 years, 9 months ago) by ram
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