- Oct 09, 2014
-
-
Raymond Toy authored
dlsym works on OSX/ppc like on other ports. A cross-compile was used with cross-ppc-ppc-darwin.lisp. I'm not sure a cross-compile is required, though. * code/ppc-vm.lisp: * EXTERN-ALIEN-NAME doesn't need to prepend an underscore anymore. * lisp/Config.ppc_darwin: * Don't compile/link ppc-darwin-dlshim.c. * lisp/os-common.c: * Don't prepend underscore for call_into_lisp. * tools/cross-scripts/cross-ppc-ppc-darwin.lisp: * EXTERN-ALIEN-NAME doesn't need to prepend an underscore anymore.
-
Raymond Toy authored
This causes negative cpu cyles with TIME. Basic issue is that a cpu frequency of 2.3 GHZ won't fit in an int. Use an unsigned int. We also take this opportunity to use a rounded value for clocks-per-tick instead of truncating. For this particular case the ratio is actual 68.99 which would truncated to 68. We should probably use 69 instead.
-
- Oct 07, 2014
-
-
Raymond Toy authored
Needed to add OLD-VM:CHAR-BYTES. Cross-compile works again on sparc.
-
Raymond Toy authored
Copied some things over from the sparc cross-compile script, and added the needed OLD-VM:CHAR-BYTES. With these changes, ppc can now do a ppc-to-ppc cross compile.
-
- Oct 04, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
Conflicts: src/lisp/GNUmakefile tests/float-tran.lisp tests/float.lisp
-
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.
-
- Oct 02, 2014
-
-
Raymond Toy authored
If the exponent (second arg of SCALE-FLOAT) is such that 2^exponent can be represented as a float (single or double), we can implement SCALE-FLOAT using a multiplication by 2^exponent, since multiplication by 2^exponent is exact. * src/compiler/float-tran.lisp: * Update deftransforms for SCALE-FLOAT to do a multiply when possible. * tests/float-tran.lisp: * Add tests to make sure the deftransforms for SCALE-FLOAT are applied appropriately.
-
Raymond Toy authored
This allows the compiler to shift a fixnum to a signed-reg without first converting the fixnum to a signed-reg, saving a shift.
-
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.
-
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.
-
- Oct 01, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
* Use fdlibm_setexception to handle the case when the arg is NaN or Inf. (Previously depended on x+x doing the right thing.) * Fix a compiler warning about possible dangling else by adding braces as needed.
-
- Sep 28, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
Since the x86 port calls this already, might as well make it available to everyone.
-
Raymond Toy authored
-
- Sep 27, 2014
-
-
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
-
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.
-
- Sep 26, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
- Sep 25, 2014
-
-
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.
-
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.
-
Raymond Toy authored
-
Raymond Toy authored
Without this, compiled code produces different answers from interpreted code. * src/code/irrat.lisp: * Add cases where the base is 2 or 10 to compute the log in the same way as the deftransform for LOG does. * tests/float.lisp: * Fix comparison to use equalp, not equal. * Add test for log10.
-
- Sep 21, 2014
-
-
Raymond Toy authored
%log10. This better than using the definition (/ (log x) (log base)). This also allows exact answer for 2^n and 10^n for appropriate n. * src/compiler/float-tran.lisp: * Add deftransforms to convert (log x 2) and (log x 10) to kernel::log2 and kernel:%log10 * tests/float-tran.lisp: * Add tests to check the transforms are done, or not done, as appropriate.
-
- Sep 20, 2014
-
-
Raymond Toy authored
* src/code/irrat.lisp: * Define %log10 to use fdlibm's log10 * src/lisp/GNUmakefile * Compile e_log10 * tests/trig.lisp * Add tests for %log10.
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
* src/code/irrat.lisp * Improve accuracy of log2 for the case when x=2^k. There might be some loss in accuracy for other values of x, however. * tests/float.lisp * Add test for log2(2^k) = k.
-
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.
-
- Sep 13, 2014
-
-
Raymond Toy authored
-