bodrato at mail.dm.unipi.it
Fri Aug 21 20:36:22 UTC 2015
Sorry Vincent, you suggested a simple function and received back a
technical discussion about casting in C...
On Fri, August 21, 2015 8:56 am, Torbjörn Granlund wrote:
> not, I've forgotten this level of detail of the C standard. I am not
> too enthusiastic about passing the wrong type, but if we add casts both
> when going to &mpq and when going back to &mpz, I cannot see how that
> could break with a conforming compiler.
Maybe changing the prototype of mpq_cmp_maybe_z to
int mpq_cmp_maybe_z (mpq_srcptr op1, const void *op2, int op2_is_mpz)
so that we can pass to it either an mpq_srcptr or an mpz_srcptr,
then replace occurrences of NUM(op2) with ((mpz_srcptr) op2), and
occurrences of DEN(op2) with DEN((mpq_srcptr) op2)...
More information about the gmp-devel