public static void CMov(int cond, int[] x, int xOff, int[] z, int zOff) { Debug.Assert(0 == cond || -1 == cond); for (int i = 0; i < Size; ++i) { int z_i = z[zOff + i], diff = z_i ^ x[xOff + i]; z_i ^= (diff & cond); z[zOff + i] = z_i; } }