public static void Subtract(uint[] x, uint[] y, uint[] z) { int num = Nat.Sub(16, x, y, z) + (int)(x[16] - y[16]); if (num < 0) { num += Nat.Dec(16, z); num &= 0x1FF; } z[16] = (uint)num; }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int num = Nat.Sub(0x10, x, y, z) + ((int)(x[0x10] - y[0x10])); if (num < 0) { num += Nat.Dec(0x10, z); num &= 0x1ff; } z[0x10] = (uint)num; }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int c = Nat.Sub(16, x, y, z) + (int)(x[16] - y[16]); if (c < 0) { c += Nat.Dec(16, z); c &= P16; } z[16] = (uint)c; }