Hi, I think I found a bug when variables are declared to have complex
(defun foo (x)
(let* ((realpart (realpart x))
(imagpart (imagpart x)))
(declare (type (complex double-float) x))
(complex realpart imagpart)))
(foo #c(1.0d0 2.0d0)) ==> #C(2.0d0 2.0d0)
instead of #C(1.0d0 2.0d0)
If you remove the declare statement then it works. Also if you change
it to (declare (type complex x)) then it works.
This is using sbcl from CVS. Version 0.8.2.22 on darwin.
If anyone is interested, I am working on porting matlisp to sbcl. It
is mostly working, except for some minor issues....