Click or drag to resize
gmp_libmpz_xor Method
Set rop to op1 bitwise exclusive-or op2.

Namespace:  Math.Gmp.Native
Assembly:  Math.Gmp.Native (in Math.Gmp.Native.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
public static void mpz_xor(
	mpz_t rop,
	mpz_t op1,
	mpz_t op2
)

Parameters

rop
Type: Math.Gmp.Nativempz_t
The result integer.
op1
Type: Math.Gmp.Nativempz_t
The first operand integer.
op2
Type: Math.Gmp.Nativempz_t
The second operand integer.
Remarks

The function behaves as if twos complement arithmetic were used (although sign-magnitude is the actual implementation). The least significant bit is number 0.

Examples
// Create, initialize, and set the value of op1 to 63.
mpz_t op1 = new mpz_t();
gmp_lib.mpz_init_set_ui(op1, 63U);

// Create, initialize, and set the value of op2 to 70.
mpz_t op2 = new mpz_t();
gmp_lib.mpz_init_set_ui(op2, 70U);

// Create, initialize, and set the value of rop to 0.
mpz_t rop = new mpz_t();
gmp_lib.mpz_init(rop);

// Set rop to the bitwise exclusive or of op1 and op2.
gmp_lib.mpz_xor(rop, op1, op2);

// Assert that rop is 121.
Assert.IsTrue(gmp_lib.mpz_get_si(rop) == 121);

// Release unmanaged memory allocated for rop, op1, and op2.
gmp_lib.mpz_clears(rop, op1, op2, null);
See Also