File: DLOG.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /D=DLOG(D) DOUBLE PREC. NATURAL LOGARITHM / / / VERSION 50A 28-MAY-80 WVDM / / /LOGE(X) X=2^N*F /LOGE(X) = N*LOGE(2)+LOGE(F) / SECT DLOG 00000 1030 JA #DALOG 00001 0313 DPCHK EXTERN #ARGER 00002 4000 DALERR, TRAP4 #ARGER 00003 0000 00004 0414 TEXT +DLOG + 00005 1707 00006 4040 00007 1100 DALXR, SETX XRDAL 00010 0016 00011 1110 SETB BPDAL 00012 0013 00013 0000 BPDAL, F 0.0 00014 0000 00015 0000 00016 0000 XRDAL, F 0.0 00017 0000 00020 0000 00021 0000 F 0.0 00022 0000 00023 0000 00024 0000 N, F 0.0 00025 0000 00026 0000 00027 0000 F 0.0 00030 0000 00031 0000 00032 0000 F, F 0.0 00033 0000 00034 0000 00035 0000 F 0.0 00036 0000 00037 0000 ORG 10*3+BPDAL 00043 0040 FNOP 00044 1030 JA DALXR 00045 0007 00046 0000 0 00047 1030 DALRTN, JA . 00050 0047 / 00051 0001 DAL1, F 1.0 00052 2000 00053 0000 00054 0000 F 0.0 RALF V50A 8-APR-92 PAGE 1-1 00055 0000 00056 0000 / 00057 7776 DT7, 7776 /1/7 00060 2222 2222 00061 2222 2222 00062 2222 2222 00063 2222 2222 00064 2221 2221 / 00065 7776 DT6, 7776 /-1/6 00066 5252 5252 00067 5252 5252 00070 5252 5252 00071 5252 5252 00072 5252 5252 / 00073 7776 DT5, 7776 /1/5 00074 3146 3146 00075 3146 3146 00076 3146 3146 00077 3146 3146 00100 3146 3146 / 00101 7776 DT4, 7776 /-1/4 00102 4000 4000 00103 0000 0 00104 0000 0 00105 0000 0 00106 0000 0 / 00107 7777 DT3, 7777 /1/3 00110 2525 2525 00111 2525 2525 00112 2525 2525 00113 2525 2525 00114 2524 2524 / 00115 7777 DT2, 7777 /-1/2 00116 4000 4000 00117 0000 0 00120 0000 0 00121 0000 0 00122 0000 0 / 00123 0001 A0, F 1.84375 00124 3540 00125 0000 00126 0000 F 0.0 00127 0000 00130 0000 / 00131 0001 A1, F 1.65625 00132 3240 00133 0000 00134 0000 F 0.0 RALF V50A 8-APR-92 PAGE 1-2 00135 0000 00136 0000 / 00137 0001 A2, F 1.500 00140 3000 00141 0000 00142 0000 F 0.0 00143 0000 00144 0000 / 00145 0001 A3, F 1.375 00146 2600 00147 0000 00150 0000 F 0.0 00151 0000 00152 0000 / 00153 0001 A4, F 1.250 00154 2400 00155 0000 00156 0000 F 0.0 00157 0000 00160 0000 / 00161 0001 A5, F 1.1875 00162 2300 00163 0000 00164 0000 F 0.0 00165 0000 00166 0000 / 00167 0001 A6, F 1.09375 00170 2140 00171 0000 00172 0000 F 0.0 00173 0000 00174 0000 / 00175 0001 A7, F 1.03125 00176 2040 00177 0000 00200 0000 F 0.0 00201 0000 00202 0000 / 00203 0000 LA0, 0 /.6118015411059928976 00204 2344 2344 00205 7603 7603 00206 2325 2325 00207 4250 4250 00210 3144 3144 / 00211 0000 LA1, 0 /.5045560107523952859 00212 2011 2011 00213 2512 2512 00214 4551 4551 RALF V50A 8-APR-92 PAGE 1-3 00215 3503 3503 00216 7657 7657 / 00217 7777 LA2, 7777 /.4054651081081643810 00220 3174 3174 00221 6217 6217 00222 5457 5457 00223 7141 7141 00224 1370 1370 / 00225 7777 LA3, 7777 /.3184537311185346147 00226 2430 2430 00227 3057 3057 00230 0207 0207 00231 0573 0573 00232 0232 0232 / 00233 7776 LA4, 7776 /.2231435513142097553 00234 3443 3443 00235 7737 7737 00236 0746 0746 00237 5150 5150 00240 4146 4146 / 00241 7776 LA5, 7776 /.1718502569266592214 00242 2577 2577 00243 6301 6301 00244 6051 6051 00245 7117 7117 00246 2356 2356 / 00247 7775 LA6, 7775 /.08961215868968712374 00250 2674 2674 00251 1512 1512 00252 1271 1271 00253 2655 2655 00254 1272 1272 / 00255 7773 LA7, 7773 /.030771658666753687 00256 3740 3740 00257 5154 5154 00260 1636 1636 00261 0313 0313 00262 7764 7764 / 00263 0005 D16, F 16.0 00264 2000 00265 0000 00266 0000 F 0.0 00267 0000 00270 0000 / 00271 0004 D8, F 8.0 00272 2000 00273 0000 00274 0000 F 0.0 RALF V50A 8-APR-92 PAGE 1-4 00275 0000 00276 0000 / 00277 0000 CUM, F 0.0 00300 0000 00301 0000 00302 0000 F 0.0 00303 0000 00304 0000 / 00305 0000 DLOGE2, 0 00306 2613 2613 00307 4413 4413 00310 7676 7676 00311 4347 4347 00312 5715 5715 / BASE 0 00313 0006 #DALOG, STARTD /PICK UP X 00314 0210 FLDA 10*3 00315 6400 FSTA DALRTN 00316 0047 00317 0200 FLDA 0 00320 1100 SETX XRDAL 00321 0016 00322 1110 SETB BPDAL 00323 0013 BASE BPDAL 00324 0101 LDX 1,1 00325 0001 00326 6200 FSTA BPDAL 00327 0610 FLDA% BPDAL,1 /ADDRESS 00330 6200 FSTA BPDAL 00331 0050 STARTE 00332 0600 FLDA% BPDAL /AND X 00333 1020 JLE DALERR /X <= 0 IS ERROR 00334 0002 00335 2212 FSUB DAL1 /SUB 1.0 00336 1040 JNE DALA 00337 0343 00340 0002 FCLA /LOG(1)=0 00341 1030 JA DALRTN 00342 0047 / /EXPONENT STORED IN XR0 /MANTISSA STORED IN XR1-5 /PICK UP EXP + MULTIPLY BY LOGE(2), ZAP EXP /XRDAL IS NOW FRACTION IN RANGE .5<=F<1.0 /COMPUTE LOG(F) BY /LOG(F)=LOG(A(K1)*A(K2)...(F))-(LOG(A(K1))+ / LOG(A(K2))...) /FIT F IN A 1/16 RANGE /I.E. 1/2-9/16,9/16-10/16,ETC. /MULTIPLY F BY APPROPRIATE A(K) MULTIPLIER /KEEP RUNNING SUM OF LOG(A(K)) /CONTINUE UNTIL F>1 RALF V50A 8-APR-92 PAGE 1-5 / 00343 0600 DALA, FLDA% BPDAL /GET AGAIN 00344 6201 FSTA XRDAL /STORE AT X 00345 0030 XTA 0 00346 4276 FMUL DLOGE2 00347 6203 FSTA N /N*LOGE(2) 00350 0100 LDX 0,0 /ZAP EXP 00351 0000 00352 0201 FLDA XRDAL 00353 6205 FSTA F 00354 0002 FCLA 00355 6274 FSTA CUM 00356 0205 DALB, FLDA F 00357 4270 FMUL D16 /16 REAL PARTS 00360 2272 FSUB D8 /NEED JUST 8 00361 0021 ATX 1 00362 0410 FLDA LA0,1 /ADD LOG(A(K)) TO SUM 00363 0203 00364 1274 FADD CUM 00365 6274 FSTA CUM 00366 0410 FLDA A0,1 /GET MULTIPLIER 00367 0123 00370 4205 FMUL F 00371 6205 FSTA F 00372 2212 FSUB DAL1 00373 1050 JLT DALB 00374 0356 /NOW F>1. USE TAYLOR SERIES /LOG(T)=Z-(Z^2)/2+(Z^3)/3+... WHERE Z=T-1 00375 6205 FSTA F /F-1.0 00376 4214 FMUL DT7 00377 1216 FADD DT6 00400 4205 FMUL F 00401 1220 FADD DT5 00402 4205 FMUL F 00403 1222 FADD DT4 00404 4205 FMUL F 00405 1224 FADD DT3 00406 4205 FMUL F 00407 1226 FADD DT2 00410 4205 FMUL F 00411 1212 FADD DAL1 00412 4205 FMUL F 00413 2274 FSUB CUM 00414 1203 FADD N 00415 1030 JA DALRTN 00416 0047 RALF V50A 8-APR-92 PAGE 2 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 39 SYMBOLS, NO ABS REFS # C 00000 #ARGER X 00000 #DALOG 00313 #MAIN S 00000 A0 00123 A1 00131 A2 00137 A3 00145 A4 00153 A5 00161 A6 00167 A7 00175 BPDAL 00013 CUM 00277 DALA 00343 DALB 00356 DALERR 00002 DALRTN 00047 DALXR 00007 DAL1 00051 DLOG S 00417 DLOGE2 00305 DT2 00115 DT3 00107 DT4 00101 DT5 00073 DT6 00065 DT7 00057 D16 00263 D8 00271 F 00032 LA0 00203 LA1 00211 LA2 00217 LA3 00225 LA4 00233 LA5 00241 LA6 00247 LA7 00255 N 00024 XRDAL 00016