Marco Bodrato bodrato at
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 mailing list