public static bool Double (uint [] u, int l) { uint x, carry = 0; uint i = 0; while (i < l) { x = u [i]; u [i] = (x << 1) | carry; carry = x >> (32 - 1); i++; } if (carry != 0) u [l] = carry; return carry != 0; }