I ran into another file that won't compile with ECL 11.1.1 as I've been
trying to build maxima. I've attached the file for your inspection
because after looking it over, I don't see the problem. It looks like
the compiler is complaining about (CCV 0.0) is not a legal function
name, when in fact (CCV is a variable with an init-form for
initialization. I'm still learning to work with common lisp, so I may be
incorrect here.
The make error I get when trying to build is:
; - Compiling source file
;
"/home/pfb/my-maxima-git-ecl-sandbox/maxima/src/numerical/slatec/djairy.lisp"
;;;
;;; Compiling
/home/pfb/my-maxima-git-ecl-sandbox/maxima/src/numerical/slatec/djairy.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2
;;;
;;; Error:
;;; in file djairy.lisp, position 719
;;; at (LET (# # ...) ...)
;;; * (CCV 0.0) is not a legal function name.
; - Binary file binary-ecl/numerical/slatec/djairy.fas is old or
does not exist.
; Compile (and load) source file
/home/pfb/my-maxima-git-ecl-sandbox/maxima/src/numerical/slatec/djairy.lisp
instead? y
; - Should I bother you if this happens again? y
; - Compiling source file
;
"/home/pfb/my-maxima-git-ecl-sandbox/maxima/src/numerical/slatec/djairy.lisp"
;;;
;;; Compiling
/home/pfb/my-maxima-git-ecl-sandbox/maxima/src/numerical/slatec/djairy.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2
;;;
;;; Error:
;;; in file djairy.lisp, position 719
;;; at (LET (# # ...) ...)
;;; * (CCV 0.0) is not a legal function name.
; - Loading binary file "binary-ecl/numerical/slatec/djairy.fas"
An error occurred during initialization:
Filesystem error with pathname
#P"/home/pfb/my-maxima-git-ecl-sandbox/maxima/src/binary-ecl/numerical/slatec/djairy.fas".
Either
1) the file does not exist, or
2) we are not allowed to access the file, or
3) the pathname points to a broken symbolic link..
make[1]: *** [binary-ecl/maxima] Error 1
make[1]: Leaving directory `/home/pfb/my-maxima-git-ecl-sandbox/maxima/src'
make: *** [all-recursive] Error 1
;;; Compiled by f2cl version:
;;; ("f2cl1.l,v 1.215 2009/04/07 22:05:21 rtoy Exp $"
;;; "f2cl2.l,v 1.37 2008/02/22 22:19:33 rtoy Exp $"
;;; "f2cl3.l,v 1.6 2008/02/22 22:19:33 rtoy Exp $"
;;; "f2cl4.l,v 1.7 2008/02/22 22:19:34 rtoy Exp $"
;;; "f2cl5.l,v 1.200 2009/01/19 02:38:17 rtoy Exp $"
;;; "f2cl6.l,v 1.48 2008/08/24 00:56:27 rtoy Exp $"
;;; "macros.l,v 1.112 2009/01/08 12:57:19 rtoy Exp $")
;;; Using Lisp CMU Common Lisp 19f (19F)
;;;
;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
;;; (:coerce-assigns :as-needed) (:array-type ':simple-array)
;;; (:array-slicing nil) (:declare-common nil)
;;; (:float-format double-float))
(in-package :slatec)
(let ((n1 14)
(n2 23)
(n3 19)
(n4 15)
(m1 12)
(m2 21)
(m3 17)
(m4 13)
(fpi12 1.30899693899575)
(con2 5.03154716196777)
(con3 0.380004589867293)
(con4 0.833333333333333)
(con5 0.866025403784439)
(ak1
(make-array 14
:element-type 'double-float
:initial-contents '(0.220423090987793 -0.1252902427877
0.0103881163359194 8.22844152006343e-4
-2.34614345891226e-4 1.63824280172116e-5
3.06902589573189e-7 -1.29621999359332e-7
8.22908158823668e-9 1.53963968623298e-11
-3.39165465615682e-11
2.03253257423626e-12
-1.10679546097884e-14
-5.1616949778508e-15)))
(ak2
(make-array 23
:element-type 'double-float
:initial-contents '(0.274366150869598 0.00539790969736903
-0.0015733922062119 4.2742752824875e-4
-1.12124917399925e-4 2.88763171318904e-5
-7.36804225370554e-6 1.87290209741024e-6
-4.75892793962291e-7 1.21130416955909e-7
-3.09245374270614e-8 7.92454705282654e-9
-2.03902447167914e-9
5.26863056595742e-10
-1.36704767639569e-10
3.56141039013708e-11
-9.3138829654843e-12
2.44464450473635e-12
-6.43840261990955e-13
1.70106030559349e-13
-4.50760104503281e-14
1.19774799164811e-14
-3.19077040865066e-15)))
(ak3
(make-array 14
:element-type 'double-float
:initial-contents '(0.280271447340791 -0.00178127042844379
4.03422579628999e-5 -1.63249965269003e-6
9.21181482476768e-8 -6.52294330229155e-9
5.47138404576546e-10
-5.2440825180026e-11
5.60477904117209e-12
-6.56375244639313e-13
8.31285761966247e-14
-1.12705134691063e-14
1.62267976598129e-15
-2.46480324312426e-16)))
(ajp
(make-array 19
:element-type 'double-float
:initial-contents '(0.0778952966437581 -0.184356363456801
0.0301412605216174 0.0305342724277608
-0.00495424702513079
-0.00172749552563952 2.4313763783919e-4
5.04564777517082e-5 -6.16316582695208e-6
-9.03986745510768e-7 9.70243778355884e-8
1.09639453305205e-8 -1.04716330588766e-9
-9.60359441344646e-11
8.25358789454134e-12
6.36123439018768e-13
-4.96629614116015e-14
-3.29810288929615e-15
2.35798252031104e-16)))
(ajn
(make-array 19
:element-type 'double-float
:initial-contents '(0.0380497887617242 -0.245319541845546
0.165820623702696 0.0749330045818789
-0.0263476288106641 -0.00592535597304981
0.00144744409589804 2.18311831322215e-4
-4.10662077680304e-5
-4.66874994171766e-6 7.1521880727716e-7
6.52964770854633e-8 -8.44284027565946e-9
-6.44186158976978e-10
7.20802286505285e-11
4.72465431717846e-12
-4.66022632547045e-13
-2.67762710389189e-14
2.36161316570019e-15)))
(a
(make-array 15
:element-type 'double-float
:initial-contents '(0.490275424742791 0.00157647277946204
-9.66195963140306e-5 1.35916080268815e-7
2.98157342654859e-7 -1.86824767559979e-8
-1.03685737667141e-9
3.28660818434328e-10
-2.5709141063278e-11
-2.32357655300677e-12
9.57523279048255e-13
-1.20340828049719e-13
-2.90907716770715e-15
4.55656454580149e-15
-9.99003874810259e-16)))
(b
(make-array 15
:element-type 'double-float
:initial-contents '(0.278593552803079 -0.00352915691882584
-2.31149677384994e-5 4.7131784226356e-6
-1.12415907931333e-7
-2.00100301184339e-8 2.60948075302193e-9
-3.55098136101216e-11
-3.50849978423875e-11
5.83007187954202e-12
-2.04644828753326e-13
-1.10529179476742e-13
2.87724778038775e-14
-2.88205111009939e-15
-3.32656311696166e-16)))
(n1d 14)
(n2d 24)
(n3d 19)
(n4d 15)
(m1d 12)
(m2d 22)
(m3d 17)
(m4d 13)
(dak1
(make-array 14
:element-type 'double-float
:initial-contents '(0.204567842307887 -0.0661322739905664
-0.00849845800989287 0.00312183491556289
-2.70016489829432e-4
-6.35636298679387e-6 3.02397712409509e-6
-2.18311195330088e-7
-5.36194289332826e-10 1.1309803562231e-9
-7.43023834629073e-11
4.28804170826891e-13
2.23810925754539e-13
-1.39140135641182e-14)))
(dak2
(make-array 24
:element-type 'double-float
:initial-contents '(0.29333234388323 -0.00806196784743112
0.0024254017233314 -6.82297548850235e-4
1.85786427751181e-4 -4.97457447684059e-5
1.32090681239497e-5 -3.49528240444943e-6
9.24362451078835e-7 -2.44732671521867e-7
6.4930783764891e-8 -1.72717621501538e-8
4.60725763604656e-9 -1.2324905529155e-9
3.30620409488102e-10
-8.89252099772401e-11
2.39773319878298e-11
-6.4801392115345e-12
1.75510132023731e-12
-4.76303829833637e-13
1.2949824110081e-13 -3.5267962221043e-14
9.62005151585923e-15
-2.62786914342292e-15)))
(dak3
(make-array 14
:element-type 'double-float
:initial-contents '(0.284675828811349 0.0025307307261908
-4.83481130337976e-5 1.84907283946343e-6
-1.01418491178576e-7 7.05925634457153e-9
-5.85325291400382e-10
5.56357688831339e-11 -5.908890947795e-12
6.88574353784436e-13
-8.68588256452194e-14
1.17374762617213e-14
-1.68523146510923e-15
2.55374773097056e-16)))
(dajp
(make-array 19
:element-type 'double-float
:initial-contents '(0.0653219131311457 -0.120262933688823
0.00978010236263823 0.0167948429230505
-0.00197146140182132
-8.45560295098867e-4 9.42889620701976e-5
2.25827860945475e-5 -2.29067870915987e-6
-3.76343991136919e-7 3.45663933559565e-8
4.29611332003007e-9
-3.58673691214989e-10
-3.57245881361895e-11
2.72696091066336e-12
2.26120653095771e-13
-1.58763205238303e-14
-1.12604374485125e-15
7.31327529515367e-17)))
(dajn
(make-array 19
:element-type 'double-float
:initial-contents '(0.0108594539632967 0.0853313194857091
-0.315277068113058 -0.0878420725294257
0.0553251906976048 0.00941674060503241
-0.00332187026018996
-4.11157343156826e-4 1.01297326891346e-4
9.87633682208396e-6 -1.87312969812393e-6
-1.50798500131468e-7 2.32687669525394e-8
1.59599917419225e-9
-2.07665922668385e-10
-1.24103350500302e-11
1.39631765331043e-12 7.3940097115574e-14
-7.328874756275e-15)))
(da
(make-array 15
:element-type 'double-float
:initial-contents '(0.491627321104601 0.00311164930427489
8.23140762854081e-5 -4.61769776172142e-6
-6.13158880534626e-8 2.8729580465652e-8
-1.81959715372117e-9
-1.44752826642035e-10
4.53724043420422e-11
-3.99655065847223e-12
-3.24089119830323e-13
1.62098952568741e-13
-2.40765247974057e-14
1.69384811284491e-16
8.17900786477396e-16)))
(db
(make-array 15
:element-type 'double-float
:initial-contents '(-0.277571356944231 0.0044421283341992
-8.42328522190089e-5 -2.5804031841871e-6
3.42389720217621e-7 -6.24286894709776e-9
-2.36377836844577e-9
3.16991042656673e-10
-4.40995691658191e-12
-5.18674221093575e-12
9.64874015137022e-13
-4.9019057660871e-14
-1.77253430678112e-14
5.55950610442662e-15
-7.1179333757953e-16))))
(declare (type (f2cl-lib:integer4) n1 n2 n3 n4 m1 m2 m3 m4 n1d n2d n3d n4d
m1d m2d m3d m4d)
(type (double-float) fpi12 con2 con3 con4 con5)
(type (simple-array double-float (14)) ak1 ak3 dak1 dak3)
(type (simple-array double-float (23)) ak2)
(type (simple-array double-float (19)) ajp ajn dajp dajn)
(type (simple-array double-float (15)) a b da db)
(type (simple-array double-float (24)) dak2))
(defun djairy (x rx c ai dai)
(declare (type (double-float) dai ai c rx x))
(prog ((ccv 0.0) (cv 0.0) (ec 0.0) (e1 0.0) (e2 0.0) (f1 0.0) (f2 0.0)
(rtrx 0.0) (scv 0.0) (t$ 0.0) (temp1 0.0) (temp2 0.0) (tt 0.0) (i 0)
(j 0))
(declare (type (f2cl-lib:integer4) j i)
(type (double-float) tt temp2 temp1 t$ scv rtrx f2 f1 e2 e1 ec
cv ccv))
(if (< x 0.0) (go label90))
(if (> c 5.0) (go label60))
(if (> x 1.2) (go label30))
(setf t$ (* (- (+ x x) 1.2) con4))
(setf tt (+ t$ t$))
(setf j n1)
(setf f1 (f2cl-lib:fref ak1 (j) ((1 14))))
(setf f2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m1) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref ak1 (j) ((1 14)))))
(setf f2 temp1)
label10))
(setf ai (+ (- (* t$ f1) f2) (f2cl-lib:fref ak1 (1) ((1 14)))))
(setf j n1d)
(setf f1 (f2cl-lib:fref dak1 (j) ((1 14))))
(setf f2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m1d) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref dak1 (j) ((1 14)))))
(setf f2 temp1)
label20))
(setf dai (- (+ (- (* t$ f1) f2) (f2cl-lib:fref dak1 (1) ((1 14))))))
(go end_label)
label30
(setf t$ (* (- (+ x x) con2) con3))
(setf tt (+ t$ t$))
(setf j n2)
(setf f1 (f2cl-lib:fref ak2 (j) ((1 23))))
(setf f2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m2) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref ak2 (j) ((1 23)))))
(setf f2 temp1)
label40))
(setf rtrx (f2cl-lib:fsqrt rx))
(setf ec (exp (- c)))
(setf ai
(/ (* ec (+ (- (* t$ f1) f2) (f2cl-lib:fref ak2 (1) ((1 23)))))
rtrx))
(setf j n2d)
(setf f1 (f2cl-lib:fref dak2 (j) ((1 24))))
(setf f2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m2d) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref dak2 (j) ((1 24)))))
(setf f2 temp1)
label50))
(setf dai
(* (- ec)
(+ (- (* t$ f1) f2) (f2cl-lib:fref dak2 (1) ((1 24))))
rtrx))
(go end_label)
label60
(setf t$ (- (/ 10.0 c) 1.0))
(setf tt (+ t$ t$))
(setf j n1)
(setf f1 (f2cl-lib:fref ak3 (j) ((1 14))))
(setf f2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m1) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref ak3 (j) ((1 14)))))
(setf f2 temp1)
label70))
(setf rtrx (f2cl-lib:fsqrt rx))
(setf ec (exp (- c)))
(setf ai
(/ (* ec (+ (- (* t$ f1) f2) (f2cl-lib:fref ak3 (1) ((1 14)))))
rtrx))
(setf j n1d)
(setf f1 (f2cl-lib:fref dak3 (j) ((1 14))))
(setf f2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m1d) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref dak3 (j) ((1 14)))))
(setf f2 temp1)
label80))
(setf dai
(* (- rtrx)
ec
(+ (- (* t$ f1) f2) (f2cl-lib:fref dak3 (1) ((1 14))))))
(go end_label)
label90
(if (> c 5.0) (go label120))
(setf t$ (- (* 0.4 c) 1.0))
(setf tt (+ t$ t$))
(setf j n3)
(setf f1 (f2cl-lib:fref ajp (j) ((1 19))))
(setf e1 (f2cl-lib:fref ajn (j) ((1 19))))
(setf f2 0.0)
(setf e2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m3) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf temp2 e1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref ajp (j) ((1 19)))))
(setf e1 (+ (- (* tt e1) e2) (f2cl-lib:fref ajn (j) ((1 19)))))
(setf f2 temp1)
(setf e2 temp2)
label100))
(setf ai
(- (+ (- (* t$ e1) e2) (f2cl-lib:fref ajn (1) ((1 19))))
(* x (+ (- (* t$ f1) f2) (f2cl-lib:fref ajp (1) ((1 19)))))))
(setf j n3d)
(setf f1 (f2cl-lib:fref dajp (j) ((1 19))))
(setf e1 (f2cl-lib:fref dajn (j) ((1 19))))
(setf f2 0.0)
(setf e2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m3d) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf temp2 e1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref dajp (j) ((1 19)))))
(setf e1 (+ (- (* tt e1) e2) (f2cl-lib:fref dajn (j) ((1 19)))))
(setf f2 temp1)
(setf e2 temp2)
label110))
(setf dai
(+ (* x x (+ (- (* t$ f1) f2) (f2cl-lib:fref dajp (1) ((1 19)))))
(+ (- (* t$ e1) e2) (f2cl-lib:fref dajn (1) ((1 19))))))
(go end_label)
label120
(setf t$ (- (/ 10.0 c) 1.0))
(setf tt (+ t$ t$))
(setf j n4)
(setf f1 (f2cl-lib:fref a (j) ((1 15))))
(setf e1 (f2cl-lib:fref b (j) ((1 15))))
(setf f2 0.0)
(setf e2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m4) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf temp2 e1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref a (j) ((1 15)))))
(setf e1 (+ (- (* tt e1) e2) (f2cl-lib:fref b (j) ((1 15)))))
(setf f2 temp1)
(setf e2 temp2)
label130))
(setf temp1 (+ (- (* t$ f1) f2) (f2cl-lib:fref a (1) ((1 15)))))
(setf temp2 (+ (- (* t$ e1) e2) (f2cl-lib:fref b (1) ((1 15)))))
(setf rtrx (f2cl-lib:fsqrt rx))
(setf cv (- c fpi12))
(setf ccv (cos cv))
(setf scv (sin cv))
(setf ai (/ (- (* temp1 ccv) (* temp2 scv)) rtrx))
(setf j n4d)
(setf f1 (f2cl-lib:fref da (j) ((1 15))))
(setf e1 (f2cl-lib:fref db (j) ((1 15))))
(setf f2 0.0)
(setf e2 0.0)
(f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
((> i m4d) nil)
(tagbody
(setf j (f2cl-lib:int-sub j 1))
(setf temp1 f1)
(setf temp2 e1)
(setf f1 (+ (- (* tt f1) f2) (f2cl-lib:fref da (j) ((1 15)))))
(setf e1 (+ (- (* tt e1) e2) (f2cl-lib:fref db (j) ((1 15)))))
(setf f2 temp1)
(setf e2 temp2)
label140))
(setf temp1 (+ (- (* t$ f1) f2) (f2cl-lib:fref da (1) ((1 15)))))
(setf temp2 (+ (- (* t$ e1) e2) (f2cl-lib:fref db (1) ((1 15)))))
(setf e1 (+ (* ccv con5) (* 0.5 scv)))
(setf e2 (- (* scv con5) (* 0.5 ccv)))
(setf dai (* (- (* temp1 e1) (* temp2 e2)) rtrx))
(go end_label)
end_label
(return (values nil nil nil ai dai)))))
(in-package #-gcl #:cl-user #+gcl "CL-USER")
#+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
(eval-when (:load-toplevel :compile-toplevel :execute)
(setf (gethash 'fortran-to-lisp::djairy
fortran-to-lisp::*f2cl-function-info*)
(fortran-to-lisp::make-f2cl-finfo
:arg-types '((double-float) (double-float) (double-float)
(double-float) (double-float))
:return-values '(nil nil nil fortran-to-lisp::ai
fortran-to-lisp::dai)
:calls 'nil)))
------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list