Skip to content
Snippets Groups Projects
  1. Dec 03, 2014
  2. Dec 01, 2014
    • Raymond Toy's avatar
      Fix to handle (log 3/2 2) and (log -3/2 2). Test added. · 5f81e241
      Raymond Toy authored
       * src/code/irrat.lisp:
         * Fix LOG2 to handle the case of negative rational numbers.
         * Fix LOG of rational to a rational base. We want to convert the
           log of the number to a single float because log2 isn't intended
           to handle single-float type.
      
       * tests/irrat.lisp:
         * Add test for log of rational to rational base.
         * Add some additional tests for dd-%log2.
      5f81e241
  3. Nov 30, 2014
    • Raymond Toy's avatar
    • Raymond Toy's avatar
      Partially addresses ticket:91 by allowing the test suite to finish. · 70181ee7
      Raymond Toy authored
      The tests still fail (along with others), but the test suite will
      finish.
      
       * code/float-trap.lisp:
         * Update SET-FLOATING-POINT-MODES:
           * When we clear out bits in float-invalid-op-1-byte, clear out the
             float-invalid-op-2-byte.  Not necessary for this fix, but those
             bits signal other invalid operations from sqrt and such.
           * When clearing the exceptions, clear the sticky exceptions
             summary bit too.
         * Fix SIGFPE-HANDLER:
           * As above, clear out the bit in float-invalid-op-2-byte and the
             exceptions summary bit.
           * Only clear out the new exception bits, as done for SSE2.
           * Mask out the float-invalid-op-2-byte and the summary bit before
             setting the new modes.
      
       * compiler/ppc/parms.lisp
         * Define float-exceptions-summary-byte.
      
       * code/exports.lisp:
         * Export FLOAT-INVALID-OP-2-BYTE
      70181ee7
  4. Nov 27, 2014
    • Raymond Toy's avatar
      Fix up a few more issues with log. · 55d04a31
      Raymond Toy authored
       * src/code/irrat.lisp:
         * In log10, return the correct type for the result.  Previously, we
           would return a double even if a single were desired.
         * Fix up a few more cases where we failed to handle log of a huge
           rational correctly for log base 2 and base 10.
       * tests/irrat.lisp:
         * Add some tests to check that log returns the correct type of
           number for the log base 2 and 10 of very large rationals.
      55d04a31
  5. Nov 26, 2014
    • Raymond Toy's avatar
      Fix some issues with log2 and log10 of big rationals. · 37d383ae
      Raymond Toy authored
       * src/code/irrat.lisp:
         * Add log10 function to handle the computation of the base 10 log
           of big rationals that might not fit in a double-float.
         * Fix some issues where CL:LOG wasn't handling logs of big
           rationals. (A regression).
       * tests/trac.lisp:
         * Update trac.8 test to include logs base 10.
      37d383ae
    • Raymond Toy's avatar
      Use new log2 function in C · 0a522bd0
      Raymond Toy authored
       * code/exports.lisp:
         * Export %LOG2.
       * code/irrat.lisp:
         * Define %log2
         * Use %log2 instead of log2. (This needs work)
       * compiler/float-tran.lisp:
         * Use %log2 instead of log2 in the deftransforms.
      0a522bd0
  6. Nov 25, 2014
  7. Nov 24, 2014
  8. Nov 19, 2014
  9. Nov 17, 2014
  10. Nov 16, 2014
  11. Nov 15, 2014
  12. Nov 12, 2014
  13. Nov 07, 2014
  14. Nov 06, 2014
    • Raymond Toy's avatar
      Add iterators and loop paths for codepoints and glyphs · 2b1925b6
      Raymond Toy authored
       * src/code/string.lisp:
         * Add WITH-STRING-CODEPOINT-ITERATOR to allow iterating over the
           codepoints in a string.
         * Add WITH-STRING-GLYPO-ITERATOR to allow iterating over the
           glpyhs in a string.
       * src/code/exports.lisp:
         * Export WITH-STRING-CODEPOINT-ITERATOR and
           WITH-STRING-GLYPH-ITERATOR. 
       * src/code/loop.lisp:
         * Support (loop for cp being the codepoint of string ...) which
           extracts the consecutive codepoints from the string. Allow
           codepoints, code-point, and code-points as aliases of codepoint.
         * Support (loop for g-string being the glyph of string ...) which
           extracts each glyph (as a string) from the string.  Allow glpyhs
           as an alias.
       * tests/extended-loop.lisp:
         * New file of tests for the new loop paths.
       * src/i18n/locale/cmucl.pot:
         * Update.
      2b1925b6
  15. Nov 02, 2014
  16. Oct 27, 2014
  17. Oct 25, 2014
  18. Oct 11, 2014
  19. Oct 10, 2014
    • Raymond Toy's avatar
      a1946b35
    • Raymond Toy's avatar
      Unify extern-alien-name for darwin x86 and ppc. · 571dd490
      Raymond Toy authored
      Initial attempt to unify extern-alien-name, primarily for darwin (x86
      and ppc). Thus, systems using elf do not prepend an underscore, but
      other systems are assumed to prepend an underscore.
      
      This is currently only for darwin/x86.  A cross-compile on darwin x86
      is needed.
      
       * code/x86-vm.lisp:
         * For elf systems, don't prepend an underscore.  For other systems,
           do prepend.
       * compiler/generic/new-genesis.lisp:
         * Fix long-standing bug where we should call EXTERN-ALIEN-NAME to
           get the right name for "resolve_linkage_tramp".
       * lisp/Darwin-os.c:
         * Update os_dlsym to assume the external name is always preceded by
           an underscore.  The lookup for dlysm is done by stripping off the
           leading underscore.
       * lisp/os-common.c:
         * Add EXTERN_ALIEN_NAME macro to create the correct alien name for
           elf and non-elf systems.
         * Use it to generate the correct name to be used for comparison in
           the sanity checks of the linkage table entries.
      571dd490
  20. Oct 09, 2014
    • Raymond Toy's avatar
      First cut at removing ppc-darwin-dlshim.c. Not needed anymore because · 57711cc2
      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.
      57711cc2
  21. Oct 02, 2014
    • Raymond Toy's avatar
      Fix regression in %ENUMERATE-DIRECTORIES. · 8329e1d5
      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.
      8329e1d5
    • Raymond Toy's avatar
      Fix regression in %ENUMERATE-DIRECTORIES. · 2f316750
      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.
      2f316750
  22. Oct 01, 2014
  23. Sep 28, 2014
  24. Sep 27, 2014
    • Raymond Toy's avatar
      Fix incorrect value from INTEGER-DECODE-FLOAT for denormals. · ab0a979d
      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
      ab0a979d
    • 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
  25. Sep 26, 2014
Loading