On Mon, 20 Jan 2003 19:40:42 +0100, Gennaro Prota
<[EMAIL PROTECTED]> wrote:
>> enum {c = (1 << n) <= x};
>
>
>Wrong. The left-shift may give undefined behavior, because n can be
>greater than or equal to the number of value bits in an unsigned long
^^^^^^^^^^^^^
In an int, sorry. I was thinking to the case below
>> enum {value = c*n + log2<(x>>(c*n)),(n/2)>::value};
where the left operand of >> has, of course, type unsigned long.
Genny.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost