Lines Matching refs:F
30 | Step 2. X = 2**k * Y where 1 <= Y < 2. Define F to be the first seven
31 | significant bits of Y plus 2**(-7), i.e. F = 1.xxxxxx1 in base
32 | 2 where the six "x" match those of Y. Note that |Y-F| <= 2**(-7).
34 | Step 3. Define u = (Y-F)/F. Approximate log(1+u) by a polynomial in u,
37 | Step 4. Reconstruct log(X) = log( 2**k * Y ) = k*log(2) + log(F) + log(1+u)
38 | by k*log(2) + (log(F) + poly). The values of log(F) are calculated
45 | Step 2: Let 1+X = 2**k * Y, where 1 <= Y < 2. Define F as done in Step 2
47 | k*log(2) + log(F) + poly where poly approximates log(1+u),
48 | u = (Y-F)/F.
51 | Note 1. There are 64 different possible values for F, thus 64 log(F)'s
52 | need to be tabulated. Moreover, the values of 1/F are also
53 | tabulated so that the division in (Y-F)/F can be performed by a
57 | Y-F has to be calculated carefully when 1/2 <= X < 3/2.
241 .set F,FP_SCR2
242 .set FFRAC,F+4
343 |--WE DEFINE F = 1.XXXXXX1, I.E. FIRST 7 BITS OF Y AND ATTACH A 1.
345 |-- = K*LOG2 + LOG(F) + LOG(1 + (Y-F)/F).
346 |--NOTE THAT U = (Y-F)/F IS VERY SMALL AND THUS APPROXIMATING
348 |--ALSO NOTE THAT THE VALUE 1/F IS STORED IN A TABLE SO THAT NO
349 |--DIVISION IS NEEDED TO CALCULATE (Y-F)/F.
351 |--GET K, Y, F, AND ADDRESS OF 1/F.
356 lea LOGTBL,%a0 | ...BASE ADDRESS OF 1/F AND LOG(F)
359 |--WHILE THE CONVERSION IS GOING ON, WE GET F AND ADDRESS OF 1/F
363 oril #0x01000000,FFRAC(%a6) | ...GET F: ATTACH A 1 AT THE EIGHTH BIT
364 movel FFRAC(%a6),%d0 | ...READY TO GET ADDRESS OF 1/F
369 addal %d0,%a0 | ...A0 IS THE ADDRESS FOR 1/F
372 movel #0x3fff0000,F(%a6)
373 clrl F+8(%a6)
374 fsubx F(%a6),%fp0 | ...Y-F
376 |--SUMMARY: FP0 IS Y-F, A0 IS ADDRESS OF 1/F, FP1 IS K
381 fmulx (%a0),%fp0 | ...FP0 IS U = (Y-F)/F
407 addal #16,%a0 | ...ADDRESS OF LOG(F)
413 faddx (%a0),%fp1 | ...LOG(F)+U*V*(A2+V*(A4+V*A6))
415 faddx %fp1,%fp0 | ...FP0 IS LOG(F) + LOG(1+U)
529 |--CASE 1: 1+Z < 1, THEN K = -1 AND Y-F = (2-F) + 2Z
530 |--CASE 2: 1+Z > 1, THEN K = 0 AND Y-F = (1-F) + Z
532 |--(1/F) IN A0, Y-F IN FP0, AND FP2 SAVED.
536 oril #0x01000000,FFRAC(%a6) | ...F OBTAINED
542 movel #0x3fff0000,F(%a6)
543 clrl F+8(%a6)
544 fsubx F(%a6),%fp0 | ...2-F
549 asrl #4,%d0 | ...D0 CONTAINS DISPLACEMENT FOR 1/F
552 faddx %fp1,%fp0 | ...FP0 IS Y-F = (2-F)+2Z
553 lea LOGTBL,%a0 | ...A0 IS ADDRESS OF 1/F
560 movel #0x3fff0000,F(%a6)
561 clrl F+8(%a6)
562 fsubx F(%a6),%fp0 | ...1-F
568 faddx %fp1,%fp0 | ...FP0 IS Y-F
571 addal %d0,%a0 | ...A0 IS ADDRESS OF 1/F