1 ;;; -*- Mode: Lisp; Package: Macsyma -*-
2 ;;; Translated code for LMIVAX::MAX$DISK:[SHARE2]DIFFEQ.MC;4
3 ;;; Written on 9/15/1984 01:39:05, from MACSYMA 302
6 ;;; TRANSL-AUTOLOAD version NIL
7 ;;; TRANSS version 87 TRANSL version 1157 TRUTIL version 27
8 ;;; TRANS1 version 108 TRANS2 version 39 TRANS3 version 50
9 ;;; TRANS4 version 29 TRANS5 version 26 TRANSF version NIL
10 ;;; TROPER version 15 TRPRED version 6 MTAGS version NIL
11 ;;; MDEFUN version 58 TRANSQ version 88 FCALL version 40
12 ;;; ACALL version 70 TRDATA version 68 MCOMPI version 146
13 ;;; TRMODE version 73 TRHOOK version NIL
14 (eval-when (compile eval
)
15 (setq *infile-name-key
*
16 (namestring (truename '#.standard-input
))))
19 (setq $tr_semicompile
'NIL
)
20 (setq forms-to-compile-queue
()))
22 (comment "MAX$DISK:[SHARE2]DIFFEQ.MC;4")
24 ;;; General declarations required for translated MACSYMA code.
26 (DECLARE (SPECIAL $LISTARITH $ARGL $DIFFEQ_RUNTIME $X_WE_ARE_CALCULATING
))
28 (DEFMTRFUN-EXTERNAL ($FLOATCHECK $ANY MDEFINE NIL NIL
))
30 (DECLARE (SPECIAL $X_WE_ARE_CALCULATING
))
32 (DECLARE (SPECIAL $DIFFEQ_RUNTIME
))
34 (DEFMTRFUN-EXTERNAL ($RUNGE1 $ANY MDEFINE NIL NIL
))
36 (DEFMTRFUN-EXTERNAL ($RUNGE1_INTERNAL $ANY MDEFINE NIL NIL
))
38 (DEFMTRFUN-EXTERNAL ($RUNGE2 $ANY MDEFINE NIL NIL
))
40 (DEFMTRFUN-EXTERNAL ($RUNGE2_INTERNAL $ANY MDEFINE NIL NIL
))
42 (PUTPROP 'MAPLIST_TR
(OR (GET 'MARRAYREF
'AUTOLOAD
) T
) 'AUTOLOAD
)
44 (DEFMTRFUN-EXTERNAL ($RUNGEN $ANY MDEFINE NIL NIL
))
46 (DEF-MTRVAR $ARGL
'((MLIST)) 1)
48 (DEFMTRFUN-EXTERNAL ($VAPPLY $ANY MDEFINE NIL NIL
))
50 (DEFMTRFUN-EXTERNAL ($RUNGEN_INTERNAL $ANY MDEFINE NIL NIL
))
53 (DEFPROP $FLOATCHECK T TRANSLATED
)
55 (ADD2LNC '$FLOATCHECK $PROPS
)
58 ($FLOATCHECK $ANY MDEFINE NIL NIL
) ($X
) NIL
60 NIL
(SETQ $X
($FLOAT $X
))
62 ((NOT (MFUNCTION-CALL $NUMBERP $X
))
64 (MFUNCTION-CALL $ERROR $X
'|
¬ a floating point number.|
))))
67 (MEVAL* '(($MODEDECLARE
) (($FUNCTION
) $FLOATCHECK
) $FLOAT
))
69 (MEVAL* '(($MODEDECLARE
) $X_WE_ARE_CALCULATING $ANY
))
71 (MEVAL* '(($DECLARE
) $X_WE_ARE_CALCULATING $SPECIAL
))
73 (DEF-MTRVAR $X_WE_ARE_CALCULATING
'|
&WE ARE NOT CALCULATING|
)
75 (MEVAL* '(($MODEDECLARE
) $DIFFEQ_RUNTIME $ANY
))
77 (MEVAL* '(($DECLARE
) $DIFFEQ_RUNTIME $SPECIAL
))
80 $DIFFEQ_RUNTIME
(SIMPLIFY (MAPPLY-TR '$STATUS
'((MLIST) $RUNTIME
))))
82 (DEFPROP $RUNGE1 T TRANSLATED
)
84 (ADD2LNC '$RUNGE1 $PROPS
)
87 ($RUNGE1 $ANY MDEFINE NIL NIL
) ($F $X0 $X1 $H $Y0
) NIL
89 (PROGN (SETQ $X0
(MFUNCTION-CALL $FLOATCHECK $X0
))
90 (SETQ $X1
(MFUNCTION-CALL $FLOATCHECK $X1
))
91 (SETQ $H
(MFUNCTION-CALL $FLOATCHECK $H
))
92 (SETQ $Y0
(MFUNCTION-CALL $FLOATCHECK $Y0
)))
93 (SIMPLIFY (MFUNCTION-CALL $RUNGE1_INTERNAL $F $X0 $X1 $H $Y0
))))
95 (DEFPROP $RUNGE1_INTERNAL T TRANSLATED
)
97 (ADD2LNC '$RUNGE1_INTERNAL $PROPS
)
100 ($RUNGE1_INTERNAL $ANY MDEFINE NIL NIL
)
101 ($F $X0 $X1 $H $Y0
) (DECLARE (FLONUM $Y0 $H $X1 $X0
))
104 ((LAMBDA ($Y_LIST $X_LIST $YP_LIST $K1 $K2 $K3 $K4
)
105 (DECLARE (FLONUM $K4 $K3 $K2 $K1
))
107 (DO (($X $X0
(+$ $H $X
))) ((> $X $X1
) '$DONE
)
108 (SETQ $X_WE_ARE_CALCULATING $X
)
109 (SETQ $Y_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $Y0 $Y_LIST
)))
110 (SETQ $X_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $X $X_LIST
)))
111 (SETQ $K1
(MFUNCALL $F $X $Y0
))
112 (SETQ $YP_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $K1 $YP_LIST
)))
113 (SETQ $K1
(*$ $H $K1
))
118 $F
(+$ $X
(|
//$| $H
2.0d
+0)) (+$ $Y0
(|
//$| $K1
2.0d
+0)))))
123 $F
(+$ $X
(|
//$| $H
2.0d
+0)) (+$ $Y0
(|
//$| $K2
2.0d
+0)))))
124 (SETQ $K4
(*$ $H
(MFUNCALL $F
(+$ $X $H
) (+$ $Y0 $K3
))))
128 $Y0
(|
//$|
(+$ $K1 $K2
) 6.0d
+0) (|
//$|
(+$ $K2 $K3
) 3.0d
+0))))
129 (SETQ $X_WE_ARE_CALCULATING
'|
&WE ARE NOT CALCULATING|
)
130 (LIST '(MLIST) (SIMPLIFY (MFUNCTION-CALL $REVERSE $X_LIST
))
131 (SIMPLIFY (MFUNCTION-CALL $REVERSE $Y_LIST
))
132 (SIMPLIFY (MFUNCTION-CALL $REVERSE $YP_LIST
))))
133 '((MLIST)) '((MLIST)) '((MLIST)) 0.0D
+0 0.0D
+0 0.0D
+0 0.0D
+0)))
135 (DEFPROP $RUNGE2 T TRANSLATED
)
137 (ADD2LNC '$RUNGE2 $PROPS
)
140 ($RUNGE2 $ANY MDEFINE NIL NIL
) ($F $X0 $X1 $H $Y0 $YP0
) NIL
143 (PROGN (SETQ $X0
(MFUNCTION-CALL $FLOATCHECK $X0
))
144 (SETQ $X1
(MFUNCTION-CALL $FLOATCHECK $X1
))
145 (SETQ $H
(MFUNCTION-CALL $FLOATCHECK $H
))
146 (SETQ $Y0
(MFUNCTION-CALL $FLOATCHECK $Y0
))
147 (SETQ $YP0
(MFUNCTION-CALL $FLOATCHECK $YP0
)))
148 (SIMPLIFY (MFUNCTION-CALL $RUNGE2_INTERNAL $F $X0 $X1 $H $Y0 $YP0
))))
150 (DEFPROP $RUNGE2_INTERNAL T TRANSLATED
)
152 (ADD2LNC '$RUNGE2_INTERNAL $PROPS
)
155 ($RUNGE2_INTERNAL $ANY MDEFINE NIL NIL
)
156 ($F $X0 $X1 $H $Y0 $YP0
) (DECLARE (FLONUM $YP0 $Y0 $H $X1 $X0
))
159 ((LAMBDA ($Y_LIST $X_LIST $YP_LIST $YPP_LIST $K1 $K2 $K3 $K4 $TEMP
)
160 (DECLARE (FLONUM $TEMP $K4 $K3 $K2 $K1
))
162 (DO (($X $X0
(+$ $H $X
))) ((> $X $X1
) '$DONE
)
163 (SETQ $X_WE_ARE_CALCULATING $X
)
164 (SETQ $Y_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $Y0 $Y_LIST
)))
165 (SETQ $X_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $X $X_LIST
)))
166 (SETQ $YP_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $YP0 $YP_LIST
)))
167 (SETQ $K1
(MFUNCALL $F $X $Y0 $YP0
))
168 (SETQ $YPP_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $K1 $YPP_LIST
)))
169 (SETQ $K1
(*$ $H $K1
))
175 $F
(+$ $X
(|
//$| $H
2.0d
+0))
176 (+$ $Y0
(*$
(|
//$| $H
2.0d
+0) (+$ $YP0
(|
//$| $K1
4.0d
+0))))
177 (+$ $YP0
(|
//$| $K1
2.0d
+0)))))
183 $F
(+$ $X
(|
//$| $H
2.0d
+0))
184 (+$ $Y0
(*$
(|
//$| $H
2.0d
+0) (+$ $YP0
(|
//$| $K2
4.0d
+0))))
185 (+$ $YP0
(|
//$| $K2
2.0d
+0)))))
190 $F
(+$ $X $H
) (+$ $Y0
(*$ $H
(+$ $YP0
(|
//$| $K3
2.0d
+0))))
194 (+$ $YP0
(|
//$|
(+$ $K1
(*$
2.0d
+0 (+$ $K2 $K3
)) $K4
) 6.0d
+0)))
196 $Y0
(+$ $Y0
(*$ $H
(+$ $YP0
(|
//$|
(+$ $K1 $K2 $K3
) 6.0d
+0)))))
198 (SETQ $X_WE_ARE_CALCULATING
'|
&WE ARE NOT CALCULATING|
)
199 (LIST '(MLIST) (SIMPLIFY (MFUNCTION-CALL $REVERSE $X_LIST
))
200 (SIMPLIFY (MFUNCTION-CALL $REVERSE $Y_LIST
))
201 (SIMPLIFY (MFUNCTION-CALL $REVERSE $YP_LIST
))
202 (SIMPLIFY (MFUNCTION-CALL $REVERSE $YPP_LIST
))))
203 '((MLIST)) '((MLIST)) '((MLIST)) '((MLIST))
204 0.0D
+0 0.0D
+0 0.0D
+0 0.0D
+0 0.0D
+0)))
206 (DEFPROP $RUNGEN T TRANSLATED
)
208 (ADD2LNC '$RUNGEN $PROPS
)
211 ($RUNGEN $ANY MDEFINE NIL NIL
) ($FL $XA $XB $H $YAL
) NIL
215 (DECLARE (FIXNUM $ORDER
))
217 (COND ((NOT (= $ORDER
(MFUNCTION-CALL $LENGTH $YAL
)))
220 $ERROR
'|
&Wrong number of initial values| $FL $YAL
))))
221 (PROGN (SETQ $XA
(MFUNCTION-CALL $FLOATCHECK $XA
))
222 (SETQ $XB
(MFUNCTION-CALL $FLOATCHECK $XB
))
223 (SETQ $H
(MFUNCTION-CALL $FLOATCHECK $H
)))
224 (SETQ $YAL
(MAPLIST_TR '$FLOATCHECK $YAL
))
225 (SIMPLIFY (MFUNCTION-CALL $RUNGEN_INTERNAL $FL $XA $XB $H $YAL
)))
226 (MFUNCTION-CALL $LENGTH $FL
))))
228 (DEFPROP $VAPPLY T TRANSLATED
)
230 (ADD2LNC '$VAPPLY $PROPS
)
233 ($VAPPLY $ANY MDEFINE NIL NIL
) ($FL $ARGL
) NIL
237 (M-TLAMBDA ($F
) NIL NIL
238 (SIMPLIFY (MAPPLY-TR $F
(TRD-MSYMEVAL $ARGL
'((MLIST))))))
241 (MEVAL* '(($DECLARE
) $LISTARITH $SPECIAL
))
243 (DEFPROP $RUNGEN_INTERNAL T TRANSLATED
)
245 (ADD2LNC '$RUNGEN_INTERNAL $PROPS
)
248 ($RUNGEN_INTERNAL $ANY MDEFINE NIL NIL
)
249 ($F $XA $XB $H $YA
) (DECLARE (FLONUM $H $XB $XA
))
252 ((LAMBDA ($Y_LIST $X_LIST $YP_LIST $K1 $K2 $K3 $K4 $LISTARITH
)
255 (DO (($X $XA
(+$ $H $X
))) ((> $X $XB
) '$DONE
)
256 (SETQ $X_WE_ARE_CALCULATING $X
)
257 (SETQ $Y_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $YA $Y_LIST
)))
258 (SETQ $X_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $X $X_LIST
)))
262 $VAPPLY $F
(SIMPLIFY (MFUNCTION-CALL $CONS $X $YA
)))))
263 (SETQ $YP_LIST
(SIMPLIFY (MFUNCTION-CALL $CONS $K1 $YP_LIST
)))
264 (SETQ $K1
(MUL* $H $K1
))
272 (SIMPLIFY (MFUNCTION-CALL $CONS
(+$ $X
(|
//$| $H
2.0d
+0))
273 (ADD* $YA
(DIV $K1
2.0d
+0))))))))
281 (SIMPLIFY (MFUNCTION-CALL $CONS
(+$ $X
(|
//$| $H
2.0d
+0))
282 (ADD* $YA
(DIV $K2
2.0d
+0))))))))
290 (MFUNCTION-CALL $CONS
(+$ $X $H
) (ADD* $YA $K3
)))))))
294 $YA
(DIV (ADD* $K1 $K2
) 6.0d
+0) (DIV (ADD* $K2 $K3
) 3.0d
+0))))
295 (SETQ $X_WE_ARE_CALCULATING
'|
&WE ARE NOT CALCULATING|
)
296 (LIST '(MLIST) (SIMPLIFY (MFUNCTION-CALL $REVERSE $X_LIST
))
297 (SIMPLIFY (MFUNCTION-CALL $REVERSE $Y_LIST
))
298 (SIMPLIFY (MFUNCTION-CALL $REVERSE $YP_LIST
))))
299 '((MLIST)) '((MLIST)) '((MLIST)) '((MLIST))
300 '((MLIST)) '((MLIST)) '((MLIST)) T
)))
302 (compile-forms-to-compile-queue)