Custom Query (1030 matches)
Results (505 - 507 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #707 | fixed | spurious floating-point exceptions | ||
| 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 | ||
| 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 | ||
| 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.
|
|||
Note:
See TracQuery
for help on using queries.
