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