Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | / |
2 | / | |
3 | / D L O G | |
4 | / - - - - | |
5 | / | |
6 | / VERSION 5A 4-27-77 PT | |
7 | / | |
8 | /LOGE(X) | |
9 | / | |
10 | /X=2^N*F | |
11 | / | |
12 | /LOGE(X) | |
13 | /= N*LOGE(2)+LOGE(F) | |
14 | / | |
15 | / | |
16 | SECT DLOG | |
17 | JA #DALOG | |
18 | DPCHK | |
19 | / | |
20 | /IF X<=0 - IT IS AN ERROR | |
21 | EXTERN #ARGER | |
22 | DALERR, TRAP4 #ARGER | |
23 | / | |
24 | TEXT +DLOG + | |
25 | DALXR, SETX XRDAL | |
26 | SETB BPDAL | |
27 | BPDAL, F 0.0 | |
28 | XRDAL, F 0.0 | |
29 | F 0.0 | |
30 | ORG 10*3+BPDAL | |
31 | FNOP | |
32 | JA DALXR | |
33 | 0 | |
34 | DALRTN, JA . | |
35 | N, F 0.0 | |
36 | F 0.0 | |
37 | F, F 0.0 | |
38 | F 0.0 | |
39 | DAL1, F 1.0 | |
40 | F 0.0 | |
41 | / | |
42 | DT7, 7776 /1/7 | |
43 | 2222 | |
44 | 2222 | |
45 | 2222 | |
46 | 2222 | |
47 | 2221 | |
48 | DT6, 7776 /-1/6 | |
49 | 5252 | |
50 | 5252 | |
51 | 5252 | |
52 | 5252 | |
53 | 5252 | |
54 | DT5, 7776 /1/5 | |
55 | 3146 | |
56 | 3146 | |
57 | 3146 | |
58 | 3146 | |
59 | 3146 | |
60 | DT4, 7776 /-1/4 | |
61 | 4000 | |
62 | 0 | |
63 | 0 | |
64 | 0 | |
65 | 0 | |
66 | DT3, 7777 /1/3 | |
67 | 2525 | |
68 | 2525 | |
69 | 2525 | |
70 | 2525 | |
71 | 2524 | |
72 | DT2, 7777 /-1/2 | |
73 | 4000 | |
74 | 0 | |
75 | 0 | |
76 | 0 | |
77 | 0 | |
78 | / | |
79 | A0, F 1.84375 | |
80 | F 0.0 | |
81 | A1, F 1.65625 | |
82 | F 0.0 | |
83 | A2, F 1.500 | |
84 | F 0.0 | |
85 | A3, F 1.375 | |
86 | F 0.0 | |
87 | A4, F 1.250 | |
88 | F 0.0 | |
89 | A5, F 1.1875 | |
90 | F 0.0 | |
91 | A6, F 1.09375 | |
92 | F 0.0 | |
93 | A7, F 1.03125 | |
94 | F 0.0 | |
95 | LA0, 0 /.6118015411059928976 | |
96 | 2344 | |
97 | 7603 | |
98 | 2325 | |
99 | 4250 | |
100 | 3144 | |
101 | LA1, 0 /.5045560107523952859 | |
102 | 2011 | |
103 | 2512 | |
104 | 4551 | |
105 | 3503 | |
106 | 7657 | |
107 | LA2, 7777 /.4054651081081643810 | |
108 | 3174 | |
109 | 6217 | |
110 | 5457 | |
111 | 7141 | |
112 | 1370 | |
113 | LA3, 7777 /.3184537311185346147 | |
114 | 2430 | |
115 | 3057 | |
116 | 0207 | |
117 | 0573 | |
118 | 0232 | |
119 | LA4, 7776 /.2231435513142097553 | |
120 | 3443 | |
121 | 7737 | |
122 | 0746 | |
123 | 5150 | |
124 | 4146 | |
125 | LA5, 7776 /.1718502569266592214 | |
126 | 2577 | |
127 | 6301 | |
128 | 6051 | |
129 | 7117 | |
130 | 2356 | |
131 | LA6, 7775 /.08961215868968712374 | |
132 | 2674 | |
133 | 1512 | |
134 | 1271 | |
135 | 2655 | |
136 | 1272 | |
137 | LA7, 7773 /.030771658666753687 | |
138 | 3740 | |
139 | 5154 | |
140 | 1636 | |
141 | 0313 | |
142 | 7764 | |
143 | D16, F 16.0 | |
144 | F 0.0 | |
145 | D8, F 8.0 | |
146 | F 0.0 | |
147 | CUM, F 0.0 | |
148 | F 0.0 | |
149 | DLOGE2, 0 | |
150 | 2613 | |
151 | 4413 | |
152 | 7676 | |
153 | 4347 | |
154 | 5715 | |
155 | / | |
156 | /PICK UP X | |
157 | BASE 0 | |
158 | #DALOG, STARTD | |
159 | FLDA 10*3 | |
160 | FSTA DALRTN | |
161 | FLDA 0 | |
162 | SETX XRDAL | |
163 | SETB BPDAL | |
164 | BASE BPDAL | |
165 | LDX 1,1 | |
166 | FSTA BPDAL | |
167 | FLDA% BPDAL,1 /ADDRESS | |
168 | FSTA BPDAL | |
169 | STARTE | |
170 | FLDA% BPDAL /AND X | |
171 | JLE DALERR /X <= 0 IS ERROR | |
172 | FSUB DAL1 /SUB 1.0 | |
173 | JNE DALA | |
174 | FCLA /LOG(1)=0 | |
175 | JA DALRTN | |
176 | / | |
177 | DALA, FADD DAL1 /ADD BACK | |
178 | FSTA XRDAL /STORE AT X | |
179 | /EXPONENT STORED IN XR0 | |
180 | /MANTISSA STORED IN XR1-5 | |
181 | /PICK UP EXP + MULTIPLY BY LOGE(2) | |
182 | / | |
183 | XTA 0 | |
184 | FMUL DLOGE2 | |
185 | FSTA N /N*LOGE(2) | |
186 | /XRDAL IS NOW FRACTION IN RANGE .5<=F<1.0 | |
187 | /COMPUTE LOG(F) BY | |
188 | /LOG(F)=LOG(A(K1)*A(K2)...(F))-(LOG(A(K1))+ | |
189 | / LOG(A(K2))...) | |
190 | /FIT F IN A 1/16 RANGE | |
191 | /I.E. 1/2-9/16,9/16-10/16,ETC. | |
192 | /MULTIPLY F BY APPROPRIATE A(K) MULTIPLIER | |
193 | /KEEP RUNNING SUM OF LOG(A(K)) | |
194 | /CONTINUE UNTIL F>1 | |
195 | ||
196 | / | |
197 | LDX 0,0 | |
198 | FLDA XRDAL | |
199 | FSTA F | |
200 | FCLA | |
201 | FSTA CUM | |
202 | DALB, FLDA F | |
203 | FMUL D16 /16 REAL PARTS | |
204 | FSUB D8 /NEED JUST 8 | |
205 | ATX 1 | |
206 | FLDA A0,1 /GET MULTIPLIER | |
207 | FMULM F | |
208 | FLDA LA0,1 /ADD LOG(A(K)) TO SUM | |
209 | FADDM CUM | |
210 | FLDA F | |
211 | FSUB DAL1 | |
212 | JLT DALB | |
213 | /NOW F>1. USE TAYLOR SERIES | |
214 | /LOG(T)=Z-(Z^2)/2+(Z^3)/3+... WHERE Z=T-1 | |
215 | FLDA F | |
216 | FSUB DAL1 /F-1.0 | |
217 | FSTA F | |
218 | FMUL DT7 | |
219 | FADD DT6 | |
220 | FMUL F | |
221 | FADD DT5 | |
222 | FMUL F | |
223 | FADD DT4 | |
224 | FMUL F | |
225 | FADD DT3 | |
226 | FMUL F | |
227 | FADD DT2 | |
228 | FMUL F | |
229 | FADD DAL1 | |
230 | FMUL F | |
231 | FSUB CUM | |
232 | FADD N | |
233 | JA DALRTN | |
234 | \f |