[Gsll-devel] inverse of cl-array
Niitsuma Hirotaka
hirotaka.niitsuma at gmail.com
Tue Feb 10 10:09:40 UTC 2009
I can not find convert function
#A(...) -> #m(...)
( cl-array is conversion #m -> #a )
Thus I write the following ,but that looks slow.
--------------
(defun coerce-array-to-list (in-array)
(map 'list
#'identity
(make-array (array-total-size in-array)
:element-type (array-element-type in-array)
:displaced-to in-array)))
;borrow from http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/a925ca60d88d4047/cc06e579dfe840a7?lnk=gst&q=displaced+array
(defun appropriate-name (element-type ar)
(make-marray element-type :dimensions (array-dimensions ar)
:initial-contents (coerce-array-to-list ar))
)
---------------
usage:
( appropriate-name 'double-float #2A((1.0d0 2.0d0) (2.0d0 5.0d0)))
->
#m((1.0d0 2.0d0) (2.0d0 5.0d0)))
More information about the gsll-devel
mailing list