The change to mp_size_t and mp_exp_t on WIndows to use a 64-bit long
long type seems to be incompatible with MPFR.
After accounting for the addition of a __GMP_MP_SIZE_T_INT value of 2,
the following MPFR assertion fails:
..\..\init2.c:42: MPFR assertion failed:
((mp_exp_t)((~((~(unsigned int)0)>>1))+2)) == (((-2147483647L -
1))+2)
This is the the following macro:
/* Check for correct EXP NAN, ZERO & INF in both mpfr.h and in mpfr-
impl.h */
MPFR_ASSERTN( __MPFR_EXP_NAN == MPFR_EXP_NAN );
which can be tracked to:
#if __GMP_MP_SIZE_T_INT
#define __MPFR_EXP_NAN ((mp_exp_t)((~((~(unsigned int)0)>>1))+2))
#else
#define __MPFR_EXP_NAN ((mp_exp_t)((~((~(unsigned long)0)>>1))+2))
#endif
and:
# define MPFR_EXP_NAN (MPFR_EXP_MIN+2)
I haven't much of a clue what is going on but we don't want a release
that doesn't support MPFR.
Any ideas?
Brian
--
You received this message because you are subscribed to the Google Groups
"mpir-devel" group.
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.