testing bits in sequence

Simen kjaeraas simen.kjaras at gmail.com
Sun Dec 26 06:37:48 PST 2010


spir <denis.spir at gmail.com> wrote:

>> foreach ( i; 0..BIT_SIZE ) {
>>      bit = ( code >> i ) & 1;
>>      node = node.nodes[bit];
>> }
>
> You have not read my post carefully enough ;-) That's ~ how I coded  
> traversing the bit seq backwards (right-to-left, LSB -> MSB); but I was  
> trying to find a way to traverse it forwards.

Sorry. Indeed I messed up:

foreach_reverse ( i; 0..BIT_SIZE ) {
      bit = ( code >> i ) & 1;
      node = node.nodes[bit];
}

or

foreach ( i; 0..BIT_SIZE ) {
      bit = ( code >> ( BIT_SIZE + 1 - i ) ) & 1;
      node = node.nodes[bit];
}

-- 
Simen


More information about the Digitalmars-d-learn mailing list