Skip to content
  1. Apr 08, 2012
    • Raymond Toy's avatar
      Define FLOATP, fix bugs in FLOAT. · 8ec0d200
      Raymond Toy authored
      qd-methods.lisp:
      * Define FLOATP
      * Fix bugs in FLOAT:
        * (FLOAT float nil) is an error
        * (FLOAT float) returns the float
        * (FLOAT rational) returns a single-float.
      
      qd-package.lisp:
      o Export FLOATP, shadowing CL:FLOAT.
      
      rt-tests.lisp:
      o Add a few tests for FLOAT.
      8ec0d200
  2. Mar 23, 2012
  3. Mar 19, 2011
  4. Mar 15, 2011
    • Raymond Toy's avatar
      Export functions, add docstrings. · 80be2f3a
      Raymond Toy authored
      qd-package.lisp:
      o Export the elliptic theta functions and the Carlson elliptic
        integrals. 
      
      qd-theta.lisp:
      o Add simple docstrings for elliptic theta functions.
      o Add ELLIPTIC-THETA function.
      80be2f3a
  5. Mar 11, 2011
  6. Feb 09, 2011
  7. Oct 16, 2007
    • 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
  8. Oct 15, 2007
    • Raymond Toy's avatar
      o Rename QUAD-DOUBLE-INTERNAL package to OCT-INTERNAL, with nickname · bc4055f3
      Raymond Toy authored
        OCTI instead of QDI.
      o Rename OCT package to NET.COMMON-LISP.OCT, with a nickname of OCT
      o Remove nickname of QD.  (Conflicts with other packages dealing with
        quad-doubles.)
      o Update all uses of QDI: to OCTI:
      
      qd-fun.lisp:
      o Add REM-PI/2 to do a simpler computation if the arg is small
        enough.  Otherwise, use the accurate but expensive rem operation.
      o Renamed ACCURATE-SIN-QD to SIN-QD, etc.
      o Update SIN-QD etc to use REM-PI/2.
      bc4055f3
  9. Oct 10, 2007
    • Raymond Toy's avatar
      qd-io.lisp: · d8ad582e
      Raymond Toy authored
      o Add RATIONAL-TO-QD, a simple, fast and accurate method to convert
        rationals to quad-doubles.  (From Richard Fateman.)
      o Use RATIONAL-TO-QD to create a quad-float
      
      qd-methods.lisp:
      o Use RATIONAL-TO-QD to create a quad-float from a bignum and ratio.
      
      qd-package.lisp:
      o Export RATIONAL-TO-QD
      d8ad582e
  10. Sep 20, 2007
  11. Sep 18, 2007
    • Raymond Toy's avatar
      Add method RATIONAL to convert a quad-double to a rational. · f4131d11
      Raymond Toy authored
      qd-package.lisp:
      o Appropriately shadow and export RATIONAL.
      o Need to export WITH-QD-PARTS from QDI.
      
      qd-methods.lisp:
      o Define methods for RATIONAL for reals and qd-reals.
      
      qd-complex.lisp:
      o Use CL:RATIONAL as appropriate for the CL rational type.
      f4131d11
  12. Sep 16, 2007
    • 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
  13. Sep 12, 2007
    • Raymond Toy's avatar
      qd-package.lisp: · 5adc3136
      Raymond Toy authored
      o Rearrange some exports so the CMU ones are all grouped together.
      o Export new constants pi/2, pi/4, 2pi, and log2.
      o Export the qd-real and qd-complex types.
      
      qd-methods.lisp:
      o Define new constants for pi/2, pi/4, 2pi, and log2.
      o Update some of the macrolets to work with a modern-mode lisp, like
        Allegro.
      
      qd-complex.lisp:
      o Use the new constants as needed.
      5adc3136
  14. Aug 29, 2007
  15. Aug 28, 2007
    • Raymond Toy's avatar
      qd-complex.lisp: · d84813f0
      Raymond Toy authored
      o Add ADD1 and SUB1 methods so we can use 1+ and 1- on quad-doubles.
      o Add INCF and DECF macros to support quad-doubles.
      
      qd-package.lisp:
      o Forgot to shadow REALP, COMPLEXP, and NUMBERP, previously.
      o Shadow and export INCF and DECF.
      d84813f0
    • Raymond Toy's avatar
      qd-package.lisp: · 7768a27c
      Raymond Toy authored
      o Shadow REALP, COMPLEXP, and NUMBERP
      
      qd-complex.lisp:
      o Extend REALP, COMPLEXP, and NUMBERP to recognize QD-REAL and
        QD-COMPLEX types.
      7768a27c
  16. Aug 26, 2007
    • Raymond Toy's avatar
      qd-methods.lisp: · 1a8e07b8
      Raymond Toy authored
      o Oops.  Move COERCE to qd-complex.lisp because we use the #q reader
        macro.  (This needs to be reorganized better.)
      o Add RANDOM methods so we can generate quad-double random numbers.
      
      qd-package.lisp:
      o Shadow RANDOM so we can add our own RANDOM to generate quad-doubles.
      
      qd-complex.lisp:
      o COERCE moved here.
      1a8e07b8
  17. Aug 25, 2007
  18. Aug 24, 2007
  19. Jun 12, 2007
    • toy's avatar
      qd-fun.lisp: · 8aadd62b
      toy authored
      o SQRT-QD has round-off problems for very large and very small
        numbers.  Solve this by scaling the number by a power of 4 before
        computing the square root.
      o Moved LOGB-FINITE and the core of QD-CSSQS to this file from
        qd-methods.lisp.  Rename the core routine as HYPOT-QD.
      o Use it in ATAN-QD/NEWTON to get rid of unnecessary overflow.
      
      qd-methods.lisp:
      o Moved LOGB-FINITE and the core of QD-CSSQS from this file to
        qd-fun.lisp.  Use HYPOT-QD in QD-CSSQS.
      
      qd-package.lisp:
      o Export HYPOT-QD.
      8aadd62b
  20. Jun 11, 2007
    • toy's avatar
      Support for infinities for CMUCL. Other platforms don't currently · 99de40a1
      toy authored
      support infinities.
      
      qd-class.lisp:
      o Print out infinities.
      
      qd-io.lisp:
      o QD-FORMAT handles infinities
      
      qd-methods.lisp:
      o Add constants for positive and negative quad-double infinities.
      
      qd-package.lisp:
      o Export +PI+
      o Export infinities.
      99de40a1
  21. Jun 02, 2007
  22. May 30, 2007
  23. May 24, 2007
  24. May 23, 2007
  25. May 22, 2007
  26. May 21, 2007
  27. May 19, 2007
  28. May 18, 2007