gmp_lib.mpz_tdiv_r_2exp Method

GMP Native Interface for .NET

gmp_libmpz_tdiv_r_2exp Method
Set the remainder r to n - q * 2^b where q = trunc(n / 2^b).

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_tdiv_r_2exp(
	mpz_t r,
	mpz_t n,
	mp_bitcnt_t b
)
Public Shared Sub mpz_tdiv_r_2exp ( 
	r As mpz_t,
	n As mpz_t,
	b As mp_bitcnt_t
)
public:
static void mpz_tdiv_r_2exp(
	mpz_t^ r, 
	mpz_t^ n, 
	mp_bitcnt_t b
)
static member mpz_tdiv_r_2exp : 
        r : mpz_t * 
        n : mpz_t * 
        b : mp_bitcnt_t -> unit 

Parameters

r
Type: Math.Gmp.Nativempz_t
The result remainder integer.
n
Type: Math.Gmp.Nativempz_t
The numerator integer.
b
Type: Math.Gmp.Nativemp_bitcnt_t
The exponent of the power of two denominator.
Examples
// Create, initialize, and set the value of n to 10001.
mpz_t n = new mpz_t();
gmp_lib.mpz_init_set_si(n, 10001);

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

// Set r = n - 2^2 * trunc(n / 2^2)
gmp_lib.mpz_tdiv_r_2exp(r, n, 2U);

// Assert that r is 1.
Assert.IsTrue(gmp_lib.mpz_get_si(r) == 1);

// Release unmanaged memory allocated for n and r.
gmp_lib.mpz_clears(n, r, null);
' Create, initialize, and set the value of n to 10001.
Dim n As New mpz_t()
gmp_lib.mpz_init_set_si(n, 10001)

' Create, initialize, and set the value of r to 0.
Dim r As New mpz_t()
gmp_lib.mpz_init(r)

' Set r = n - 2^2 * trunc(n / 2^2)
gmp_lib.mpz_tdiv_r_2exp(r, n, 2UI)

' Assert that r is 1.
Assert.IsTrue(gmp_lib.mpz_get_si(r) = 1)

' Release unmanaged memory allocated for n and r.
gmp_lib.mpz_clears(n, r, Nothing)

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

See Also