Skip to content
  1. Nov 07, 2007
    • Raymond Toy's avatar
      qd-rep.lisp: · 47e6f99e
      Raymond Toy authored
      o Fix typo in compiler macro for sub-d-qd
      
      qd.lisp:
      o Use 3-arg versions in div-qd-t to speed things up.  Approximately
        doubles the speed with clisp.
      
      qd-fun.lisp:
      o Use 3-arg versions in sqrt-qd to speed things up.  Approximately
        doubles the speed with clisp.
      47e6f99e
    • Raymond Toy's avatar
      o Add 3-arg forms for add-qd-d, mul-qd-d, add-d-qd, sub-qd-d, · 92630dff
      Raymond Toy authored
        sub-d-qd, and neg-qd.
      o Correct the compiler macros for CMUCL for sub-qd and sqr-qd.
      92630dff
  2. Nov 05, 2007
  3. Nov 04, 2007
  4. Nov 02, 2007
    • Raymond Toy's avatar
      First cut at adding a 3-arg versions of the basic operations to reduce · d161eff7
      Raymond Toy authored
      consing by allowing the third argument to be a place where the result
      can be stored.  This is intended to help reduce allocation and gc
      costs for Lisps that use arrays to represent quad-doubles.
      
      More work is needed to make the compiler macros do the right thing for
      CMUCL.
      
      qd-rep.lisp:
      o Add %STORE-QD-D to store a quad-double into a place.  For CMUCL,
        there place argument is ignored and a fresh quad-double is created.
      
      qd.lisp:
      o Modify ADD-QD, SUB-QD, MUL-QD, and DIV-QD to take an optional third
        argument indicating where the result can be stored.   Ignored on
        CMUCL.
      o Add ADD-QD-T, SUB-QD-T, MUL-QD-T, and DIV-QD-T, which are 3-arg
        functions with the third arg always required which is the storage
        area to hold the result.  Ignored on CMUCL.
      o Add compiler macros to convert ADD-QD and friends to ADD-QD-T if the
        third arg is always given.  The effect is, essentially, inlining
        ADD-QD.
      d161eff7
  5. Oct 18, 2007
  6. Oct 16, 2007
    • Raymond Toy's avatar
      o Add default implementation of float-infinity-p, float-nan-p, · 4968eb46
      Raymond Toy authored
        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.
      4968eb46
    • Raymond Toy's avatar
      qd-package.lisp: · 0aaa8918
      Raymond Toy authored
      o Don't :USE CMUCL's EXTENSIONS package anymore.  Import just the
        symbols we need.
      
      qd-class.lisp:
      o No need to use package qualifiers.
      
      qd-fun.lisp:
      o Need package qualifier for MAYBE-INLINE.
      
      qd.lisp:
      o Need package qualifier for *INLINE-EXPANSION-LIMIT*
      .
      0aaa8918
  7. Oct 15, 2007
    • Raymond Toy's avatar
      o Oops. Fix up a few IN-PACKAGE's for the new package names. · dcc2f637
      Raymond Toy authored
      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.
      dcc2f637
    • Raymond Toy's avatar
      qd.lisp: · 89bea403
      Raymond Toy authored
      o Oops.  In INTEGER-DECODE-QD, the signs of the parts were not
        computed correctly when combining them into the final integer
        result.
      
      rt-tests.lisp:
      o Add a test for INTEGER-DECODE-QD.
      o Use OCT as the package, not QD.
      89bea403
  8. Oct 13, 2007
  9. Sep 18, 2007
    • Raymond Toy's avatar
      qd-rep.lisp: · 17c963bd
      Raymond Toy authored
      o Add macro WITH-QD-PARTS to extract the components of a quad-double.
      
      qd.lisp:
      o Use the macro as needed.
      17c963bd
  10. Sep 17, 2007
  11. Sep 16, 2007
    • Raymond Toy's avatar
      o Remove old code. · 1185d90c
      Raymond Toy authored
      o Inline float-infinity-p.
      1185d90c
    • Raymond Toy's avatar
      Make TWO-SUM a macro, just like we did for QUICK-TWO-SUM. · 777ae142
      Raymond Toy authored
      All RT tests pass on CMUCL and Allegro.
      
      qd-package.lisp:
      o Don't import C::TWO-SUM anymore.
      
      qd-dd.lisp:
      o Make TWO-SUM a macro.
      
      qd.lisp
      o Add TWO-SUM macro for CMUCL (which just calls C::TWO-SUM).
      o Update all uses of TWO-SUM to use the macro appropriately.
      777ae142
    • Raymond Toy's avatar
      To speed up Allegro (and other Lisp's that don't support inline · b4ab1fd7
      Raymond Toy authored
      functions), change QUICK-TWO-SUM from a function to a macro.  Note
      that macro has different calling convention than the function.  This
      is needed because Allegro apparently doesn't handle VALUES without
      boxing.
      
      All rt tests pass.
      
      qd-package.lisp:
      o For CMUCL, don't import C::QUICK-TWO-SUM into the QDI package
        anymore.
      
      qd-dd.lisp:
      o New QUICK-TWO-SUM macro.
      
      qd.lisp:
      o Add CMUCL version of QUICK-TWO-SUM macro, which just calls
        C::QUICK-TWO-SUM.
      o Update all users of QUICK-TWO-SUM appropriately.
      b4ab1fd7
  12. Sep 12, 2007
    • Raymond Toy's avatar
      qd-fun.lisp: · 70c699b1
      Raymond Toy authored
      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.
      70c699b1
  13. Aug 25, 2007
  14. Aug 24, 2007
  15. Jun 13, 2007
  16. Jun 12, 2007
  17. Jun 11, 2007
  18. Jun 02, 2007
  19. May 30, 2007
  20. May 23, 2007
  21. May 18, 2007