A large commit.
[pdp8.git] / sw / os8 / v3d / sources / fortran / dectapes / dectape2 / carith.ra
1 /COMPLEX ARITHMETIC ROUTINES
2 / (A+BI)+-*/(C+DI)
3 /
4 / VERSION 5A 4-26-77 MH
5 /
6 DPCHK
7 SECT #CAD
8 JA .
9 FSTA #CARG /SAVE SECOND ARG
10 STARTF
11 FLDA #CARG /STARTF ROUNDS
12 FADDM #CAC /A+C
13 FLDA #CARG+3
14 FADDM #CAC+3 /B+D
15 STARTE
16 JA #CAD
17 ENTRY #CSB
18 #CSB, JA .
19 FSTA #CARG
20 STARTF
21 FLDA #CARG /STARTF ROUNDS
22 FNEG
23 FADDM #CAC /A-C
24 FLDA #CAC+3
25 FSUB #CARG+3 /B-D
26 FSTA #CAC+3
27 STARTE
28 JA #CSB
29 ENTRY #CNG
30 #CNG, JA .
31 STARTF
32 FLDA #CAC
33 FNEG
34 FSTA #CAC
35 FLDA #CAC+3
36 FNEG
37 FSTA #CAC+3
38 STARTE
39 JA #CNG
40 ENTRY #CEQ
41 #CEQ, JA .
42 JSA #CSB
43 STARTF
44 FLDA #CAC
45 JNE NOTEQ
46 FLDA #CAC+3
47 JNE NOTEQ
48 FLDA ONE
49 JA #CEQ
50 NOTEQ, FCLA
51 JA #CEQ
52 ONE, F 1.0
53 ENTRY #CML
54 #CML, JA .
55 FSTA #CARG
56 STARTF
57 FLDA #CARG /STARTF ROUNDS
58 FMUL #CAC /A*C
59 FSTA TEMP
60 FLDA #CARG+3
61 FMUL #CAC+3 /B*D
62 FSTA TEMP2
63 FLDA #CARG
64 FMULM #CAC+3 /B*C
65 FLDA #CAC
66 FMUL #CARG+3 /A*D
67 FADDM #CAC+3 /A*D+B*C
68 FLDA TEMP
69 FSUB TEMP2 /A*C-B*D
70 FSTA #CAC
71 STARTE
72 JA #CML
73 ENTRY #CDV
74 #CDV, JA .
75 FSTA #CARG
76 STARTF
77 FLDA #CARG /STARTF ROUNDS
78 FMUL #CAC+3 /B*C
79 FSTA TEMP
80 FLDA #CARG+3
81 FMUL #CAC /A*D
82 FSTA TEMP2
83 FLDA #CARG
84 FMULM #CAC /A*C
85 FLDA #CAC+3
86 FMUL #CARG+3 /B*D
87 FADDM #CAC /A*C+B*D
88 FLDA #CARG
89 FMULM #CARG /C*C
90 FLDA #CARG+3
91 FMUL #CARG+3 /D*D
92 FADDM #CARG /C*C+D*D
93 FLDA TEMP
94 FSUB TEMP2 /B*C-A*D
95 FDIV #CARG /(B*C-A*D)/(C*C+D*D)
96 FSTA #CAC+3
97 FLDA #CAC
98 FDIV #CARG /(A*C+B*D)/(C*C+D*D)
99 FSTA #CAC
100 STARTE
101 JA #CDV
102 TEMP, 0;0;0
103 TEMP2, 0;0;0
104 #CARG, 0;0;0
105 0;0;0
106 ENTRY #CAC
107 #CAC, 0;0;0
108 0;0;0
109 END
110 \f