Dear Wojciech Izykowski,

Sorry for the very long delay in replying to your bug report below! The
person who was monitoring that email address sadly passed away. We have
only just now thought to log in and catch up with the email bug reports!

I have created a ticket for the bug you reported here:

https://github.com/wbhart/mpir/issues/70

We hope to resolve it with your suggested fixes for the 2.7.0 release of
MPIR which is coming soon (we hope).

Best Regards,

Bill.




On 4 February 2014 21:38, MPIR Team <thempirt...@googlemail.com> wrote:

>
>
> ---------- Forwarded message ----------
> From: Wojciech Izykowski <wizykow...@gmail.com>
> Date: 6 December 2012 17:13
> Subject: Bug in gmpxx.h (MPIR 2.6.0)
> To: thempirt...@gmail.com
>
>
> In MPIR 2.6.0 gmpxx.h file (lines 1589-1599)
>
> #ifdef MPIRXX_HAVE_LLONG
>   __gmp_expr(signed long long int l) { mpz_init_set_si(mp, l); }
>   __gmp_expr(unsigned long long int  l) { mpz_init_set_ui(mp, l); }
> #endif
>
> #if defined( _MSC_VER ) && _MSC_VER >= 1600
> #if defined( _STDINT_H ) || defined ( _STDINT_H_ ) || defined ( _STDINT )
>   __gmp_expr(intmax_t l) { mpz_init_set_sx(mp, l); }
>   __gmp_expr(uintmax_t l) { mpz_init_set_ux(mp, l); }
> #endif
> #endif
>
> should be
>
> #ifdef MPIRXX_HAVE_LLONG
>   __gmp_expr(signed long long int l) { mpz_init_set_si(mp, l); }
>   __gmp_expr(unsigned long long int  l) { mpz_init_set_ui(mp, l); }
> #else
> #if defined( _MSC_VER ) && _MSC_VER >= 1600
> #if defined( _STDINT_H ) || defined ( _STDINT_H_ ) || defined ( _STDINT )
>   __gmp_expr(intmax_t l) { mpz_init_set_sx(mp, l); }
>   __gmp_expr(uintmax_t l) { mpz_init_set_ux(mp, l); }
> #endif
> #endif
> #endif
>
> Rationale: intmax_t might be signed long long int and uintmax_t might be
> unsigned long long int and then we get Visual C++ compiler error 'member
> function already declared'.
>
> Similarly, lines 1660-1670: it is:
>
> #ifdef MPIRXX_HAVE_LLONG
>   __gmp_expr & operator=(signed long long int i) { mpz_set_si(mp, i);
> return *this; }
>   __gmp_expr & operator=(unsigned long long int i) { mpz_set_ui(mp, i);
> return *this; }
> #endif
>
> #if defined( _MSC_VER ) && _MSC_VER >= 1600
> #if defined( _STDINT_H ) || defined ( _STDINT_H_ ) || defined ( _STDINT )
>   __gmp_expr & operator=(intmax_t i) { mpz_set_sx(mp, i); return *this; }
>   __gmp_expr & operator=(uintmax_t i) { mpz_set_ux(mp, i); return *this; }
> #endif
> #endif
>
> it should be
>
> #ifdef MPIRXX_HAVE_LLONG
>   __gmp_expr & operator=(signed long long int i) { mpz_set_si(mp, i);
> return *this; }
>   __gmp_expr & operator=(unsigned long long int i) { mpz_set_ui(mp, i);
> return *this; }
> #else
> #if defined( _MSC_VER ) && _MSC_VER >= 1600
> #if defined( _STDINT_H ) || defined ( _STDINT_H_ ) || defined ( _STDINT )
>   __gmp_expr & operator=(intmax_t i) { mpz_set_sx(mp, i); return *this; }
>   __gmp_expr & operator=(uintmax_t i) { mpz_set_ux(mp, i); return *this; }
> #endif
> #endif
> #endif
>
> Thank your for MPIR. It's a great library!
>
> Regards
> Wojciech Izykowski
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to mpir-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to mpir-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/mpir-devel.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mpir-devel+unsubscr...@googlegroups.com.
To post to this group, send email to mpir-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/mpir-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to