Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Change MAKE-FLOAT to multiply by the sign AFTER we've created the quad-double. This way we create signed quad-double zeroes correctly. Previously, the sign was applied to the rational which loses the sign if the rational is 0.
Add or cleanup some docstrings.
o Add default implementation of float-infinity-p, float-nan-p, float-trapping-nan-p. These return NIL by default, unless the Lisp implementation has a suitable version. o Remove CMU conditionalization for float-infinity-p, float-nan-p, float-trapping-nan-p.
o Oops. Fix up a few IN-PACKAGE's for the new package names. qd-fun.lisp: o Comment out the old sin/cos routines o Fix a few mistakes in accurate-sincos-qd o Rename accurate-sincos-qd to sincos-qd.
o Rename QUAD-DOUBLE-INTERNAL package to OCT-INTERNAL, with nickname OCTI instead of QDI. o Rename OCT package to NET.COMMON-LISP.OCT, with a nickname of OCT o Remove nickname of QD. (Conflicts with other packages dealing with quad-doubles.) o Update all uses of QDI: to OCTI: qd-fun.lisp: o Add REM-PI/2 to do a simpler computation if the arg is small enough. Otherwise, use the accurate but expensive rem operation. o Renamed ACCURATE-SIN-QD to SIN-QD, etc. o Update SIN-QD etc to use REM-PI/2.
qd-io.lisp: o Add RATIONAL-TO-QD, a simple, fast and accurate method to convert rationals to quad-doubles. (From Richard Fateman.) o Use RATIONAL-TO-QD to create a quad-float qd-methods.lisp: o Use RATIONAL-TO-QD to create a quad-float from a bignum and ratio. qd-package.lisp: o Export RATIONAL-TO-QD
A new version of MAKE-FLOAT that converts the number to rational before converting to a quad-double. This reduces round-off errors. This still needs work, I think.
Use more bits (265 instead of 212) when converting a rational to a quad-double. This fixes the issue that converting 10^100 to a quad-double isn't as accurate as it could be.
qd-fun.lisp: o Remove unused var R1 in EXP-QD/REDUCE. o TAN-QD was calling ZEROP instead of ZEROP-QD. o Comment out extra copy of ASINH-QD. qd-io.lisp: o Ignore unused var in QD-PRINT-EXPONENT and QD-READER. qd.lisp: o Remove extra version of DIV-QD.
Use uninterned symbols for IN-PACKAGE.
Add license information (MIT).
qd-io.lisp: o Get rid of the #q reader that returns an internal %qd-real. qd-methods.lisp: o QPHASE was returning the wrong kind of object for positive values. o Replace use of #q0 with the construction of a qd-real 0. qd-const.lisp: o Replace all uses of #q with #.(qd-from-string ...).
Support for printing out quad-double NaN.
Support for infinities for CMUCL. Other platforms don't currently support infinities. qd-class.lisp: o Print out infinities. qd-io.lisp: o QD-FORMAT handles infinities qd-methods.lisp: o Add constants for positive and negative quad-double infinities. qd-package.lisp: o Export +PI+ o Export infinities.
Move the MAKE-FLOAT function from READ-QD to toplevel.
o QD-OUTPUT-AUX prints signed zeroes now. o Modify READ-QD to apply the sign at the very end. That way negative zero is read as negative zero.
Add QD-TO-STRING function.
Print qd-real zero as 0.0q0 instead of 0.0q-372.
Fix bug in reader introduced when removing double-double float stuff. Was not correctly handling the case where the number of bits was < 106.
o Remove any vestiges of double-double-float usage and replace with plain double-float. o Add qd-from-string function.
Should be in the QDI package, not QD.
o Remove some cmucl-specific hacks and add our own +double-float-min-e+ and +digits+. o Prefix the arithmetic operators with the CL package.
Move the quad-double IO functions to a new file. qd-io.lisp: o New file qd.lisp: o Moved IO functions from here to qd-io.lisp. qd.system: o Added qd-io.lisp to defsystem.
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.
|Powered by ViewVC 1.1.5|