gmp_libmpz_com Method |
Namespace: Math.Gmp.Native
The function behaves as if twos complement arithmetic were used (although sign-magnitude is the actual implementation). The least significant bit is number 0.
// Create, initialize, and set the value of op to 63. mpz_t op = new mpz_t(); gmp_lib.mpz_init_set_ui(op, 63U); // 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 one's complement of op. gmp_lib.mpz_com(rop, op); // Assert that rop is -64. Assert.IsTrue(gmp_lib.mpz_get_si(rop) == -64); // Release unmanaged memory allocated for rop and op. gmp_lib.mpz_clears(rop, op, null);