On Tuesday 13 January 2009 19:26:07 Carl Witty wrote:
> On Jan 13, 2:38 am, ja...@njkfrudils.plus.com wrote:
> > > > The other issue here is that there are multiple algorithms here and
> > > > it is quite likely that very small examples will use the basic xgcd
> > > > which may well guarantee minimality. Only if you have say hundreds of
> > > > thousands of bits will the algorithm used not return minimally
> > > > guaranteed results. I'm sure when the time comes we can give some
> > > > explicit million digit integers for which minimality is not
> > > > guaranteed.
> >
> > The non-minimal examples could be dependant on tuning parameters that
> > select between different algorithms, making this sort testing impratical.
>
> That's painful.
>
> One of the great selling points for MPFR is that it always gives the
> exact same answers on all platforms; it would be sad if MPIR doesn't
> provide the same guarantees.
>
> How much speed difference are we talking about?  IMHO, I would accept
> a few percent slowdown for huge GCDs on some platforms to get
> portable, identical results cross-platform in Sage.  (Of course, it's
> not my decision to make.)
>
> Carl
> 

If a function says it returns and anwser that satisfys certain conditions , 
then that it what you should rely on. If your relying on unspecified behavour 
then it's on your own head :)
Of course in common cases then the user expects certains properties to hold , 
and if their not then confusion results.

Consider this from the current gmp manual

 -- Function: void mpz_gcdext (mpz_t G, mpz_t S, mpz_t T, mpz_t A,
          mpz_t B)
     Set G to the greatest common divisor of A and B, and in addition
     set S and T to coefficients satisfying A*S + B*T = G.  G is always
     positive, even if one or both of A and B are negative.
     If T is `NULL' then that value is not computed.

The function is free to return ANY solution (S,T) to the above , If your 
relying on certains bounds for S and T to be satisfied then you would have 
wrap this function in a layer to reduce the general case to the specific.


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to