Your message dated Tue, 22 Apr 2014 22:03:18 -0500
with message-id <2136501.MuVJllSzJe@riemann>
and subject line Re: Bug#744302: mpz_invert behavior -addendum
has caused the Debian Bug report #744302,
regarding mpz_invert yields wrong result
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
744302: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744302
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: gmp
Version: 2:6.0.0+dfsg-2
Severity: important

Dear Maintainer,

while running the tests for the flint library I am working on packaging,
I found that mpz_invert yields a wrong result on a certain set of input
values. Essentially,

mpz_init(a);
mpz_init(b);
mpz_init(c);
mpz_set_str(a, "11150372594073014712837494417038049594572792", 10)
mpz_set_si(b, -1)
int x = mpz_invert(c, a, b)

yields c = 0 (ok) and x = 1 (not ok).

The documentation states::

int mpz_invert (mpz t rop, const mpz t op1, const mpz t op2)
  Compute the inverse of op1 modulo op2 and put the result in rop. If
  the inverse exists, the return value is non-zero and rop will satisfy
  0 < rop < |op2|. If an inverse doesn’t exist the return value is zero
  and rop is undefined. The behaviour of this function is undefined when
  op2 is zero.

As 11150372594073014712837494417038049594572792 mod -1 = 0
the inverse does not exist, and the return value should be zero. The
fact that !(rop > 0) is actually a clear sign that no inverse exists and
rop is thus undefined. Therefore the return value is clearly an error.

I have no idea, whether this bug is in the package or in the upstream
library. If it concerns upstream, I would be very glad if you forwarded
it and set me to CC.

Cheers, Benjamin


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (600, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

--- End Message ---
--- Begin Message ---
On April 22, 2014 07:43:18 PM Benjamin Eltzner wrote:
> Ah, yes, sorry I forgot about that. The bug can be closed.

Done.  For future reference: you can close the bug yourself simply by emailing 
nnn-d...@bugs.debian.org.

Regards,
-Steve

Attachment: signature.asc
Description: This is a digitally signed message part.


--- End Message ---
-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to