#define isl_int_divexact(r,i,j) mpz_divexact(r,i,j)
#define isl_int_cdiv_q(r,i,j) mpz_cdiv_q(r,i,j)
#define isl_int_fdiv_q(r,i,j) mpz_fdiv_q(r,i,j)
+#define isl_int_fdiv_r(r,i,j) mpz_fdiv_r(r,i,j)
#define isl_int_read(r,s) mpz_set_str(r,s,10)
#define isl_int_print(out,i) \
#define isl_int_eq(i,j) (mpz_cmp(i,j) == 0)
#define isl_int_ne(i,j) (mpz_cmp(i,j) != 0)
#define isl_int_lt(i,j) (mpz_cmp(i,j) < 0)
+#define isl_int_gt(i,j) (mpz_cmp(i,j) > 0)
#define isl_int_abs_eq(i,j) (mpz_cmpabs(i,j) == 0)
#define isl_int_abs_ne(i,j) (mpz_cmpabs(i,j) != 0)
#define isl_int_abs_lt(i,j) (mpz_cmpabs(i,j) < 0)
+#define isl_int_abs_gt(i,j) (mpz_cmpabs(i,j) > 0)
#define isl_int_is_zero(i) (isl_int_sgn(i) == 0)
#define isl_int_is_nonneg(i) (isl_int_sgn(i) >= 0)
#define isl_int_is_divisible_by(i,j) mpz_divisible_p(i,j)
+u_int32_t isl_gmp_hash(mpz_t v, u_int32_t hash);
#define isl_int_hash(v,h) isl_gmp_hash(v,h)
#if defined(__cplusplus)