gmp_lib.mpq_get_num Method

GMP Native Interface for .NET

gmp_libmpq_get_num Method
Set numerator to the numerator of rational.

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 mpq_get_num(
	mpz_t numerator,
	mpq_t rational
)
Public Shared Sub mpq_get_num ( 
	numerator As mpz_t,
	rational As mpq_t
)
public:
static void mpq_get_num(
	mpz_t^ numerator, 
	mpq_t^ rational
)
static member mpq_get_num : 
        numerator : mpz_t * 
        rational : mpq_t -> unit 

Parameters

numerator
Type: Math.Gmp.Nativempz_t
The result integer.
rational
Type: Math.Gmp.Nativempq_t
The operand rational.
Remarks

The function is equivalent to calling mpz_set with mpq_numref. Direct use of mpq_numref is recommended instead of this functions.

Examples
// Create, initialize, and set the value of op to -1 / 3.
mpq_t op = new mpq_t();
gmp_lib.mpq_init(op);
gmp_lib.mpq_set_si(op, -1, 3U);

// Create and initialize a new integer.
mpz_t num = new mpz_t();
gmp_lib.mpz_init(num);

// Set integer to numerator of rational, and increment integer by 2.
gmp_lib.mpq_get_num(num, op);
gmp_lib.mpz_add_ui(num, num, 2U);

// Assert that num is 1, and op is -1 / 3.
Assert.IsTrue(gmp_lib.mpz_cmp_si(num, 1) == 0);
Assert.IsTrue(gmp_lib.mpq_cmp_si(op, -1, 3U) == 0);

// Release unmanaged memory allocated for op and num.
gmp_lib.mpq_clear(op);
gmp_lib.mpz_clear(num);
' Create, initialize, and set the value of op to -1 / 3.
Dim op As New mpq_t()
gmp_lib.mpq_init(op)
gmp_lib.mpq_set_si(op, -1, 3UI)

' Create and initialize a new integer.
Dim num As New mpz_t()
gmp_lib.mpz_init(num)

' Set integer to numerator of rational, and increment integer by 2.
gmp_lib.mpq_get_num(num, op)
gmp_lib.mpz_add_ui(num, num, 2UI)

' Assert that num is 1, and op is -1 / 3.
Assert.IsTrue(gmp_lib.mpz_cmp_si(num, 1) = 0)
Assert.IsTrue(gmp_lib.mpq_cmp_si(op, -1, 3UI) = 0)

' Release unmanaged memory allocated for op and num.
gmp_lib.mpq_clear(op)
gmp_lib.mpz_clear(num)

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