Skip to content
Snippets Groups Projects
  1. Dec 31, 2008
  2. Dec 30, 2008
    • rtoy's avatar
      More cleanups: · f7fb749f
      rtoy authored
      o Remove stale symbol *CHAR.
      o Forgot to move SOCKET-ERROR to internet section
      o Move *CLX-FDS-TO-DISPLAYS* to CLX section.
      f7fb749f
    • rtoy's avatar
      More EXTENSIONS symbols rearrangement. · d134c888
      rtoy authored
      o Remove stale symbols: *MAX-OLD-TRACE-INDENTATION*,
        *MAX-STEP-INDENTATION*, OLD-TRACE, OLD-UNTRACE
      o Add section for command line parsing symbols.
      o Add section for Hemlock symbols.
      o Add section for CLX extensions
      o Finish the section for internet.lisp symbols.
      d134c888
  3. Dec 29, 2008
  4. Dec 23, 2008
  5. Dec 22, 2008
    • rtoy's avatar
      Oops. Need to move %DOUBLE-DOUBLE-FLOAT from compiler/float-tran.lisp · a45f0d42
      rtoy authored
      to code/float.lisp because we need this early in the build process to
      handle float types.
      
      This might cuase problems with bootstrapping double-double floats!
      a45f0d42
    • rtoy's avatar
      INNER-COERCE-REAL-BOUND needs to coerce to DOUBLE-DOUBLE-FLOAT, when · 9c80670d
      rtoy authored
      available.  Without this, we get things like
      
      (c::specifier-type '(real 1d0 100/9)) ->
      #<UNION-TYPE (OR (SINGLE-FLOAT 1.0 11.111111)
                       (DOUBLE-FLOAT 1.0d0 11.11111111111111d0)
                       (DOUBLE-DOUBLE-FLOAT 1.0w0
                        11.1111111111111107163651467999443w0)
                       (RATIONAL 1 100/9))>
      
      instead of
      
      #<UNION-TYPE (OR (SINGLE-FLOAT 1.0 11.111111)
                       (DOUBLE-FLOAT 1.0d0 11.11111111111111d0)
                       (DOUBLE-DOUBLE-FLOAT 1.0w0
                        11.1111111111111111111111111111111w0)
                       (RATIONAL 1 100/9))>
      
      The bound for double-double-float is not quite correct in the former
      result, and is correct in the latter.
      9c80670d
  6. Dec 21, 2008
  7. Dec 10, 2008
    • rtoy's avatar
      Change how we put the FPU type into the core file. We can't use · 29f1fd98
      rtoy authored
      compile-time options to do this.  The running core file has to tell
      us.
      
      lisp/save.c:
      o Add extra arg to save function to indicate whether the core we're
        saving supports sse2 or not.  Non-zero means sse2.
      o Put the correct indication into the core file.
      
      lisp/save.h:
      o Update declaration of save.
      
      code/save.lisp:
      o Update alien definition for save
      o Pass in the extra parameter for the save routine to indicate if we
        support sse2 or not.
      29f1fd98
    • agoncharov's avatar
      The features X87 and SSE2 are supposed to be exclusive; x87-to-sse2 · 2087c900
      agoncharov authored
      cross build adds SSE2 but X87 stays there. So, pull it out here.
      2087c900
  8. Dec 02, 2008
  9. Nov 12, 2008
  10. 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
  11. Oct 22, 2008
  12. 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
  13. 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
  14. Oct 03, 2008
  15. Sep 24, 2008
  16. Sep 23, 2008
  17. Sep 16, 2008
  18. Sep 07, 2008
  19. Sep 02, 2008
  20. Aug 31, 2008
  21. Aug 16, 2008
  22. Aug 15, 2008
  23. Aug 12, 2008
    • rtoy's avatar
      compiler/x86/arith.lisp: · 51daa734
      rtoy authored
      o Remove definition of vm::ash-left-mod32.  (It's already in
        numbers.lisp.)
      
      code/numbers.lisp:
      o Declaim vm::ash-left-mod32 as inline to work around x86 issue where
        vm::ash-left-mod32 never gets translated to a vop.
      51daa734
  24. Jul 31, 2008
  25. Jul 30, 2008
    • rtoy's avatar
      Network updates from Chun Tian, cmucl-imp, 2008/07/21 and followups. · 070993a4
      rtoy authored
      code/internet.lisp:
      o Add BIND-INET-SOCKET
      o Allow CONNECT-TO-INET-SOCKET to allow binding the new socket to a
        local address.
      
      code/exports.lisp:
      o Update export list for BIND-INET-SOCKET.
      
      docs/cmu-user/internet.tex:
      o Add and update docs for BIND-INET-SOCKET and CONNECT-TO-INET-SOCKET.
      o Add docs for ACCEPT-NETWORK-STREAM and OPEN-NETWORK-STREAM.
      o Fix docs for CREATE-UNIX-LISTENER---the function doesn't actually
        have REUSE-ADDRESS keyword arg.
      
      general-info/release-19f.txt:
      o Update with new network info.
      070993a4
  26. Jul 21, 2008
  27. Jul 18, 2008
  28. Jul 15, 2008
  29. Jul 14, 2008
    • rtoy's avatar
      Fix for Trac #17: LOOP NAMED NIL has no effect · f452db1b
      rtoy authored
      code/loop.lisp:
      o In LOOP-TRANSLATE, create block for loop named NIL by checking for
        the end of the list, not for NIL in the list.
      o In LOOP-DO-NAMED, don't append NIL to *LOOP-NAMES* so we can create
        blocks named NIL.  (Why was this being done before?)
      
      general-info/release-19f.txt:
      o Update
      f452db1b
Loading