| 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 |