1 ;;; -*- Mode: lisp; Package: CL-USER -*-
4 ;;; Defsystem for COLNEW. Everything should compile from the Lisp
5 ;;; sources. See colnew-lisp.system for how to create the Lisp
6 ;;; sources from the original Fortran.
7 (in-package #-gcl #:cl-user #+gcl "CL-USER")
9 ;; Defsystem for colnew.
11 :source-pathname (maxima::maxima-load-pathname-directory)
12 :binary-pathname (maxima::maxima-objdir "share" "colnew"
13 (concatenate 'string "binary-" maxima::*maxima-lispname*))
14 :source-extension "lisp"
19 ((:file "colnew-package")))
21 :depends-on ("package")
24 ;; Linpack routines needed by colnew
26 :depends-on ("daxpy" "ddot"))
28 :depends-on ("idamax" "dscal" "daxpy"))
29 ;; BLAS routines needed by above
34 ;; Simple compatibility to define all of the needed
35 ;; common blocks in one place.
37 ;; COLNEW itself, broken down into one subroutine per
40 :depends-on ("compat" "consts" "newmsh" "contrl"))
42 :depends-on ("compat" "lsyslv" "skale" "errchk" "newmsh"))
44 :depends-on ("compat"))
46 :depends-on ("compat" "approx" "horder"))
48 :depends-on ("compat" "vmonde" "rkbas"))
51 :depends-on ("compat" "vwblok" "gblock" "gderiv" "fcblok"
55 :depends-on ("compat" "dgesl" "dgefa"))
57 :depends-on ("compat" "dgesl"))
60 :depends-on ("compat"))
62 :depends-on ("compat"))
64 :depends-on ("compat"))
67 :depends-on ("factrb" "shiftb"))
69 :depends-on ("factrb" "shiftb"))
73 :depends-on ("subfor" "subbak"))
77 (mk:defsystem colnew-if
78 :source-pathname (maxima::maxima-load-pathname-directory)
79 :binary-pathname (maxima::maxima-objdir "share" "colnew"
80 (concatenate 'string "binary-" maxima::*maxima-lispname*))
81 :source-extension "lisp"
82 :depends-on ("colnew")
84 ((:file "colnew-if")))
86 ;;; Here are some sample tests of colnew. They all work and produce
87 ;;; results that match the Fortran code.
89 ;;; Note that because each test uses the same common block names and
90 ;;; function names, you need to be careful when running more than one
91 ;;; test in the same session. It might be best to restart maxima
94 ;; Test problem 1. This works. Use (colnew::*main*) to run the test.
95 (mk:defsystem colnew-ex1
96 :source-pathname (maxima::maxima-load-pathname-directory)
97 :binary-pathname (maxima::maxima-objdir "share" "colnew"
98 (concatenate 'string "binary-" maxima::*maxima-lispname*))
99 :source-extension "lisp"
100 :depends-on ("colnew")
105 :depends-on ("fsub" "dfsub" "gsub" "dgsub" "exact"))
112 ;; Test problem 2. This works. Use (colnew::*main*) to run the test.
113 (mk:defsystem colnew-ex2
114 :source-pathname (maxima::maxima-load-pathname-directory)
115 :binary-pathname (maxima::maxima-objdir "share" "colnew"
116 (concatenate 'string "binary-" maxima::*maxima-lispname*))
117 :source-extension "lisp"
118 :depends-on ("colnew")
123 :depends-on ("fsub" "dfsub" "gsub" "dgsub" "solutn"))
130 ;; Test problem 3. This works. Use (colnew::*main*) to run the test.
131 (mk:defsystem colnew-ex3
132 :source-pathname (maxima::maxima-load-pathname-directory)
133 :binary-pathname (maxima::maxima-objdir "share" "colnew"
134 (concatenate 'string "binary-" maxima::*maxima-lispname*))
135 :source-extension "lisp"
136 :depends-on ("colnew")
141 :depends-on ("fsub" "dfsub" "gsub" "dgsub" "solutn"))