Commit 29562b8b authored by Raymond Toy's avatar Raymond Toy
Browse files

Split up blas.asd into individual asd files.

blas-real.asd:
blas-complex.asd:
o New asd for real and complex parts of blas.

blas-package.asd:
o Update

lapack.asd:
o Load f2cl
parent becbc9ce
;;; -*- Mode: lisp -*-
(require :f2cl)
(defpackage blas-complex-system
(:use #:cl #:asdf))
(in-package #:blas-complex-system)
(defclass blas-complex-fortran-file (cl-source-file)
()
(:default-initargs :type "f"))
(defun fortran-compile (op c &key (array-slicing t) (array-type :array) package declare-common)
(let ((file (component-pathname c)))
(f2cl:f2cl-compile file
:output-file (first (output-files op c))
:array-slicing array-slicing
:array-type array-type
:package package
:relaxed-array-decls nil
:declare-common declare-common
)))
(defmethod perform ((op compile-op) (c blas-complex-fortran-file))
(fortran-compile op c :package "BLAS"))
(defmethod perform ((op load-op) (c blas-complex-fortran-file))
(load (first (input-files op c))))
(defsystem blas-complex
:description "BLAS routines for complex double-float matrices"
:depends-on ("blas-real")
:components
((:module "blas"
:pathname "blas/"
:default-component-class blas-complex-fortran-file
:components
((:file "zaxpy")
(:file "zcopy")
(:file "zdotc")
(:file "zdotu")
(:file "zdscal")
(:file "zgbmv")
(:file "zgemm")
(:file "zgemv")
(:file "zgerc")
(:file "zgeru")
(:file "zhbmv")
(:file "zhemm")
(:file "zhemv")
(:file "zher")
(:file "zher2")
(:file "zher2k")
(:file "zherk")
(:file "zhpmv")
(:file "zhpr")
(:file "zhpr2")
(:file "zrotg")
(:file "zscal")
(:file "zswap")
(:file "zsymm")
(:file "zsyr2k")
(:file "zsyrk")
(:file "ztbmv")
(:file "ztbsv")
(:file "ztpmv")
(:file "ztpsv")
(:file "ztrmm")
(:file "ztrmv")
(:file "ztrsm")
(:file "ztrsv")))))
......@@ -2,8 +2,8 @@
;;;
(asdf:defsystem blas-package
:description "Package definition for BLAS"
:components
((:module package
:pathname "blas"
:components
((:file "blas-package")))))
((:module "blas"
:components
((:file "blas-package")))))
;;; -*- Mode: lisp -*-
(require :f2cl)
(defpackage blas-real-system
(:use #:cl #:asdf))
(in-package #:blas-real-system)
(defclass blas-real-fortran-file (cl-source-file)
()
(:default-initargs :type "f"))
(defun fortran-compile (op c &key (array-slicing t) (array-type :array) package declare-common)
(let ((file (component-pathname c)))
(f2cl:f2cl-compile file
:output-file (first (output-files op c))
:array-slicing array-slicing
:array-type array-type
:package package
:relaxed-array-decls nil
:declare-common declare-common
)))
(defmethod perform ((op compile-op) (c blas-real-fortran-file))
(fortran-compile op c :package "BLAS"))
(defmethod perform ((op load-op) (c blas-real-fortran-file))
(load (first (input-files op c))))
(defsystem blas-real
:description "BLAS routines for real double-float matrices"
:depends-on ("blas-hompack")
:components
((:module "blas"
:default-component-class blas-real-fortran-file
:components
( ;; Here are the rest of the BLAS routines
(:file "dasum")
(:file "dcabs1")
(:file "dgbmv"
:depends-on ("lsame" "xerbla"))
(:file "dgemm"
:depends-on ("lsame" "xerbla"))
(:file "dgemv"
:depends-on ("lsame" "xerbla"))
(:file "dger"
:depends-on ("xerbla"))
(:file "drot")
(:file "drotg")
(:file "dsbmv"
:depends-on ("lsame" "xerbla"))
(:file "dspmv"
:depends-on ("lsame" "xerbla"))
(:file "dspr"
:depends-on ("lsame" "xerbla"))
(:file "dspr2"
:depends-on ("lsame" "xerbla"))
(:file "dswap")
(:file "dsymm"
:depends-on ("lsame" "xerbla"))
(:file "dsymv"
:depends-on ("lsame" "xerbla"))
(:file "dsyr"
:depends-on ("lsame" "xerbla"))
(:file "dsyr2"
:depends-on ("lsame" "xerbla"))
(:file "dsyr2k"
:depends-on ("lsame" "xerbla"))
(:file "dsyrk"
:depends-on ("lsame" "xerbla"))
(:file "dtbmv"
:depends-on ("lsame" "xerbla"))
(:file "dtbsv"
:depends-on ("lsame" "xerbla"))
(:file "dtpmv"
:depends-on ("lsame" "xerbla"))
(:file "dtpsv"
:depends-on ("lsame" "xerbla"))
(:file "dtrmm"
:depends-on ("lsame" "xerbla"))
(:file "dtrmv"
:depends-on ("lsame" "xerbla"))
(:file "dtrsm"
:depends-on ("lsame" "xerbla"))
(:file "dtrsv"
:depends-on ("lsame" "xerbla"))
(:file "dzasum"
:depends-on ("dcabs1"))
(:file "dznrm2")
(:file "icamax")
(:file "isamax")
(:file "izamax"
:depends-on ("dcabs1"))
(:file "lsame")
(:file "xerbla")))))
......@@ -30,6 +30,7 @@
(defmethod perform ((op load-op) (c blas-fortran-file))
(load (first (input-files op c))))
#+nil
(defsystem blas-package
:description "Package definition for BLAS"
:components
......@@ -37,6 +38,7 @@
:components
((:file "blas-package")))))
#+nil
(defsystem blas-hompack
:description "BLAS routines needed by HOMPACK"
:depends-on ("blas-package")
......@@ -54,6 +56,7 @@
(:file "dscal")
(:file "idamax")))))
#+nil
(defsystem blas-real
:description "BLAS routines for real double-float matrices"
:depends-on ("blas-hompack")
......@@ -121,6 +124,7 @@
(:file "lsame")
(:file "xerbla")))))
#+nil
(defsystem blas-complex
:description "BLAS routines for complex double-float matrices"
:depends-on ("blas-real")
......
;;; -*- Mode: lisp -*-
(require :f2cl)
(defpackage lapack-system
(:use #:cl #:asdf))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment