On Tue, Aug 5, 2008 at 1:29 PM, Mirko Vukovic <
mirko.vukovic@gmail.com> wrote:
> Hello Liam (& others)
>
> I am using SBCL 1.014 and GSL with a timestamp from march of this year.
>
> I am trying to use the lu.lisp library and cannot compile the invert-matrix
> example. The error message is "deleting unreachable code" at the (letm.
> If I comment out the calls to lu-... and (data-inv) and do instead (data
> mmat), then it will compile.
>
> I am including the transcript at the end of this message.
>
> Any clue as to what could be wrong?
>
> Thanks,
>
> Mirko
>
>
> CL-USER> (in-package :gsl)
> #<PACKAGE "GSLL">
> GSL> (defun invert-matrix (mat)
> "Invert the matrix."
> (letm ((mmat (matrix-double-float mat))
> (dim (array-dimension mat 0))
> (per (permutation dim))
> (inv (matrix-double-float dim dim)))
> (lu-decomp mmat per)
> (lu-invert mmat per inv)
> (data inv)))
> ; in: LAMBDA NIL
> ; (GSLL:LETM
> ; ((GSLL::MMAT (GSLL:MATRIX-DOUBLE-FLOAT GSLL::MAT))
> ; (GSLL::DIM (ARRAY-DIMENSION GSLL::MAT 0))
> ; (GSLL::PER (GSLL:PERMUTATION GSLL::DIM))
> ; (GSLL::INV (GSLL:MATRIX-DOUBLE-FLOAT GSLL::DIM GSLL::DIM)))
> ; (GSLL:LU-DECOMP GSLL::MMAT GSLL::PER)
> ; (GSLL:LU-INVERT GSLL::MMAT GSLL::PER GSLL::INV) (GSLL:DATA GSLL::INV))
> ; --> LET* UNWIND-PROTECT FLET BLOCK MULTIPLE-VALUE-BIND
> ; --> MULTIPLE-VALUE-CALL BLOCK SB-C::%WITHIN-CLEANUP RETURN-FROM PROGN
> ; --> UNLESS COND IF PROGN SETF LET*
> ; ==>
> ; GSLL::PER
> ;
> ; note: deleting unreachable code
>
> ; ==>
> ; GSLL::INV
> ;
> ; note: deleting unreachable code
> ;
> ; compilation unit finished
> ; printed 2 notes
> STYLE-WARNING: redefining INVERT-MATRIX in DEFUN
> INVERT-MATRIX
>