A large commit.
[pdp8.git] / sw / os8 / v3d / sources / fortran / all / clog.ra
1 /
2 / C L O G
3 / - - - -
4 /
5 / VERSION 5A 4-27-77 PT
6 /
7 /COMPLEX LOG ROUTINE
8 /
9 /ENTER + EXIT IN COMPLEX
10 /
11 /Z=X+IY
12 /LOG(Z)=LOG(ABS(Z))+I*THETA
13 /ABS(Z)=SQRT(X*X+Y*Y)
14 /THETA=ATAN(Y/X)
15 /
16 /CALLS REAL SQRT,LOG,ATAN2
17 /
18 SECT CLOG
19 JA #CLOG
20 DPCHK
21 TEXT +CLOG +
22 CLOGXR, SETX XR
23 SETB BP
24 JA .+3
25 BP, F 0.0
26 XR, F 0.0
27 F 0.0
28 ARG, F 0.0
29 F 0.0
30 ORG 10*3+BP
31 FNOP
32 JA CLOGXR
33 0
34 RT, JA .
35 BASE 0
36 #CLOG, STARTD
37 FLDA 10*3
38 FSTA RT
39 FLDA 0
40 SETB BP
41 SETX XR
42 BASE BP
43 LDX 1,1
44 FSTA BP
45 FLDA% BP,1
46 FSTA BP
47 STARTE
48 FLDA% BP
49 FSTA ARG
50 STARTF
51 EXTERN ATAN2
52 JSR ATAN2
53 JA CL1
54 JA ARG+3 /ATAN(Y/X)
55 JA ARG
56 CL1, FSTA ETEMP
57 FLDA ARG
58 FMULM ARG
59 FLDA ARG+3
60 FMUL ARG+3 /X*X+Y*Y
61 FADD ARG
62 FSTA ARG
63 EXTERN SQRT
64 JSR SQRT /TAKE SQRT
65 JA CL2
66 JA ARG
67 CL2, FSTA ARG
68 EXTERN ALOG /ALOG(ABS(Z))
69 JSR ALOG
70 JA CL3
71 JA ARG
72 CL3, FSTA ARG /REAL PART
73 FLDA ETEMP /IMAGINARY PART
74 FSTA ARG+3
75 STARTE
76 FLDA ARG
77 FSTA #CAC
78 JA RT
79 EXTERN #CAC
80 ETEMP, F 0.0
81 \f