Previous File Previous Page Single Page Next Page Next File

* NAME BASIC-MTHPAK DOC. 70181832000 REV. A PAGE 37

1290 * 1291 * 1292 * NATURAL LOGARITHM FUNCTION 1293 * 1294 * CALLING SEQEUNCE: 1295 * 1296 * JST LOGF 1297 * DAC ARG POINTER TO ARGUMENT 1298 * ......RETURN LN(ARG) IN A AND B REGISTERS 1299 * 1300 * 1301 * THE ARGUMENT IS LOADED AND IF IT IS LESS THAN OR EQUAL TO 1302 * ZERO, AN LG ERROR IS FLAGGED. THE HIGH WORD OF THE ARGUMENT IS 1303 * SAVED, AND THE EXPONENT OF THE ARGUMENT IS SET TO ONE PLUS THE 1304 * BIAS. ONE IS SUBTRACTED FROM THE ARGUMENT, AND A POLYNOMIAL IS 1305 * EVALUATED IN THE DIRRERENCE WITH THE FOLLOWING COEFFICIENTS: C0=0, 1306 * C1=.9999964, C2=-.4998741, C3=.331799, C4=-.2407338, C5=.1676541, 1307 * C6=-.09532939, C7=.03608849, C8=-.006453544. THE EXPONENT IS 1308 * EXTRACTED FROM THE HIGH WORD OF THE ORIGINAL ARGUMENT, AND THE 1309 * BIAS PLUS ONE IS SUBTRACTED FROM IT. IT IS CONVERTED TO A FLOATING 1310 * POINT NUMBER AND THEN DIVIDED BY THE LOGARITHM OF E TO THE BASE 1311 * TWO. THE POLYNOMIAL RESULT IS ADDED TO THE QUOTIENT FOR THE 1312 * FUNCTION RESULT. 1313 * 1314 * 1315 01023 0 000000 LOGF DAC ** ENTRY 1316 01024 0 02 01023 LDA LOGF 1317 01025 0 10 00070 JST LARG LOAD THE ARGUMENT 1318 01026 0 11 01060 CAS F0 COMPARE WITH ZERO 1319 01027 0 01 01033 JMP *+4 IF GREATER SKIP NEXT FEW LINES 1320 01030 101000 NOP 1321 01031 0 10 00000 JST ERR IF NOT, FLAG AN LG ERROR 1322 01032 146307 BCI 1,LG 1323 01033 0 04 01170 STA Z2 SAVE THE HIGH WORD OF THE ARGUMENT 1324 01034 0414 77 LGL 1 SHIFT EXPONENT OF ARGUMENT INTO FIRST 8 BIT 1325 01035 141050 CAL CLEAR THE EXPONENT 1326 01036 0404 77 LGR 1 REFORMAT 1327 01037 0 05 01106 ERA LMSK SET THE EXPONENT TO ONE PLUS THE BIAS 1328 01040 0 10 00277 JST S$22 SUBTRACT ONE 1329 01041 0 001144 DAC F1 1330 01042 0 10 01172 JST FPLY EVALUATE THE POLYNOMIAL 1331 01043 0 001102 DAC LG01 1332 01044 0 10 00104 JST H$22 SAVE THE RESULT AS Z0 1333 01045 0 001221 DAC Z0 1334 01046 0 02 01170 LDA Z2 LOAD HIGH WORD OF ORIGINAL ARGUMENT 1335 01047 0 07 01106 SUB LMSK SUBTRACT BIAS PLUS ONE FROM THE EXPONENT 1336 01050 0405 71 ARS 7 RIGHT JUSTIFY THE EXPONENT 1337 01051 0 10 00573 JST FINT CONVERT IT TO A FLOATING POINT NUMBER 1338 01052 0 10 00361 JST D$22 DIVIDE IT BY LOG OF E TO 1339 01053 0 001104 DAC LG2E THE BASE 2
Previous File Previous Page Single Page Next Page Next File