/[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)
Links to snapshot-2007-07: (view) (annotate)
Sticky Tag:

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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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