Skip to content
Snippets Groups Projects
  1. Sep 27, 2014
    • Raymond Toy's avatar
      Fix incorrect value from INTEGER-DECODE-FLOAT for denormals. · 315ea234
      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.
      315ea234
  2. Sep 26, 2014
  3. Sep 25, 2014
    • Raymond Toy's avatar
      Make the LOG function match what the deftransform for LOG does. · 106bf4fc
      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.
      106bf4fc
  4. Sep 20, 2014
    • Raymond Toy's avatar
      Add fdlibm's log10. · 24511623
      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.
      24511623
    • Raymond Toy's avatar
      Make (log (scale-float 1d0 k) 2) = k · 2e182540
      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.
      2e182540
  5. Aug 29, 2014
  6. Aug 26, 2014
    • Raymond Toy's avatar
      Deprecate FLOAT-TRAPPING-NAN-P in favor of FLOAT-SIGNALING-NAN-P. · 9b6ad201
      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.
      9b6ad201
  7. Aug 23, 2014
  8. Aug 22, 2014
    • Raymond Toy's avatar
      On x86/darwin, we want and only need the sse2 mode bits. Darwin · 1626be46
      Raymond Toy authored
      doesn't use x87.
      1626be46
    • Raymond Toy's avatar
      Re-enable the x87 floating-point mode stuff. · 2c4a13af
      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.
      2c4a13af
  9. Aug 10, 2014
    • Raymond Toy's avatar
      Fix ticket:101, implementing STREAM-ADVANCE-TO-COLUMN for FORMAT ~T. · e585e8d6
      Raymond Toy authored
       * code/format.lisp:
         * Add support for Gray streams for tabulation, calling
           STREAM-ADVANCE-TO-COLUMN as needed.
       * tests/gray-stream.lisp:
         * Add tests for absolute and relative tabulation. These are simple
           and just compare that lisp streams and Gray streams produce the
           same output.
       * general-info/release-20f.txt:
         * Update.
      e585e8d6
  10. Aug 09, 2014
    • Raymond Toy's avatar
      Fix ticket:105 by not flaming out on a closed stream. · c0052f55
      Raymond Toy authored
       * code/reader.lisp:
         * The READER-ERROR condition tries to be helpful and print out the
           position of where the error occurred using FILE-POSITION. But
           FILE-POSITION flames out when the stream is closed, so check for
           a closed stream before calling FILE-POSITION
      
       * tests/trac.lisp:
         * Add test from the bug report.
      
       * general-info/release-20f.txt:
         * Update.
      c0052f55
    • Raymond Toy's avatar
      Fix ticket #100 by implementing STREAM-FILE-POSITION · 9e687a21
      Raymond Toy authored
      Implements STREAM-FILE-POSiTION and (SETF STREAM-FILE-POSITION).
      
       * code/stream.lisp:
         * Add support for Gray streams in FILE-POSITION.
       * pcl/gray-streams.lisp:
         * Define STREAM-FILE-POSITION and (SETF STREAM-FILE-POSITION).
         * Add methods on FUNDAMENTAL-STREAM, CHARACTER-INPUT-STREAM, and
           CHARACTER-OUTPUT-STREAM.
       * code/exports.lisp:
         * Export STREAM-FILE-POSITION.
      9e687a21
  11. Aug 02, 2014
  12. Aug 01, 2014
  13. Jul 31, 2014
  14. Jul 26, 2014
  15. Jul 22, 2014
  16. Jul 02, 2014
  17. Jun 24, 2014
    • Raymond Toy's avatar
      Change max gen to GC to 3; add inteface to set it. · 0cf9036d
      Raymond Toy authored
       * lisp/gencgc.c
         * Set number of generations to GC to 3 instead of NUM_GENERATIONS -
           1.
         * Add simple interface to allow user to set the number of
           generations and return the old value.
       * code/gc.lisp:
         * Add Lisp interface to set the number of generations to GC.
      0cf9036d
  18. Jun 01, 2014
    • Raymond Toy's avatar
      Fix ticket:98 · c0a0fc0b
      Raymond Toy authored
      Change the warning to a style-warning and update the message to be
      more precious.
      c0a0fc0b
  19. May 13, 2014
    • Raymond Toy's avatar
      Fix bug in printing most-negative-fixnum · c34d88b5
      Raymond Toy authored
       * src/code/print.lisp:
         * Type declaration in {{{SUB-OUTPUT-INTEGER}}} was incorrect
           because we want to be able to print
           {{{(- most-negative-fixnum)}}}.
      
       * tests/printer.lisp:
         * Add test for this.
      c34d88b5
  20. May 10, 2014
  21. May 08, 2014
  22. Apr 29, 2014
  23. Mar 30, 2014
  24. Mar 08, 2014
Loading