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

Reply via email to