Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (430 - 432 of 1030)

Ticket Resolution Summary Owner Reporter
#707 fixed spurious floating-point exceptions R. Matthew Emerson R. Matthew Emerson
Description

It looks like some exception flags get left on in the MXCSR somehow.

/* fp.c -- compile with cc -shared fp.c -o fp.dylib */

double rme_fdiv(double x, double y)
{
    return x / y;
}

double rme_nan()
{
    return rme_fdiv(0.0, 0.0);
}

From lisp:

? (open-shared-library "/Users/rme/fp.dylib")
#<SHLIB /Users/rme/fp.dylib #x30200053443D>
? (external-call "rme_nan" :double-float)
1D+-0 #| not-a-number |#
? (log 1 2)
> Error: FLOATING-POINT-INVALID-OPERATION detected
>        performing LOG on (1.0)
> While executing: %FP-ERROR-FROM-STATUS, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > :pop

? (log 1 2)
0.0
?
#708 fixed Incorrect arithmetic for LOGAND with type declarations R. Matthew Emerson Eric Marsden
Description
% openmcl
Welcome to Clozure Common Lisp Version 1.6-dev-r14031M (LinuxX8664)!
? (defun one (B)
  (DECLARE (TYPE (INTEGER 51357426816569 68500595286128) B))
  (LOGAND B -2))
ONE
? (defun two (B)
  (LOGAND B -2))
TWO
? (- (one 67660763903986) (two 67660763903986))
-63262717391456
#709 fixed Clean up bindings in saved image R. Matthew Emerson gz
Description

The following should be done at some point.

(in-package "CCL")

(defun remove-extra-symbol-binding-indices ()
 (let* ((n 0))
   (do-all-symbols (s n)
     (let* ((bits (%symbol-bits s))
            (idx (symbol-binding-index s)))
       (unless (zerop idx)
         (unless (and
                  (not (or (logbitp $sym_vbit_const bits)
                           (logbitp $sym_vbit_global bits)))
                  (or (logbitp $sym_vbit_special bits)
                      (let* ((name (symbol-name s))
                             (len (length name)))
                        (and (> len 1)
                             (let* ((initial (schar name 0))
                                    (final (schar name (1- len))))
                               (and (eql initial final)
                                    (or (and (eql initial #\*))
                                        (eql initial #\%))))))))
           (incf n)
           ;; Pretend that the symbol is DEFGLOBALED, to
           ;; persuade ENSURE-BINDING-INDEX to remove
           ;; the symbol from its inverse mapping.
           (%symbol-bits s (logior $sym_vbit_global bits))
           (ensure-binding-index s)
           (%symbol-bits s bits)))))))

Doing:

1) update to the current trunk, especially including the changes to nfcomp.lisp
  in r13745.  Rebuild the image with these changes in effect.

2) In a new image, note that

? (ccl::next-binding-index)

returns a value likely > 13000, then call REMOVE-EXTRA-SYMBOL-BINDING-INDICES
and do a full/clean rebuild.  Quit and load the (new) new image.

3) In that (new) new image, (ccl::next-binding-index) should return ~900.
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.