diff --git a/ttmath/ttmathuint.h b/ttmath/ttmathuint.h index d507564..7642060 100644 --- a/ttmath/ttmathuint.h +++ b/ttmath/ttmathuint.h @@ -1207,15 +1207,16 @@ private: */ void RclMoveAllWords(uint & rest_bits, uint & last_c, uint bits, uint c) { - rest_bits = sint(bits % TTMATH_BITS_PER_UINT); - sint all_words = sint(bits / TTMATH_BITS_PER_UINT); + rest_bits = bits % TTMATH_BITS_PER_UINT; + uint all_words = bits / TTMATH_BITS_PER_UINT; uint mask = ( c ) ? TTMATH_UINT_MAX_VALUE : 0; - if( all_words >= sint(value_size) ) + if( all_words >= value_size ) { if( all_words == value_size && rest_bits == 0 ) last_c = table[0] & 1; + // else: last_c is default set to 0 // clearing for(uint i = 0 ; i= sint(value_size) ) + if( all_words >= value_size ) { if( all_words == value_size && rest_bits == 0 ) last_c = (table[value_size-1] & TTMATH_UINT_HIGHEST_BIT) ? 1 : 0; + // else: last_c is default set to 0 // clearing for(uint i = 0 ; i dividend(*this);