Skip to content
Snippets Groups Projects
  1. Dec 10, 2008
  2. Dec 09, 2008
  3. Dec 07, 2008
  4. Dec 05, 2008
    • rtoy's avatar
      Fix Trac #25. · 2011760d
      rtoy authored
      Don't set continuation-dest to continuation-next in FLUSH-DEAD-CODE
      when safety is 3.  Just don't do anything.  The generated code remains but
      doesn't deliver the result anywhere, but that's ok in SAFE mode.
      2011760d
  5. Dec 02, 2008
  6. Nov 26, 2008
    • rtoy's avatar
      compiler/srctran.lisp: · 967464f7
      rtoy authored
      o Remove the %ldb change in rev 1.164 to workaround in ticket #20.
      o Delay the logand optimizer so that it runs later.  This allows type
        propagation a chance to converge before we run the logand
        optimizer.  This fixes ticket #20 and #21.  This may increase
        compilation time since the IR1 optimizations will run more often due
        to logand changes.
      
      general-info/release-19f.txt:
      o Update for modular arith fixes
      o Update ticket #15 since we have SSE2 now.
      967464f7
  7. Nov 24, 2008
    • rtoy's avatar
      tools/make-dist.sh: · 3d9b078d
      rtoy authored
      o Add -S option to create a source tarball.  Call make-src-dist.sh to
        create the tarball.  If "tar" is not GNU tar, set the environment
        variable GTAR to point to GNU tar.
      
      tools/make-src-dist.sh:
      o Create a tarball of the src directory, removing any CVS
        directories.  This requires GNU tar.
      3d9b078d
    • rtoy's avatar
      Indent a maphash neatly. No other changes. · 3bf46438
      rtoy authored
      3bf46438
  8. Nov 16, 2008
  9. Nov 15, 2008
  10. Nov 14, 2008
  11. Nov 13, 2008
  12. Nov 12, 2008
  13. Oct 24, 2008
    • rtoy's avatar
      code/float.lisp: · 139b5ed6
      rtoy authored
      o Forgot to implement FLOAT-PRECISION for double-doubles.
      
      general-info/release-19f.txt:
      o Document it.
      139b5ed6
  14. Oct 22, 2008
  15. Oct 21, 2008
    • rtoy's avatar
      Correct some comments referring to the (now) nonexistent *truncate-x* · 1b272408
      rtoy authored
      and *truncate-y*.
      1b272408
    • rtoy's avatar
      Speed up bignum-truncate by getting rid of the special variables · b338119a
      rtoy authored
      *truncate-x* and *truncate-y*.  Accessing these in tight loops hurts
      performance.  So pass truncate-x and truncate-y as parameters to the
      routines that need them.  Reorder the truncate support routines so we
      can block-compile all of the routines for truncate.
      
      With these changes, we see the following changes according to
      cl-bench.  The first column and reference is 2008-10 snapshot
      (darwin), and the next column is the ratio of this new code to the
      reference.  So we see improvements from 10% to 50%.
      
      BIGNUM/ELEM-100-1000     [      0.23]   0.84
      BIGNUM/ELEM-1000-100     [      0.50]   0.89
      BIGNUM/ELEM-10000-1      [      0.51]   0.90
      BIGNUM/PARI-100-10       [      0.05]   0.63
      BIGNUM/PARI-200-5        [      0.22]   0.51
      PI-DECIMAL/SMALL         [      2.44]   0.70
      PI-DECIMAL/BIG           [      2.24]   0.73
      PI-ATAN                  [      1.07]   1.00
      PI-RATIOS                [      2.56]   0.88
      b338119a
  16. Oct 08, 2008
    • rtoy's avatar
      Ticket #24. · f169d3f0
      rtoy authored
      Take the rule of float precision contagion (CLHS 12.1.4.4) to also
      mean that the result should be as accurate as the most accurate
      argument.  Effectively, all args are coerced to the highest precision
      first before computing expt.
      
      There's a simple test program to check that every case is covered with
      the expected precision.  (I think).
      
      (defun test-expt ()
        (dolist (base '(2 2f0 2d0 2w0) t)
          (dolist (power '(1/2 .5f0 .5d0 .5w0))
            (flet ((test-it (b p a eps expected)
      	       (let* ((res (expt b p))
      		      (absdiff (abs (- res a))))
      		 (unless
      		     (or (typep (realpart res) (type-of expected))
      			 (<= absdiff (* 10 eps)))
      		   (format t "FAILED: ~A^~A = ~A (~A)~%" b p res a)))))
      
      	;; Compute base^power.
      	(let* ((expected-type
      		(let ((prod (* base power)))
      		  (if (rationalp prod)
      		      1f0
      		      prod)))
      	       (eps (etypecase expected-type
      		      ((or rational single-float)
      		       single-float-epsilon)
      		      (double-float
      		       double-float-epsilon)
      		      (double-double-float
      		       1w-31)))
      	       (answer (sqrt (float base expected-type))))
      	  (test-it base power answer eps expected-type)
      	  (test-it base (complex power) answer eps expected-type)
      	  (test-it (complex base) power answer eps expected-type)
      	  (test-it (complex base) (complex power) eps answer expected-type))))))
      f169d3f0
  17. Oct 07, 2008
Loading