MPSolve 3.2.1
Loading...
Searching...
No Matches
gmptools.h File Reference

Additional functions used to complete the GMP package with what is needed in MPSolve. More...

#include <gmp.h>
#include <stdio.h>

Go to the source code of this file.

Macros

#define mpz_Val(Z)
 
#define mpz_Move(Z1, Z2)
 
#define mpz_get_bit(Z, N)
 
#define mpz_mul_eq(Z1, Z2)
 
#define mpz_add_eq(Z1, Z2)
 
#define mpz_valloc(N)
 
#define mpz_vfree(V)
 
#define mpq_Val(Q)
 
#define mpq_Move(Q1, Q2)
 
#define mpq_valloc(N)
 
#define mpq_vfree(V)
 
#define mpf_Val(F)
 
#define mpf_Move(F1, F2)
 
#define mpf_inv(R, F)
 
#define mpf_sqr(R, F)
 
#define mpf_neg_eq(F)
 
#define mpf_inv_eq(F)
 
#define mpf_sqr_eq(F)
 
#define mpf_sqrt_eq(F)
 
#define mpf_add_eq(F1, F2)
 
#define mpf_add_eq_ui(F, I)
 
#define mpf_add_eq_si(F, I)
 
#define mpf_sub_eq(F1, F2)
 
#define mpf_sub_eq_ui(F, I)
 
#define mpf_sub_eq_si(F, I)
 
#define mpf_ui_sub_eq(F, I)
 
#define mpf_si_sub_eq(F, I)
 
#define mpf_mul_eq(F1, F2)
 
#define mpf_mul_eq_ui(F, I)
 
#define mpf_mul_eq_si(F, I)
 
#define mpf_mul_eq_2exp(F, I)
 
#define mpf_div_eq(F1, F2)
 
#define mpf_div_eq_ui(F, I)
 
#define mpf_div_eq_si(F, I)
 
#define mpf_ui_div_eq(F, I)
 
#define mpf_si_div_eq(F, I)
 
#define mpf_div_eq_2exp(F, I)
 
#define mpf_pow_eq_si(F, I)
 
#define mpf_is_zero_p(F)
 
#define mpf_valloc(N)
 
#define mpf_vfree(V)
 

Functions

void mpz_swap (mpz_t z1, mpz_t z2)
 
int mpz_tstbit (mpz_t z, unsigned long int pos)
 
void mpz_vinit (mpz_t v[], unsigned long int size)
 
void mpz_vclear (mpz_t v[], unsigned long int size)
 
void mpq_swap (mpq_t q1, mpq_t q2)
 
void mpq_out_str (FILE *stream, int base, mpq_t q)
 
void mpq_vinit (mpq_t v[], unsigned long int size)
 
void mpq_vclear (mpq_t v[], unsigned long int size)
 
void mpf_swap (mpf_t f1, mpf_t f2)
 
void mpf_set_2dl (mpf_t f, double d, long int l)
 
void mpf_get_2dl (double *d, long int *l, mpf_t f)
 
long int mpf_size_2 (mpf_t f)
 
void mpf_add_si (mpf_t r, mpf_t f, long int i)
 
void mpf_sub_si (mpf_t r, mpf_t f, long int i)
 
void mpf_si_sub (mpf_t r, long int i, mpf_t f)
 
void mpf_mul_si (mpf_t r, mpf_t f, long int i)
 
void mpf_div_si (mpf_t r, mpf_t f, long int i)
 
void mpf_pow_ui (mpf_t r, mpf_t f, unsigned long int i)
 
void mpf_pow_si (mpf_t r, mpf_t f, long int i)
 
void mpf_vinit (mpf_t v[], unsigned long int size)
 
void mpf_vinit2 (mpf_t v[], unsigned long int size, unsigned long int prec)
 
void mpf_vclear (mpf_t v[], unsigned long int size)
 

Detailed Description

Additional functions used to complete the GMP package with what is needed in MPSolve.

Macro Definition Documentation

◆ mpf_add_eq

#define mpf_add_eq ( F1,
F2 )
Value:
mpf_add (F1, F1, F2)

◆ mpf_add_eq_si

#define mpf_add_eq_si ( F,
I )
Value:
mpf_add_si (F, F, I)

◆ mpf_add_eq_ui

#define mpf_add_eq_ui ( F,
I )
Value:
mpf_add_ui (F, F, I)

◆ mpf_div_eq

#define mpf_div_eq ( F1,
F2 )
Value:
mpf_div (F1, F1, F2)

◆ mpf_div_eq_2exp

#define mpf_div_eq_2exp ( F,
I )
Value:
mpf_div_2exp (F, F, I)

