No, not really.  :cl-array was put in for internal use, and
I tried after you posted to comp.lang.lisp (I'm assuming
you are allchemist) and it doesn't work.  I'll need to clean
that up.  I think your use of :data is on the right track
but you'll have to make your array with c-array:make-ffa
if you want to use it in GSL.

In general I think it would be a good idea to be able
easily go back and forth between CL and marrays.
I'm not sure the best way to do that at present and
what changes need to be made.  I'll have to think about
it.   Unfortunately I won't be able to get to this for a
while.

Liam


On Wed, Apr 14, 2010 at 4:26 PM, ivan hohlov <[email protected]> wrote:
> Hi all!
>
> There is a keyword :cl-array for the gsll:make-marray function. Can I
> use it to convert native lisp array into marray?
> I'm trying to do this:
> (defparameter *m* (make-array '(3 3)
>                              :element-type 'single-float
>                              :initial-contents '((1.0 2.0 3.0)
>                                                  (4.0 5.0 6.0)
>                                                  (7.0 8.0 9.0))))
> (gsll:make-marray 'single-float :dimensions '(3 3) :cl-array *m*)
> leads to error "Invalid initialization argument: :cl-array". (sbcl, of course)
> Am I right, using :cl-array in such a way? I have searched for
> examples with thes key, but found nothing.
>
> Also, if I use :data key instead of :cl-array, it works, but tue
> resulting marray couldn't be used in common routines, such as matrix
> multiplication, because it isn't simple-array.
>
> To generalize the problem - Is it possible to convert lisp array to
> gsll marray without copying data?
>
> Thanks

_______________________________________________
Gsll-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/gsll-devel

Reply via email to