Commit 54b1bd15 authored by Raymond Toy's avatar Raymond Toy
Browse files

Factor out common items to odepack-blas-util system.

The common routines in odepack-lsode and odepack-lsoda are factored
out into a new odepack-blas-util system.  This system consists of the
BLAS routines and some SLATEC utility routines used by both systems.
parent a981b16f
...@@ -197,8 +197,47 @@ ...@@ -197,8 +197,47 @@
(defmethod perform ((op test-op) (c (eql (find-system "odepack")))) (defmethod perform ((op test-op) (c (eql (find-system "odepack"))))
(oos 'test-op "odedemo-lsode")) (oos 'test-op "odedemo-lsode"))
(defsystem odepack-blas-util
:pathname "odepack/"
:components
((:module "package"
:pathname ""
:components
((:file "package")))
(:module "blas"
:pathname ""
:default-component-class odepack-fortran-file
:components
(
(:file "dgesl"
:depends-on ("daxpy" "ddot"))
(:file "dgbsl"
:depends-on ("daxpy"))
(:file "dgefa"
:depends-on ("idamax" "dscal" "daxpy"))
(:file "dgbfa"
:depends-on ("idamax" "dscal" "daxpy"))
(:file "idamax")
(:file "dscal")
(:file "daxpy")
(:file "ddot")
))
(:module "util"
:pathname ""
:components
((:file "xerrwd"
:depends-on ("ixsav"))
(:file "ixsav"
:depends-on ("iumach"))
(:file "iumach")
(:file "dumach"
:depends-on ("dumsum"))
(:file "dumsum")
))))
(defsystem odepack-lsode (defsystem odepack-lsode
:pathname "odepack/" :pathname "odepack/"
:depends-on ("odepack-blas-util")
:components :components
((:module "package" ((:module "package"
:pathname "" :pathname ""
...@@ -214,43 +253,60 @@ ...@@ -214,43 +253,60 @@
(fortran-compile op c (fortran-compile op c
:common-as-array t :declare-common t)) :common-as-array t :declare-common t))
:depends-on ("dstode" "dewset" "dvnorm" :depends-on ("dstode" "dewset" "dvnorm"
"dintdy" "xerrwd" "dintdy" #+nil "xerrwd"
"dsolsy")) "dsolsy"))
(:file "dsolsy" (:file "dsolsy"
:depends-on ("dgesl" "dgbsl")) ;;:depends-on ("dgesl" "dgbsl")
)
#+nil
(:file "dgbsl" (:file "dgbsl"
:depends-on ("daxpy")) :depends-on ("daxpy"))
(:file "dewset") (:file "dewset")
(:file "dvnorm") (:file "dvnorm")
(:file "dintdy" (:file "dintdy"
:depends-on ("xerrwd")) ;;:depends-on ("xerrwd")
)
#+nil
(:file "xerrwd" (:file "xerrwd"
:depends-on ("ixsav")) :depends-on ("ixsav"))
#+nil
(:file "ixsav" (:file "ixsav"
:depends-on ("iumach")) :depends-on ("iumach"))
#+nil
(:file "iumach") (:file "iumach")
(:file "dstode" (:file "dstode"
:depends-on ("dcfode" "dvnorm" "dprepj")) :depends-on ("dcfode" "dvnorm" "dprepj"))
(:file "dcfode") (:file "dcfode")
(:file "dprepj" (:file "dprepj"
:depends-on ("dgefa" "dgbfa")) ;;:depends-on ("dgefa" "dgbfa")
)
#+nil
(:file "dgefa" (:file "dgefa"
:depends-on ("idamax" "dscal" "daxpy")) :depends-on ("idamax" "dscal" "daxpy"))
#+nil
(:file "dgbfa" (:file "dgbfa"
:depends-on ("idamax" "dscal" "daxpy")) :depends-on ("idamax" "dscal" "daxpy"))
#+nil
(:file "idamax") (:file "idamax")
#+nil
(:file "dscal") (:file "dscal")
#+nil
(:file "daxpy") (:file "daxpy")
#+nil
(:file "dumach" (:file "dumach"
:depends-on ("dumsum")) :depends-on ("dumsum"))
#+nil
(:file "dumsum") (:file "dumsum")
#+nil
(:file "dgesl" (:file "dgesl"
:depends-on ("daxpy" "ddot")) :depends-on ("daxpy" "ddot"))
#+nil
(:file "ddot"))))) (:file "ddot")))))
(defsystem odepack-lsoda (defsystem odepack-lsoda
:pathname "odepack/" :pathname "odepack/"
:depends-on ("odepack-blas-util")
:components :components
((:module "package" ((:module "package"
:pathname "" :pathname ""
...@@ -262,42 +318,56 @@ ...@@ -262,42 +318,56 @@
:components :components
( (
(:file "dlsoda" (:file "dlsoda"
:depends-on ("dstoda" "xerrwd" "dewset" "dmnorm" "dintdy" "dumach" :depends-on ("dstoda" #+nil "xerrwd" "dewset" "dmnorm" "dintdy" #+nil "dumach"
"dsolsy") "dsolsy")
:perform (compile-op :around (op c) :perform (compile-op :around (op c)
(fortran-compile op c (fortran-compile op c
:common-as-array t :declare-common t))) :common-as-array t :declare-common t)))
(:file "dsolsy" (:file "dsolsy"
:depends-on ("dgesl" "dgbsl")) ;;:depends-on ("dgesl" "dgbsl")
)
#+nil
(:file "dgesl" (:file "dgesl"
:depends-on ("daxpy" "ddot")) :depends-on ("daxpy" "ddot"))
#+nil
(:file "dgbsl" (:file "dgbsl"
:depends-on ("daxpy")) :depends-on ("daxpy"))
(:file "dstoda" (:file "dstoda"
:depends-on ("dcfode" "dmnorm" "dprja")) :depends-on ("dcfode" "dmnorm" "dprja"))
(:file "dprja" (:file "dprja"
:depends-on ("dfnorm" "dgefa" "dbnorm" "dgbfa")) :depends-on ("dfnorm" #+nil "dgefa" "dbnorm" #+nil "dgbfa"))
(:file "dfnorm") (:file "dfnorm")
#+nil
(:file "dgefa" (:file "dgefa"
:depends-on ("idamax" "dscal" "daxpy")) :depends-on ("idamax" "dscal" "daxpy"))
(:file "dbnorm") (:file "dbnorm")
#+nil
(:file "dgbfa" (:file "dgbfa"
:depends-on ("idamax" "dscal" "daxpy")) :depends-on ("idamax" "dscal" "daxpy"))
(:file "dcfode") (:file "dcfode")
(:file "dintdy") (:file "dintdy")
(:file "dmnorm") (:file "dmnorm")
(:file "dewset") (:file "dewset")
#+nil
(:file "xerrwd" (:file "xerrwd"
:depends-on ("ixsav")) :depends-on ("ixsav"))
#+nil
(:file "ixsav" (:file "ixsav"
:depends-on ("iumach")) :depends-on ("iumach"))
#+nil
(:file "iumach") (:file "iumach")
#+nil
(:file "dumach" (:file "dumach"
:depends-on ("dumsum")) :depends-on ("dumsum"))
#+nil
(:file "dumsum") (:file "dumsum")
#+nil
(:file "idamax") (:file "idamax")
#+nil
(:file "dscal") (:file "dscal")
#+nil
(:file "daxpy") (:file "daxpy")
#+nil
(:file "ddot") (:file "ddot")
)))) ))))
......
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