- 04 Oct, 2014 1 commit
-
-
Raymond Toy authored
* bootfiles/20e/boot-20f.lisp * Bootstrap the version change * compiler/byte-comp.lisp * Update the fasl version to 20f. Use boot-20f as the bootstrap file when compiling from the 2014-09 snapshot.
-
- 02 Oct, 2014 2 commits
-
-
Raymond Toy authored
* Remove [In progress] * Rephrase some items. * Fix typos.
-
Raymond Toy authored
Previously (18a at least), %ENUMERATE-DIRECTORIES would return a path even if a directory element did not exist. This behavior is restored. See email from cmucl-help, Sep 26, 2014. * src/code/filesys.lisp: * Fix regression.in %ENUMERATE-DIRECTORIES. Even if the directory does not exist, we continue recursing instead of stopping. * src/general-info/release-20f.txt: * Update * tests/filesys.lisp: * New file adding tests for UNIX-NAMESTRING.
-
- 27 Sep, 2014 1 commit
-
-
Raymond Toy authored
This is a long standing bug where INTEGER-DECODE-FLOAT returned incorrect values for denormal double-float numbers. The lower 32 bits of the double were not shifted enough when creating the integer result. As a side-effect, DECODE-FLOAT decodes denormal double-float's correctly and SCALE-FLOAT scales denormals correctly too. * src/code/float.lisp: * Shift the lower 32-bit of the fraction one more time to adjust for the fact that the upper 20 bits were shifted an extra time. * tests/float.lisp: * Add several tests for INTEGER-DECODE-FLOAT, SCALE-FLOAT, and DECODE-FLOAT. * src/general-info/release-20f.txt: * Add this bug fix to the notes. Conflicts: tests/float.lisp
-
- 26 Sep, 2014 2 commits
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- 25 Sep, 2014 3 commits
-
-
Raymond Toy authored
The minimum exponent is from 0, it's from least-positive float. * src/compiler/float-tran.lisp: * Derive the correct minimum exponent by using the exponent from the least-positive float value of the appropriate type. * tests/float-tran.lisp: * Add tests for the derived exponent type for DECODE-FLOAT. Conflicts: tests/float-tran.lisp
-
Raymond Toy authored
Type derivation of the sign of (DECODE-FLOAT X) returned the incorrect value when x was declared to be of type (DOUBLE-FLOAT (0d0)). * src/compiler/float-tran.lisp * Fix type derivation * tests/float-tran.lisp * New file for tests of DECODE-FLOAT-SIGN-DERIVE-TYPE-AUX. * tests/float.lisp * New file to test that decode-float is compiled correctly.
-
Raymond Toy authored
only for the upcoming release.
-
- 13 Sep, 2014 1 commit
-
-
Raymond Toy authored
-
- 12 Sep, 2014 2 commits
-
-
Raymond Toy authored
-
Raymond Toy authored
Not quite fully working on NetBSD, but using this approach on Darwin does the right thing and all the tests pass. (Could these failures be due to NetBSD not compiling with just sse2 and thus uses x87 for the operations?) * setexception.c: * Add support for NetBSD. Instead of using feraiseexcept, try to generate the appropriate operations to generate the desired exceptions. * double-values.c: * Helper functions for setexception to return appropriate float values. These are in a different file so that the compiler can't optimize the values away when used in fdlibm_setexceptions. * GNUmakefile: * Compue double-values.c everywhere. Should be harmless since only NetBSD uses these functions.
-
- 05 Sep, 2014 3 commits
-
-
Raymond Toy authored
without any compiler magic. Untested.
-
Raymond Toy authored
-
Raymond Toy authored
-
- 01 Sep, 2014 1 commit
-
-
Raymond Toy authored
-
- 29 Aug, 2014 2 commits
-
-
Raymond Toy authored
an arrest-reason, destroy-process doesn't take effect. Destroy-process sets process-state to :active to try to ensure it gets the interrupt, but it also needs to clear process-%arrest-reasons and push something on process-%run-reasons. Patch from Paul Foley.
-
Raymond Toy authored
All the tests should pass now.
-
- 28 Aug, 2014 6 commits
-
-
Raymond Toy authored
-
Raymond Toy authored
selected set instead of all tests.
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
- 27 Aug, 2014 3 commits
-
-
Raymond Toy authored
int.
-
Raymond Toy authored
This handles overflows better and (c::two-prod 1.7976931214684583d308 (1+ (scale-float 1d0 -28))) doesn't signal an overflow like the old algorithm.
-
Raymond Toy authored
* src/lisp/e_exp.c: * Signal underflow instead of returning the arg. * tests/trig.lisp: * Add tests for %exp when exp underflows.
-
- 26 Aug, 2014 2 commits
-
-
Raymond Toy authored
-
Raymond Toy authored
These numbers are called signaling, not trapping NaN in almost all usages. * code/exports.lisp: * Export FLOAT-SIGNALING-NAN-P. * code/float.lisp: * Implement FLOAT-SIGNALING-NAN-P. * Make FLOAT-TRAPPING-NAN-P an inline call to the FLOAT-SIGNALING-NAN-P and add a docstring to say it is deprecated. * code/print.lisp: * Print "Signaling" instead of "Trapping". * i18n/locale/cmucl.pot: * Regenerated due to the changes in docstrings.
-
- 23 Aug, 2014 7 commits
-
-
Raymond Toy authored
other tests.
-
Raymond Toy authored
* src/lisp/e_acos.c * Use fdlibm_setexception * src/lisp/e_asin.c * Use fdlibm_setexception * src/lisp/s_atan.c * Use fdlibm_setexception * tests/trig.lisp: * Add tests for acos, asin, and atan.
-
Raymond Toy authored
* src/lisp/e_atanh.c * Use fdlibm_setexception * tests/trig.lisp: * Add tests for atanh
-
Raymond Toy authored
* src/lisp/s_asinh.c * Use fdlibm_setexception * tests/trig.lisp: * Add tests for asinh
-
Raymond Toy authored
-
Raymond Toy authored
* src/lisp/e_log.c * Use fdlibm_setexception * tests/trig.lisp: * Add tests for log
-
Raymond Toy authored
operation was. This shows up when fdlibm_setexception signals an exception. It seems to set the exception bits directly instead of trying to do the operation. This was confusing get-fp-operands.
-
- 22 Aug, 2014 4 commits
-
-
Raymond Toy authored
doesn't use x87.
-
Raymond Toy authored
On 32-bit linux, we can still get FP exceptions using x87 because 32-bit linux can still use x87 instructions for arithmetic. Because of this, we need to re-enable the support x87 floating-point modes, including getting and setting the modes and also extracting the modes from a sigcontext. * src/code/float-trap.lisp: * Put back support for getting and setting the x87 FP modes. * src/compiler/x86/float.lisp: * Add comment on the layout of the status and control words for x87. * src/lisp/Linux-os.c: * Put back support for getting the x87 (and sse2) FP modes. Needed in the sigfpe-handler in float-trap.lisp. Some of this needs to be cleaned up because we always require sse2 now.
-
Raymond Toy authored
* src/lisp/e_exp.c * Use fdlibm_setexception * tests/trig.lisp: * Add tests for exp.
-
Raymond Toy authored
-