The bug is in your mpir_bincoef subroutine where you use a routine that
returns a double as follows:
ret = mpz_get_d(result);
to set a 64-bit value in ret:
Since a double on Windows has a 53 bit mantissa, this will give wrong
values for 64-bit values with longer bit lengths than this.
If you add:
#include <stdint.h>
to the file and then replace the above line with
ret = mpz_get_ux(result);
it will, I think, work as expected.
Brian
--
You received this message because you are subscribed to the Google Groups
"mpir-devel" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/mpir-devel/-/r_ge6UJ-G30J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/mpir-devel?hl=en.