1. 16 Nov, 2008 1 commit
  2. 15 Nov, 2008 1 commit
  3. 14 Nov, 2008 3 commits
  4. 13 Nov, 2008 3 commits
  5. 12 Nov, 2008 3 commits
  6. 24 Oct, 2008 1 commit
    • 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
  7. 22 Oct, 2008 4 commits
  8. 21 Oct, 2008 2 commits
    • 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
  9. 08 Oct, 2008 1 commit
    • 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
  10. 07 Oct, 2008 1 commit
  11. 06 Oct, 2008 1 commit
  12. 03 Oct, 2008 3 commits
  13. 01 Oct, 2008 2 commits
  14. 24 Sep, 2008 1 commit
  15. 23 Sep, 2008 1 commit
  16. 22 Sep, 2008 1 commit
  17. 17 Sep, 2008 1 commit
  18. 16 Sep, 2008 5 commits
  19. 13 Sep, 2008 3 commits
  20. 12 Sep, 2008 2 commits
    • rtoy's avatar
      new-genesis.lisp: · 82fea31c
      rtoy authored
      o Generate values for REAL_LRA_SLOT, KNOWN_RETURN_P_SLOT, and
        BOGUS_LRA_CONSTANTS from the actual Lisp values.
      
      breakpoint.c:
      o Use the generated values above, if available.  We leave suitable
        defaults for now, but they should probably be removed.
      82fea31c
    • rtoy's avatar
      After building the C code, we need to run build-world again to create · 879ee001
      rtoy authored
      a core file with the right addresses for undefined_tramp and
      closure_tramp.
      
      Only needed on Solaris and ppc.
      879ee001