source: packages/toms715.asd @ 1114:ecf57855e891

Last change on this file since 1114:ecf57855e891 was 1114:ecf57855e891, checked in by Raymond Toy <toy.raymond@…>, 4 years ago

Oops. Can't use toms715:: because the package doesn't exist yet.

File size: 3.6 KB
Line 
1;;; -*- Mode: lisp -*-
2;;;
3;;; $Id$
4;;;
5
6(defpackage toms715-system
7  (:use #:cl #:asdf))
8
9(in-package #:toms715-system)
10
11;; Defsystem for d1mach and i1mach
12(defsystem mach-par
13    :components
14    ((:file "d1mach")
15     (:file "i1mach")))
16
17
18(defclass toms715-fortran-file (cl-source-file)
19  ()
20  (:default-initargs :type "f"))
21
22(defun fortran-compile (op c &key (array-slicing t) (array-type :array) package)
23  (let ((file (component-pathname c)))
24    (f2cl:f2cl-compile file
25                       :output-file (first (output-files op c))
26                       :array-slicing array-slicing
27                       :array-type array-type
28                       :package package)))
29
30(defmethod perform ((op compile-op) (c toms715-fortran-file))
31  (fortran-compile op c :package "TOMS715"))
32
33(defmethod perform ((op load-op) (c toms715-fortran-file))
34  (load (first (input-files op c))))
35
36(defsystem machar
37  :components
38  ((:file "machar")))
39
40(defsystem toms715
41  :depends-on ("machar")
42  :pathname "toms/"
43  :components
44  ((:module package
45            :pathname "715/"
46            :components
47            ((:file "package")))
48   (:module "715"
49            :depends-on ("package")
50            :default-component-class toms715-fortran-file
51            :components
52            (
53             (:file "anorm")
54             (:file "besei0" :depends-on ("calci0"))
55             (:file "besei1" :depends-on ("calci1"))
56             (:file "besek0" :depends-on ("calck0"))
57             (:file "besek1" :depends-on ("calck1"))
58             (:file "besi0" :depends-on ("calci0"))
59             (:file "besi1" :depends-on ("calci1"))
60             (:file "besj0" :depends-on ("caljy0"))
61             (:file "besj1" :depends-on ("caljy1"))
62             (:file "besk0" :depends-on ("calck0"))
63             (:file "besk1" :depends-on ("calck1"))
64             (:file "besy0" :depends-on ("caljy0"))
65             (:file "besy1" :depends-on ("caljy1"))
66             (:file "calcei")
67             (:file "calci0")
68             (:file "calci1")
69             (:file "calck0")
70             (:file "calck1")
71             (:file "calerf")
72             (:file "caljy0")
73             (:file "caljy1")
74             (:file "daw")
75             (:file "derf")
76             (:file "derfc")
77             (:file "derfcx")
78             (:file "dgamma")
79             (:file "dlgama")
80             (:file "dsubn")
81             (:file "ei")
82             (:file "eone")
83             (:file "expei")
84             (:file "psi")
85             (:file "ren")
86             (:file "ribesl")
87             (:file "rjbesl")
88             (:file "rkbesl")
89             (:file "rybesl")
90             ))))
91
92(defmethod perform ((op test-op) (c (eql (find-system :toms715))))
93    (oos 'test-op "toms715-tests"))
94
95(defsystem toms715-tests
96  :depends-on ("toms715")
97  :pathname "toms/"
98  :components
99  ((:module "715"
100            :default-component-class toms715-fortran-file
101            :components
102            (
103             (:file "algtst")
104             (:file "anrtst")
105             (:file "dawtst")
106             (:file "eitest")
107             (:file "erftst")
108             (:file "gamtst")
109             (:file "i0test")
110             (:file "i1test")
111             (:file "j0test")
112             (:file "j1test")
113             (:file "k0test")
114             (:file "k1test")
115             (:file "psitst")
116             (:file "ritest")
117             (:file "rjtest")
118             (:file "rktest")
119             (:file "rytest")
120             (:file "y0test")
121             (:file "y1test")
122             ))))
123
124
125(defmethod perform ((op test-op) (c (eql (find-system "toms715-tests"))))
126  (dolist (test '(algtst
127                  anrtst
128                  dawtst
129                  eitest
130                  erftst
131                  gamtst
132                  i0test
133                  i1test
134                  j0test
135                  j1test
136                  k0test
137                  k1test
138                  psitst
139                  ritest
140                  rjtest
141                  rktest
142                  rytest
143                  y0test
144                  y1test))
145    (let ((f2cl-lib::*stop-signals-error-p* nil))
146      ;; What do we really want here?  Some tests are expected to
147      ;; signal errors and we do.  But we don't want asdf to stop the
148      ;; tests.  So we just ignore all errors and expect the user to
149      ;; look through the results to see if they make sense.
150      (ignore-errors (funcall (find-symbol test "TOMS715"))))))
Note: See TracBrowser for help on using the repository browser.