gmp_libmpz_gcd Method |
Namespace: Math.Gmp.Native
The result is always positive even if one or both input operands are negative. Except if both inputs are zero; then this function defines gcd(0,0) = 0.
// 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 greatest common divisor of op1 and op2. gmp_lib.mpz_gcd(rop, op1, op2); // Assert that rop is 7. Assert.IsTrue(gmp_lib.mpz_get_si(rop) == 7); // Release unmanaged memory allocated for rop, op1, and op2. gmp_lib.mpz_clears(rop, op1, op2, null);