We have this snippet in mpir.h: ------------------------------------------------------ #if defined( _WIN64) #define __GMP_MP_SIZE_T_INT 0 typedef long long int mp_size_t; typedef long int mp_exp_t; #else #define __GMP_MP_SIZE_T_INT 0 typedef long int mp_size_t; typedef long int mp_exp_t; #endif ------------------------------------------------------
which sets __GMP_MP_SIZE_T_INT to 0 but it is hardly ever used in GMP/ MPIR (as far as I can tell). But MPFR has this in mpfr.h ------------------------------------------------------ /* Define precision : 1 (short), 2 (int) or 3 (long) (DON'T USE IT!)*/ #ifndef _MPFR_PREC_FORMAT # if __GMP_MP_SIZE_T_INT == 1 # define _MPFR_PREC_FORMAT 2 # else # define _MPFR_PREC_FORMAT 3 # endif #endif ------------------------------------------------------ which sets its precision format with a comment that a value of 3 should NOT be used, But this is a value that MPIR will trigger because __GMP_MP_SIZE_T_INT is zero! Has anyone got any idea what __GMP_MP_SIZE_T_INT is supposed to be set to - I assume that it is related to the length of mp_size_t but how? Brian -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-devel@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.