|
Boost Users : |
Subject: Re: [Boost-users] run-time integer log2
From: John Dlugosz (JDlugosz_at_[hidden])
Date: 2010-07-13 16:23:44
What is "NT²"
I've used an inline asm instruction for that. On the x86, there is a "Bit Scan Reverse" (BSR) which stores the index of the most-significant set bit.
> -----Original Message-----
> In the good'ol Bits Twiddling Hacks page:
>
> unsigned int v; // 32-bit value to find the log2 of
> unsigned int r; // result of log2(v) will go here
> unsigned int shift;
>
> r = (v > 0xFFFF) << 4; v >>= r;
> shift = (v > 0xFF ) << 3; v >>= shift; r |= shift;
> shift = (v > 0xF ) << 2; v >>= shift; r |= shift;
> shift = (v > 0x3 ) << 1; v >>= shift; r |= shift;
>
TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net