* 2008-11-17 :
- CLOCC の f2cl パッケージに BLAS と LAPACK があるのを見つけたので、試してみた。
- 結果: 動かなかった。
- sbcl の場合、FORTRANのソース内で変数名がTのところの、変数の型が違うとエラーが出る。
- でも、FORTRANのソースからトランスレートされたlispのソース内では「t$」になっていて、変数がTの所は見当たらず。(dlamach.f, dlamach.lisp)
- clisp の場合、ちょっと手を入れてロードまで成功。
- テストを動かしてみると何故か zero division error。
- よく分からないので放置。
(in-package :cl-user) ;(setf custom:*parse-namestring-ansi* t) (defvar *clocc-root* nil) (setf *clocc-root* (namestring (merge-pathnames "local/share/common-lisp/source/clocc/" (user-homedir-pathname)))) (compile-file (merge-pathnames "clocc" *clocc-root*)) (load (merge-pathnames "clocc" *clocc-root*)) (compile-file (translate-logical-pathname "clocc:src;defsystem;defsystem")) (load (translate-logical-pathname "clocc:src;defsystem;defsystem")) ;; * compile some systems (dolist (l '("clocc:src;port;" "clocc:src;cllib;" "clocc:src;ext;queues;" "clocc:src;port;configuration;" "clocc:src;port;environment;" "clocc:src;ext;union-find;" "clocc:src;tools;metering;" "clocc:src;f2cl;" "clocc:src;f2cl;packages;")) (mk:add-registry-location (translate-logical-pathname l))) (mk:oos "port" :compile) ;(mk:oos "metering" :compile) ;(mk:oos "cllib" :compile) (mk:oos "f2cl" :compile) (mk:oos "blas" :compile) (mk:oos "lapack" :compile) (load (merge-pathnames "local/share/common-lisp/source/clocc/src/f2cl/packages/lapack/lapack-tests.lisp" (user-homedir-pathname)))
Index: packages/blas.system =================================================================== RCS file: /cvsroot/clocc/clocc/src/f2cl/packages/blas.system,v retrieving revision 1.8 diff -r1.8 blas.system 61c61,64 < :source-pathname (pathname "blas:") --- > :source-pathname > #-clisp (pathname "blas:") > #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas")) > (make-pathname :directory (pathname-directory *load-pathname*))) 66c69,72 < :source-pathname (pathname "blas:") --- > :source-pathname > #-clisp (pathname "blas:") > #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas")) > (make-pathname :directory (pathname-directory *load-pathname*))) 86c92,95 < :source-pathname (pathname "blas:") --- > :source-pathname > #-clisp (pathname "blas:") > #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas")) > (make-pathname :directory (pathname-directory *load-pathname*))) 158c167,170 < :source-pathname (pathname "blas:") --- > :source-pathname > #-clisp (pathname "blas:") > #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas")) > (make-pathname :directory (pathname-directory *load-pathname*))) 206c218,221 < :source-pathname (pathname "blas:") --- > :source-pathname > #-clisp (pathname "blas:") > #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas")) > (make-pathname :directory (pathname-directory *load-pathname*)))
update : 2008-11-18 (Tue) 00:16:52