fix gmp calls
This commit is contained in:
@@ -1234,6 +1234,19 @@ Yap_gmp_cmp_big_int(Term t, Int i)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
Yap_gmp_cmp_int_big(Int i, Term t)
|
||||
{
|
||||
CELL *pt = RepAppl(t);
|
||||
if (pt[1] == BIG_INT) {
|
||||
MP_INT *b = Yap_BigIntOfTerm(t);
|
||||
return -mpz_cmp_si(b,i);
|
||||
} else {
|
||||
MP_RAT *b = Yap_BigRatOfTerm(t);
|
||||
return -mpq_cmp_si(b,i,1);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
Yap_gmp_cmp_big_float(Term t, Float d)
|
||||
{
|
||||
@@ -1304,6 +1317,18 @@ Yap_gmp_tcmp_big_int(Term t, Int i)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
Yap_gmp_tcmp_int_big(Int i, Term t)
|
||||
{
|
||||
CELL *pt = RepAppl(t);
|
||||
if (pt[1] == BIG_INT) {
|
||||
MP_INT *b = Yap_BigIntOfTerm(t);
|
||||
return -mpz_cmp_si(b,i);
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
Yap_gmp_tcmp_big_float(Term t, Float d)
|
||||
{
|
||||
|
Reference in New Issue
Block a user