Ah, this was only fixed in GMP 4.3.2. That's where my confusion lay. This was only a recent thing.
Bill. On 9 April 2010 06:07, Bill Hart <goodwillh...@googlemail.com> wrote: > Actually, I should have checked this, but it seems the latest GMP in > the 4.x.y series also has the normalisation that GMP 5 has. I'mnot > sure where I got confused, but I thought only 5 had it. Apologies for > the incorrect info. > > Bill. > > On 9 April 2010 06:01, Bill Hart <goodwillh...@googlemail.com> wrote: >> Here's what I think, though it's only an opinion: >> >> 0) It's surprising that this broke, as the new XGCD code went into >> MPIR 1.2.0, which Sage already uses, but then it is not surprising as >> any changes made to the XGCD code can currently change the >> normalisation as no normalisation is enforced. >> 1) It's unlikely we can fix this properly very quickly. I think we >> have to hold this over until the next release of MPIR. >> 2) We could write a normalisation wrapper around mpn_gcdext, but it >> would slow performance, so we obviously won't do that in a release. >> >> What could be done is to patch mpn_gcdext (see line 1105 of >> mpn/generic/gcdext.c). >> >> Rename this function to _mpn_gcdext and write a new mpn_gcdext (in the >> same file) which calls the old one and applies the required >> normalisation (see the GMP 5 documentation for details of the >> normalisation which Pari likes). >> >> The MPIR test suite will not care that you did this, as it doesn't >> test normalisation. >> >> If doctests still fail in Sage, fixing them will make Sage compatible >> both with future versions of MPIR, where we will fix this issue >> properly, and with GMP 5 and above. This means that when GMP 5 becomes >> stable and when the next version of MPIR comes out, Sage ought to, in >> theory, be able to swap between the two without changing xgcd >> normalisation. >> >> We purposely didn't deal with this issue because we thought Sage was >> already set up to handle the "normalisation" that MPIR had and that if >> we changed it, it would break. But it looks like I was wrong. >> >> Bill. >> >> On 9 April 2010 05:40, Bill Hart <goodwillh...@googlemail.com> wrote: >>> That's great that it builds now. Well done, and thanks for the effort!! >>> >>> Our XGCD has changed, but I don't think we define a normalisation as >>> such. From the manual: >>> >>> "Set g to the greatest common divisor of a and b, and in addition set >>> s and t to coefficients >>> satisfying as + bt = g. g is always positive, even if one or both of a >>> and b are negative." >>> >>> GMP recently changed back to their old normalisation. >>> >>> It looks, from the test results below that we screw up Pari anyway, so >>> we have to change something, it seems. Given that GMP changed back to >>> the old normalisation to support Pari, we should probably do the same. >>> I'm afraid this is not an issue we can resolve easily. The XGCD code >>> is very complex and it will take quite some time to rewrite it to >>> handle normalisation (which it currently just doesn't do at all). >>> >>> Bill. >>> >>> On 9 April 2010 05:10, William Stein <wst...@gmail.com> wrote: >>>> Hi, >>>> >>>> OK, after all this, the build finally completed. The only changes I made >>>> were: >>>> >>>> * Updated mpir to rc3 >>>> * patched ecm as explained here: >>>> >>>> http://lists.gforge.inria.fr/pipermail/ecm-discuss/2009-August/004070.html >>>> (Though this had to be slightly modified -- just search for the >>>> same command, which moved.) >>>> >>>> >>>> I then ran the long Sage test suite, and some tests fail. >>>> >>>> http://sage.math.washington.edu/home/wstein/build/mpir2/sage-4.3.5/testlong.log >>>> >>>> ---------------------------------------------------------------------- >>>> The following tests failed: >>>> >>>> >>>> sage -t -long "devel/sage/doc/en/tutorial/tour_numtheory.rst" >>>> sage -t -long "devel/sage/doc/fr/tutorial/tour_numtheory.rst" >>>> sage -t -long "devel/sage/sage/modular/cusps.py" >>>> sage -t -long "devel/sage/sage/modular/modsym/boundary.py" >>>> sage -t -long "devel/sage/sage/modular/modsym/ambient.py" >>>> sage -t -long "devel/sage/sage/libs/pari/gen.pyx" >>>> sage -t -long "devel/sage/sage/rings/arith.py" >>>> sage -t -long "devel/sage/sage/rings/integer.pyx" >>>> sage -t -long >>>> "devel/sage/sage/rings/polynomial/multi_polynomial_ideal.py" >>>> sage -t -long "devel/sage/sage/tests/book_stein_ent.py" >>>> sage -t -long "devel/sage/sage/schemes/elliptic_curves/heegner.py" >>>> Total time for all tests: 7170.6 seconds >>>> >>>> -- >>>> >>>> I looked and it appears that maybe all of these are the result of the >>>> XGCD behavior in MPIR changing again. Has it changed to be like GMP >>>> now? That would be convenient. >>>> >>>> This is all now >>>> >>>> http://trac.sagemath.org/sage_trac/ticket/8664 >>>> >>>> william >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "mpir-devel" group. >>>> To post to this group, send email to mpir-de...@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. >>>> >>>> >>> >> > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-de...@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.