Custom Query (1030 matches)
Results (202 - 204 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #372 | invalid | Problem with basic arithmetic | ||
| Description |
Hard to believe but this is what I'm getting: ? (= (+ .6 .8) 1.4) NIL ? (+ .8 .6) 1.4000001 ? (+ .6 .8) 1.4000001 ? (+ .6 .8 .1) 1.5000001 ? (- .8 .6) 0.19999999 I do not see this for other numbers, e.g. ? (+ .6 .9) 1.5 ? (+ .6 .7) 1.3 .6 and .8 somehow have to be involved, but this is not systematic: e.g. ? (+ .1 .6 .8) 1.5 I tried other numbers but could not find similar behavior for addition, but for substraction i'm also getting: ? (- .9 .6) 0.29999995 ? (- .6 .9) -0.29999995 ? (- .6 .5) 0.100000024 ? (- .7 .8) -0.100000024 I also seem to getting similar problems with multiplication but only with numbers 0<x<1 and with one decimal this is one particular terminal test session: $ ccl Welcome to Clozure Common Lisp Version 1.2-r11241M (DarwinX8664)! ? (= (+ .6 .8) 1.4) NIL ? (= (+ .6 .9) 1.5) T ? (+ .6 .8) 1.4000001 ? (+ .6 .9) 1.5 ? (+ .6 .7) 1.3 ? (+ .8 .6) 1.4000001 ? (+ .5 .6) 1.1 ? (+ .8 .6 .1) 1.5000001 ? (- .6 .8) -0.19999999 ? (- .5 .8) -0.3 ? (- .6 .6) 0.0 ? (- .6 .7) -0.099999964 ? (* .1 .1) 0.010000001 ? (* 1 1) 1 ? (* 2 .1) 0.2 ? (* 1.1 1.1) 1.21 ? (* 1.1 .1) 0.11000001 ? (* .2 .2) 0.040000003 ? (* .1 1) 0.1 ? (* .1 .1111) 0.01111 ? (* .1 .11) 0.011 ? (* .1 .1) 0.010000001 ? (* .11 .11) 0.0121
platform: Mac OS X 10.5.5 on 64bit intel What could be the problem here? |
|||
| #373 | fixed | x86 ports: invalid numerical comparisons | ||
| Description |
Incorrect code seems to be generated for comparisons with a bignum. Welcome to Clozure Common Lisp Version 1.3-dev-r11281M (LinuxX8632)!
? (defun tax (income)
(declare (type (integer 0 1000000) income))
(if (> income 1000000000) 1 0))
TAX
? (tax 10)
1
|
|||
| #374 | fixed | struct accessors are incorrect with struct option (:type (vector single-float)) | ||
| Description |
Hi, i came across the following when trying to do some maths with clozure: (defstruct (foo (:type (vector single-float))) (x 0s0 :type single-float) (y 0s0 :type single-float)) (defun bar (v) (foo-y v)) (bar (make-foo :x 1s0 :y 1s0)) ;; => 1.0907007E-40 i think the code is correct,so this is a ccl bug. |
|||
