4) Use your CPU's built-in floating-point unit to compute g, the base-2 log of q. (For an Intel CPU, see the FYL2X instruction. If q is very close to 1, you may want to use the FYL2XP1 instruction instead to preserve more significant bits; in that case, pass it q - 1 rather than q.)
My colleague from the Java-for-x86 world reminds me that the floating-point transcendentals on x86 are chock full of little infelicities which limit the conditions under which they may be used.
My feeling is you want to understand these infelicities before you start using the instructions in your code. (For example, you should be able to explain, and correct, Mr. Shafer's explanation of FYL2X versus FYL2XP1 above when 0.5 <= q <= 1.0. I haven't quite figured it out myself...)
Here be dragons. For the rest of us, there are very nice floating-point libraries. If you're lucky, their authors actually did the above work... :-)
-Jan
_______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
