Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | / |
2 | / | |
3 | / A T A N | |
4 | / - - - - | |
5 | / | |
6 | /SUBROUTINE ATAN(X) | |
7 | / | |
8 | / VERSION 5A 4-27-77 PT | |
9 | / | |
10 | SECT ATAN | |
11 | JA #ATAN | |
12 | TEXT +ATAN + | |
13 | ATANXR, SETX XRATAN | |
14 | SETB BPATAN | |
15 | BPATAN, F 0.0 | |
16 | XRATAN, F 0.0 | |
17 | ATAN1, F 0.0 | |
18 | ATAN22, F 0.0 | |
19 | ATAN3, F 0.0 | |
20 | ATAN4, F 0.0 | |
21 | F1ATAN, F 1. | |
22 | ORG 10*3+BPATAN | |
23 | FNOP | |
24 | JA ATANXR | |
25 | 0 | |
26 | ATNRTN, JA . | |
27 | / | |
28 | ATANC1, -15 /LOWER LIMIT TEST. | |
29 | 2000 | |
30 | 0000 | |
31 | / | |
32 | ATANC2, 0 /UPPER LIMIT TEST. | |
33 | 3777 | |
34 | 7000 | |
35 | / | |
36 | ATANC3, -1 | |
37 | 2111 | |
38 | 4121 | |
39 | / | |
40 | ATANC4, 1 | |
41 | 3355 | |
42 | 4754 | |
43 | / | |
44 | ATANC5, 0 | |
45 | 2060 | |
46 | 2511 | |
47 | / | |
48 | ATANC6, -3 | |
49 | 3023 | |
50 | 1227 | |
51 | / | |
52 | ATANC7, -2 | |
53 | 5566 | |
54 | 7220 | |
55 | / | |
56 | ATANC8, -2 | |
57 | 3146 | |
58 | 0740 | |
59 | / | |
60 | ATANC9, -1 | |
61 | 5252 | |
62 | 5262 | |
63 | / | |
64 | ATANCH, 1 | |
65 | 3110 | |
66 | 3755 | |
67 | / | |
68 | ATANCJ, F -4. | |
69 | BASE 0 | |
70 | #ATAN, STARTD | |
71 | FLDA 10*3 | |
72 | FSTA ATNRTN | |
73 | FLDA 0 | |
74 | SETX XRATAN | |
75 | SETB BPATAN | |
76 | BASE BPATAN | |
77 | LDX 1,1 | |
78 | FSTA BPATAN | |
79 | FLDA% BPATAN,1 /ADDR OF X | |
80 | FSTA BPATAN | |
81 | STARTF | |
82 | FLDA% BPATAN /GET X | |
83 | LDX -1,0 /REMEMBER SIGN | |
84 | JGE .+5 | |
85 | LDX 0,0 /SAVE THE SIGN. | |
86 | FNEG /NEGATE THE FAC [ABS] | |
87 | FSTA ATAN1 /AND STORE AWAY. | |
88 | FSTA ATAN22 | |
89 | FSUB ATANC1 /TEST TO SEE IF TOO SMALL. | |
90 | JLE ATANBG /IT IS. ATAN(X)=X | |
91 | FSUB ATANC2 /TEST TO SEE IF TOO BIG. | |
92 | JLE ATANLW /IT ISNT. | |
93 | FLDA F1ATAN /TO BIG. INVERT IT. | |
94 | FDIV ATAN1 | |
95 | FSTA ATAN1 | |
96 | / | |
97 | ATANLW, FCLA /CLEAR OUT TEMP. | |
98 | FSTA ATAN3 | |
99 | FLDA ATAN1 /RECALL NUMBER. | |
100 | FSUB ATANC3 /START THE KNOCKING OFF PROCESS. | |
101 | JLT ATANNT /WRONG SECTOR. | |
102 | FLDA ATANC4 /BOP UP ORIGINAL. | |
103 | FADDM ATAN1 | |
104 | FLDA ATANCJ /GET MAGIC NUMBER. | |
105 | FDIV ATAN1 | |
106 | FADD ATANC4 | |
107 | FSTA ATAN1 | |
108 | FLDA ATANC5 | |
109 | FSTA ATAN3 | |
110 | / | |
111 | ATANNT, FLDA ATAN1 /RECALL AND SQUARE IT. | |
112 | FMUL ATAN1 | |
113 | FSTA ATAN4 /YET ANOTHER TEMP. | |
114 | FLDA ATANC6 | |
115 | FMUL ATAN4 | |
116 | FADD ATANC7 | |
117 | FMUL ATAN4 | |
118 | FADD ATANC8 | |
119 | FMUL ATAN4 | |
120 | FADD ATANC9 | |
121 | FMUL ATAN4 | |
122 | FADD F1ATAN | |
123 | FMUL ATAN1 | |
124 | FADD ATAN3 | |
125 | FSTA ATAN1 | |
126 | FLDA ATAN22 | |
127 | FSUB F1ATAN | |
128 | JLE ATANBG | |
129 | FLDA ATANCH | |
130 | FSUB ATAN1 | |
131 | JA .+3 | |
132 | / | |
133 | ATANBG, FLDA ATAN1 | |
134 | JXN ATNRTN,0 | |
135 | FNEG | |
136 | JA ATNRTN | |
137 | \f |