◆ mpf_div_eq_si

#define mpf_div_eq_si ( F,
I )
Value:
mpf_div_si (F, F, I)

◆ mpf_div_eq_ui

#define mpf_div_eq_ui ( F,
I )
Value:
mpf_div_ui (F, F, I)

◆ mpf_inv

#define mpf_inv ( R,
F )
Value:
mpf_ui_div (R, 1, F)

◆ mpf_inv_eq

#define mpf_inv_eq ( F)
Value:
mpf_ui_div (F, 1, F)

◆ mpf_is_zero_p

#define mpf_is_zero_p ( F)
Value:
(mpf_sgn (F) ? 0 : 1)

◆ mpf_Move

#define mpf_Move ( F1,
F2 )
Value:
(*F1 = *F2)

◆ mpf_mul_eq

#define mpf_mul_eq ( F1,
F2 )
Value:
mpf_mul (F1, F1, F2)

◆ mpf_mul_eq_2exp

#define mpf_mul_eq_2exp ( F,
I )
Value:
mpf_mul_2exp (F, F, I)

◆ mpf_mul_eq_si

#define mpf_mul_eq_si ( F,
I )
Value:
mpf_mul_si (F, F, I)

◆ mpf_mul_eq_ui

#define mpf_mul_eq_ui ( F,
I )
Value:
mpf_mul_ui (F, F, I)

◆ mpf_neg_eq

#define mpf_neg_eq ( F)
Value:
mpf_neg (F, F)

◆ mpf_pow_eq_si

#define mpf_pow_eq_si ( F,
I )
Value:
mpf_pow_si (F, F, I)

◆ mpf_si_div_eq

#define mpf_si_div_eq ( F,
I )
Value:
mpf_si_div (F, I, F)

◆ mpf_si_sub_eq

#define mpf_si_sub_eq ( F,
I )
Value:
mpf_si_sub (F, I, F)

◆ mpf_sqr

#define mpf_sqr ( R,
F )
Value:
mpf_mul (R, F, F)

◆ mpf_sqr_eq

#define mpf_sqr_eq ( F)
Value:
mpf_mul (F, F, F)

◆ mpf_sqrt_eq

#define mpf_sqrt_eq ( F)
Value:
mpf_sqrt (F, F)

◆ mpf_sub_eq

#define mpf_sub_eq ( F1,
F2 )
Value:
mpf_sub (F1, F1, F2)

◆ mpf_sub_eq_si

#define mpf_sub_eq_si ( F,
I )
Value:
mpf_sub_si (F, F, I)

◆ mpf_sub_eq_ui

#define mpf_sub_eq_ui ( F,
I )
Value:
mpf_sub_ui (F, F, I)

◆ mpf_ui_div_eq

#define mpf_ui_div_eq ( F,
I )
Value:
mpf_ui_div (F, I, F)

◆ mpf_ui_sub_eq

#define mpf_ui_sub_eq ( F,
I )
Value:
mpf_ui_sub (F, I, F)

◆ mpf_Val

#define mpf_Val ( F)
Value:
(*F)

◆ mpf_valloc

#define mpf_valloc ( N)
Value:
(mpf_t*)malloc ((N)*sizeof(mpf_t))

◆ mpf_vfree

#define mpf_vfree ( V)
Value:
free (V)

◆ mpq_Move

#define mpq_Move ( Q1,
Q2 )
Value:
(*Q1 = *Q2)

◆ mpq_Val

#define mpq_Val ( Q)
Value:
(*Q)

◆ mpq_valloc

#define mpq_valloc ( N)
Value:
(mpq_t*)malloc ((N)*sizeof(mpq_t))

◆ mpq_vfree

#define mpq_vfree ( V)
Value:
free (V)

◆ mpz_add_eq

#define mpz_add_eq ( Z1,
Z2 )
Value:
mpz_add (Z1, Z1, Z2)

◆ mpz_get_bit

#define mpz_get_bit ( Z,
N )
Value:
mpz_tstbit (Z, N)

◆ mpz_Move

#define mpz_Move ( Z1,
Z2 )
Value:
(*Z1 = *Z2)

◆ mpz_mul_eq

#define mpz_mul_eq ( Z1,
Z2 )
Value:
mpz_mul (Z1, Z1, Z2)

◆ mpz_Val

#define mpz_Val ( Z)
Value:
(*Z)

◆ mpz_valloc

#define mpz_valloc ( N)
Value:
(mpz_t*)malloc ((N)*sizeof(mpz_t))

◆ mpz_vfree

#define mpz_vfree ( V)
Value:
free (V)