Skip to content
Snippets Groups Projects
  1. Jun 15, 2009
    • rtoy's avatar
      Add DESCRIBE-CHARACTER function to describe characters. This includes · 171421d3
      rtoy authored
      the character's code and name.
      171421d3
    • rtoy's avatar
      o Fix deftransforms to do contagion correctly: · 2b772630
      rtoy authored
        - complex + real
        - complex - real
        - real + complex
      o Clean up comments and fix erroneous ones.
      2b772630
    • rtoy's avatar
      Fix issue with complex contagion on sparc. The vops for complex+real · f1399c10
      rtoy authored
      and complex-real didn't compute the imaginary part correctly; we need
      to add (or subtract) 0 to get the correct signed zero.
      
      (+ #c(1d0 -0d0) 1d0) -> #c(2d0 0d0), not #c(2d0 -0d0)
      
      code/sparc-svr4-vm.lisp:
      o Define *FP-CONSTANT-0F0* and *FP-CONSTANT-0D0*, floating point
        zeroes.
      
      compiler/generic/new-genesis.lisp:
      o Initialize *FP-CONSTANT-0F0* and *FP-CONSTANT-0D0* during genesis.
      
      compiler/sparc/parms.lisp:
      o Add *FP-CONSTANT-0F0* and *FP-CONSTANT-0D0* to the static symbols so
        vops can access them easily.  For bootstrapping purposes, we steal
        the spare-9 and sparc-8 symbols.
      
      compiler/sparc/float.lisp:
      o Update vops for complex + float and complex - float.  Need to add
        (or subtract) 0 to the imaginary part to get the correct signed
        zero.
      o Update vop for float+complex as above.
      f1399c10
    • rtoy's avatar
      For Linux, default to gencgc. · 266512a4
      rtoy authored
      266512a4
    • rtoy's avatar
      code/numbers.lisp: · 3934a9cb
      rtoy authored
      o Do appropriate contagion when computing a complex + real or complex
        - real.  (+ #c(1d0 -0d0)  1d0) should be #c(2d0 0d0), not #c(2d0
          -0d0).
      
      compiler/x86/float-sse2.lisp:
      o Update vops for computing complex +/- float and float + complex to
        do appropriate contagion so that the imaginary part has the correct
        sign (as above for numbers.lisp).
      3934a9cb
  2. Jun 14, 2009
  3. Jun 13, 2009
  4. Jun 12, 2009
  5. Jun 11, 2009
  6. Apr 20, 2009
  7. Apr 13, 2009
  8. Apr 10, 2009
    • rtoy's avatar
      Update · 24898eb6
      rtoy authored
      24898eb6
    • rtoy's avatar
      o Add some docstrings to READ-VECTOR and WRITE-VECTOR. · 3d14cbf2
      rtoy authored
      o Fix a confusion about the length of the vector versus the start and
        end octets.  If END is not given, we use the length of the vector,
        but it must be scaled by the number of octets per element.
      3d14cbf2
  9. Apr 08, 2009
  10. Mar 27, 2009
  11. Mar 25, 2009
    • rtoy's avatar
      linux-os.lisp: · f0c421a2
      rtoy authored
      o Use unix:unix-uname to get the software version.  (I don't want to
        deal with broken Linux kernels or other implementation details in
        trying to read /proc/version, and I don't want to run uname -r.)
      
      sunos-os.lisp:
      o Use unix:unix-uname to get the software version instead of running
        uname -r.
      f0c421a2
    • rtoy's avatar
      Carl fixed the aliasing issue in e_rem_pio2.c sometime ago so we don't · 1ca43a1a
      rtoy authored
      need the -ffloat-store and -fno-strict-aliasing flags anymore.  The
      Linux x87 build correctly returns -0.9258790228548379d0 for (cos (expt
      2d0 120)).
      1ca43a1a
  12. Mar 24, 2009
  13. Mar 20, 2009
    • rtoy's avatar
      This big of code causes CMUCL to spend huge amounts of time trying to · cb674c89
      rtoy authored
      simplify the union of disjoint double-float types:
      
      (defun foo (arg)
        (declare (type double-double-float arg)
      	   (optimize (speed 3) (space 0)))
        (let* ((x arg)
      	 (xx 0w0)
      	 (k 0)
      	 (px (coerce k 'double-double-float))
      	 (qx 0w0))
          (declare (type double-double-float x xx px qx)
      	     (notinline poly-eval poly-eval-1))
          (setf x (- (- x (* px log2-c1)) (* px log2-c2)))
          (+ x 0d0)
          ))
      
      Fix it:
      
      code/type.lisp:
      o Rename SIMPLIFY-BIG-INTEGER-UNION to SIMPLIFY-BIG-UNION
      o SIMPLIFY-BIG-UNION takes an extra arg to specify the resulting type.
      o Modify SIMPLIFY-UNIONS to handle float unions as well as integer
        unions.
      
      general-info/release-20a.txt:
      o Update
      cb674c89
  14. Mar 18, 2009
    • rtoy's avatar
      code/irrat-dd.lisp: · 8bd5d96d
      rtoy authored
      o Declare POLY-EVAL and POLY-EVAL-1 as maybe-inline functions so they
        can be semi-inlined.
      
      code/irrat.lisp:
      o I don't think there's any real reason to make the local function
        REAL-EXPT inline.  It's very big and local function call is already
        good enough.
      
      compiler/float-tran.lisp:
      o Change some functions to be maybe-inline instead of inline to save
        on space for the the larger double-double functions:  SUB-DD,
        SUB-D-DD, SUB-DD-D, SPLIT.  Semi-inline should be good enough for
        these large functions, saving on cache memory, local function
        calling sequence should be good enough.
      8bd5d96d
  15. Mar 16, 2009
  16. Mar 11, 2009
  17. Mar 03, 2009
  18. Feb 22, 2009
  19. Feb 09, 2009
  20. Jan 23, 2009
  21. Jan 22, 2009
  22. Jan 21, 2009
  23. Jan 20, 2009
  24. Jan 19, 2009
Loading