Commit | Line | Data |
---|---|---|
81e70d48 PH |
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 |