/[cmucl]/src/code/irrat-dd.lisp
ViewVC logotype

Log of /src/code/irrat-dd.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.20 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:44 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-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.19: +2 -2 lines
Diff to previous 1.19 , to selected 1.17.6.1
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.19 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:59 2010 UTC (4 years ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.18: +26 -24 lines
Diff to previous 1.18 , to selected 1.17.6.1
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.18.14.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.18: +26 -24 lines
Diff to previous 1.18 , to next main 1.20 , to selected 1.17.6.1
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.18.12.2 - (view) (annotate) - [select for diffs]
Tue Feb 9 20:23:02 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.18.12.1: +24 -24 lines
Diff to previous 1.18.12.1 , to branch point 1.18 , to next main 1.20 , to selected 1.17.6.1
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

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

Revision 1.17.6.1 - (view) (annotate) - [selected]
Wed Mar 25 21:51:34 2009 UTC (5 years 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
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 , to next main 1.20
Merge from unicode-utf16 branch, label
unicode-utf16-char-support-2009-03-25 to get character support.

Revision 1.17.4.1 - (view) (annotate) - [select for diffs]
Wed Mar 25 15:49:51 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 , to next main 1.20 , to selected 1.17.6.1
Merge from HEAD, tag label-2009-03-25.

Still left Config.FreeBSD_gencgc (obsolete), Config.x86_freebsd,
FreeBSD-os.c and FreeBSD-os.h for Alex to merge.

Revision 1.18 - (view) (annotate) - [select for diffs]
Wed Mar 18 01:24:52 2009 UTC (5 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, label-2009-03-25, 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-04, snapshot-2009-05, 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.17: +2 -1 lines
Diff to previous 1.17 , to selected 1.17.6.1
code/irrat-dd.lisp:
o Declare POLY-EVAL and POLY-EVAL-1 as maybe-inline functions so they
  can be semi-inlined.

code/irrat.lisp:
o I don't think there's any real reason to make the local function
  REAL-EXPT inline.  It's very big and local function call is already
  good enough.

compiler/float-tran.lisp:
o Change some functions to be maybe-inline instead of inline to save
  on space for the the larger double-double functions:  SUB-DD,
  SUB-D-DD, SUB-DD-D, SPLIT.  Semi-inline should be good enough for
  these large functions, saving on cache memory, local function
  calling sequence should be good enough.

Revision 1.17 - (view) (annotate) - [select for diffs]
Thu Aug 2 18:18:18 2007 UTC (6 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, merge-sse2-packed, merge-with-19f, pre-telent-clx, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, snapshot-2007-09, snapshot-2007-10, 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, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, 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, unicode-utf16-base, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.16: +55 -28 lines
Diff to previous 1.16 , to selected 1.17.6.1
Add (INHIBIT-WARNINGS 3) to various bits of double-double float code.
I checked the notes and they all have to do with either boxing or
generic operations (usually from FLOOR).

This greatly reduces the amount of noise in the compilation logs.

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Jun 27 16:38:54 2007 UTC (6 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-07, snapshot-2007-08
Changes since 1.15: +27 -23 lines
Diff to previous 1.15 , to selected 1.17.6.1
o Inhibit warnings for POLY-EVAL and POLY-EVAL-1.
o Add some declarations in various places to get rid of some warnings.
o Rearrange DD-%ASIN to get rid of some warnings.
o Declare the type of DD-%SIN, DD-%COS, and DD-%TAN because cmucl
  doesn't compute the correct return type.

Revision 1.15 - (view) (annotate) - [select for diffs]
Thu Jun 21 15:50:50 2007 UTC (6 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 , to selected 1.17.6.1
Oops.  Remove extra paren.

Revision 1.14 - (view) (annotate) - [select for diffs]
Mon Jun 11 19:01:23 2007 UTC (6 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.13: +3 -12 lines
Diff to previous 1.13 , to selected 1.17.6.1
compiler/float-tran.lisp:
o Handle signed-zeroes for addition, subtraction, and multiplication
  of double-double floats.  That is, return the correct signed zero
  for the result.
o Try to handle overflow in addition, multiplication, and division by
  returning infinity, if the overflow or divide-by-zero trap is
  disabled.  This is done by looking to see what the corresponding
  double-float operation would return.  This probably needs more work.

code/irrat-dd.lisp:
o Remove the careful-mul stuff from dd-complex-atanh since we handle
  signed zeroes better now during double-double multiplication.

Revision 1.13 - (view) (annotate) - [select for diffs]
Tue May 29 16:28:36 2007 UTC (6 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-06
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 , to selected 1.17.6.1
Make DD-%SIN and DD-%TAN return -0w0 when the argument is -0w0.

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri May 25 20:35:15 2007 UTC (6 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.11: +4 -43 lines
Diff to previous 1.11 , to selected 1.17.6.1
Revert the previous change to DD-COMPLEX-ATANH.  If z < -1, just call
DD-COMPLEX-ATANH with -0w0 to get the correct value.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri May 25 17:11:30 2007 UTC (6 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.10: +8 -32 lines
Diff to previous 1.10 , to selected 1.17.6.1
o Remove some unused constants
o Fix a typo in a docstring.
o Fix DD-COMPLEX-ASIN again:
  - The previous fix for asin(-2) being wrong actually broke the case
    for asin(2).  Revert that.
  - The issue was that in our explicitly handling of the atan(y/0)
    case we didn't take into account the sign y and 0.  Fix that.

Revision 1.10 - (view) (annotate) - [select for diffs]
Thu May 24 19:13:17 2007 UTC (6 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.9: +64 -26 lines
Diff to previous 1.9 , to selected 1.17.6.1
o Make DD-%ATAN2 handle signed zeroes.  This is needed to get branch
  cuts right for some special functions.
o DD-COMPLEX-ATANH needs to be careful about producing signed zeroes
  in the right spots.  Add a CAREFUL-MUL to make sure a zero of the
  correct sign is produced when needed.  (What other places need such
  care?)

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed May 23 16:48:50 2007 UTC (6 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.8: +96 -56 lines
Diff to previous 1.8 , to selected 1.17.6.1
DD-COMPLEX-ATANH was returning the wrong value for real z and z > 1.
It was saying atanh(-2) = .549 - i*pi/2.  The correct answer is
.549 + i*pi/2.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed May 23 13:16:33 2007 UTC (6 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.7: +38 -21 lines
Diff to previous 1.7 , to selected 1.17.6.1
DD-COMPLEX-ASIN was returning the wrong value for real z and z < -1.
It was saying asin(-2) = pi/2+i*1.317.  The correct answer is
-pi/2+i*1.317.

Revision 1.7 - (view) (annotate) - [select for diffs]
Wed Mar 21 18:08:25 2007 UTC (7 years ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-04, snapshot-2007-05
Changes since 1.6: +10 -42 lines
Diff to previous 1.6 , to selected 1.17.6.1
dd-%expm1 was computing the wrong values.  Fix it so that it works.
Only a few spot checks were done, but it seems to be working fine.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Jul 19 15:29:00 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, 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.5: +38 -29 lines
Diff to previous 1.5 , to selected 1.17.6.1
Oops.  The argument reduction routine doesn't like negative numbers,
so make dd-%sin, dd-%cos, dd-%tan handle that.

Revision 1.5 - (view) (annotate) - [select for diffs]
Wed Jul 19 15:02:00 2006 UTC (7 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.4: +116 -7 lines
Diff to previous 1.4 , to selected 1.17.6.1
Implement accurate arg reduction for the trig functions sin, cos, tan,
using __kernel_rem_pio2.  Use the accurate reduction in dd-%sin,
dd-%cos, dd-%tan.  The original version were renamed dd-%%sin,
dd-%%cos, dd-%%tan because we still need them to evaluate the
functions for small args.

This also has the side effect that we don't signal overflow for
moderately large args (~1w50) anymore.

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu Jul 13 19:54:47 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 , to selected 1.17.6.1
Oops.  Use 0d0 instead of 0w0 when creating a double-double-float in
dd-cssqs.

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Jul 7 18:26:43 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.2: +29 -24 lines
Diff to previous 1.2 , to selected 1.17.6.1
compiler/float-tran.lisp:
o Change the following functions to be maybe-inline instead of inline
  so we don't inline them by default unless the user says so by
  specifying (SPACE 0): ADD-DD, MUL-DD-D, MUL-DD, ADD-DD-D, SQR-DD,
  DIV-DD, DIV-DD-D, SQRT-DD

code/irrat-dd.lisp:
o Set (SPACE 0) for these functions so we inline the operations.
  (Should we really inline all of these?)

Revision 1.2 - (view) (annotate) - [select for diffs]
Fri Jun 30 18:41:22 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2006-07
Changes since 1.1: +1836 -0 lines
Diff to previous 1.1 , to selected 1.17.6.1
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.1.2.5 - (view) (annotate) - [select for diffs]
Thu Jun 29 20:49:12 2006 UTC (7 years, 9 months ago) by rtoy
Branch: double-double-array-branch
CVS Tags: double-double-irrat-end
Changes since 1.1.2.4: +16 -7 lines
Diff to previous 1.1.2.4 , to branch point 1.1 , to next main 1.20 , to selected 1.17.6.1
Add a few type declarations to get rid of some warnings and notes.
Fix one typo too.

Revision 1.1.2.4 - (view) (annotate) - [select for diffs]
Thu Jun 29 14:50:27 2006 UTC (7 years, 9 months ago) by rtoy
Branch: double-double-array-branch
Changes since 1.1.2.3: +6 -6 lines
Diff to previous 1.1.2.3 , to branch point 1.1 , to selected 1.17.6.1
code/irrat-dd.lisp:
o Fix a warning
o Implement x^y for real x < 0 and non-integer y, which returns a
  complex number.

code/irrat.lisp:
o Tell EXPT how to handle double-double-float.
o Tell Log how to handle double-double-float when two args are given.

Revision 1.1.2.3 - (view) (annotate) - [select for diffs]
Thu Jun 29 01:55:46 2006 UTC (7 years, 9 months ago) by rtoy
Branch: double-double-array-branch
Changes since 1.1.2.2: +51 -20 lines
Diff to previous 1.1.2.2 , to branch point 1.1 , to selected 1.17.6.1
Explicitly handle some cases where we divide by zero expecting a
signed infinity.  Double-double doesn't do that very well.

Revision 1.1.2.2 - (view) (annotate) - [select for diffs]
Thu Jun 29 01:30:36 2006 UTC (7 years, 9 months ago) by rtoy
Branch: double-double-array-branch
Changes since 1.1.2.1: +1 -4 lines
Diff to previous 1.1.2.1 , to branch point 1.1 , to selected 1.17.6.1
Oops.  Remove debugging prints.

Revision 1.1.2.1 - (view) (annotate) - [select for diffs]
Thu Jun 29 01:28:02 2006 UTC (7 years, 9 months ago) by rtoy
Branch: double-double-array-branch
Changes since 1.1: +1799 -0 lines
Diff to previous 1.1 , to selected 1.17.6.1
Add implementation of special functions for double-double-float.  More
testing required, but basic functionality works.

code/irrat-dd.lisp:
o New file which implements all the required special functions for
  double-double.  Modify existing COMPLEX-<foo> functions to handle
  double-double numbers.

code/irrat.lisp:
o Update HANDLE-REALS to handle double-double float case.
o Update EXPT for double-double float.  (But negative number to
  non-integer power not working yet.)
o LOG handles double-double, but not 2-arg log yet.
o SQRT handles double-double, including complex result.
o ASIN handles double-double.
o ACOS handles double-double.
o ATAN handles double-double.
o ACOSH handles double-double.
o ATANH handles double-double.
o Adjust declaration for SQUARE, SCALB, LOGB-FINITE, and LOGB to allow
  any float type.
o COMPLEX-SQRT handles double-doubles.
o COMPLEX-LOG handles double-doubles.
o COMPLEX-ATANH handles double-doubles.
o COMPLEX-TANH handles double-doubles.
o COMPLEX-ACOS handles double-doubles.
o COMPLEX-ASIN handles double-doubles.
o COMPLEX-ASINH handles double-doubles.
o COMPLEX-ATAN handles double-doubles.
o COMPLEX-TAN handles double-doubles.

tools/worldbuild.lisp:
o Load irrat-dd.

tools/worldcom.lisp:
o Compile irrat-dd.

Revision 1.1
Thu Jun 29 01:28:02 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
Branch point for: double-double-array-branch
FILE REMOVED
file irrat-dd.lisp was initially added on branch double-double-array-branch.

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