And also this c++ function is obsolete

gmp_randclass::gmp_randclass()

We also have this old stuff in mpir.h

/* Source-level compatibility with GMP 2 and earlier. */
#define mpn_divmod(qp,np,nsize,dp,dsize) \
  mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize)

/* Source-level compatibility with GMP 1.  */
#define mpz_mdiv        mpz_fdiv_q
#define mpz_mdivmod     mpz_fdiv_qr
#define mpz_mmod        mpz_fdiv_r
#define mpz_mdiv_ui     mpz_fdiv_q_ui
#define mpz_mdivmod_ui(q,r,n,d) \
  (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d))
#define mpz_mmod_ui(r,n,d) \
  (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d))

/* Useful synonyms, but not quite compatible with GMP 1.  */
#define mpz_div         mpz_fdiv_q
#define mpz_divmod      mpz_fdiv_qr
#define mpz_div_ui      mpz_fdiv_q_ui
#define mpz_divmod_ui   mpz_fdiv_qr_ui
#define mpz_div_2exp    mpz_fdiv_q_2exp
#define mpz_mod_2exp    mpz_fdiv_r_2exp

Note : we are not and never have been binary compatible with gmp version 1 and 
2 , so anyone wanting gmp 1 compatibility has to recompile anyway , so they 
can add the above defines to their code.

While we are at it lets drop bsdmp , which is the multiprecision library mp , 
ie the unix standard BEFORE gmp existed. 


On Saturday 08 August 2009 20:32:02 William Stein wrote:
> On Sat, Aug 8, 2009 at 12:20 PM, Jason Moxham 
<ja...@njkfrudils.plus.com>wrote:
> > Hi
> >
> > I propose we remove the following functions
> >
> > These were declared obsolete sometime in 2000-2002
> > void mpz_random (mpz_t ROP, mp_size_t MAX_SIZE)
> > void mpz_random2 (mpz_t ROP, mp_size_t MAX_SIZE)
> >
> > These were declared obsolete in Apr 2000-2002
> > mp_limb_t mpn_divrem (mp_limb_t *R1P, mp_size_t QXN,
> >          mp_limb_t *RS2P, mp_size_t RS2N, const mp_limb_t *S3P,
> >          mp_size_t S3N)
> >  mp_limb_t mpn_divmod (mp_limb_t *R1P, mp_limb_t *RS2P,
> >          mp_size_t RS2N, const mp_limb_t *S3P, mp_size_t S3N)
> >
> > This was declared obsolete in Nov 2001
> > void gmp_randinit (gmp_randstate_t STATE,gmp_randalg_t ALG, ...)
> >
> > I think the functions below should be declared obsolete
> >
> > This is dangerous function
> > void mpz_array_init (mpz_t INTEGER_ARRAY, size_t
> >          ARRAY_SIZE, mp_size_t FIXED_NUM_BITS)
> > in that anyone using it has to make assumptions about how we have
> > implemented
> > the mpz functions using its variables.We are not likely to break the
> > assumptions, they are reasonable. We could perhaps provide a completely
> > safe
> > alternative.
> >
> > int mpz_probab_prime_p (mpz_t N, int REPS)
> > is mathematical rubbish , the random numbers used are the same for each
> > invocation. We should replace this with a robust alternative that (at
> > least)
> > accepts a "gmp_randstate_t"
> >
> >
> > void mpz_nextprime (mpz_t ROP, mpz_t OP)
> > Bad choice of names , we should rename it mpz_next_probab_prime(...)
> >
> > The mpf layer , as its full of bugs,untested code and bad definitions. It
> > consumes our time and effort and offers nothing in return.
> >
> > Jason
>
> FWIW, in Sage of everything above we only "use" mpz_probab_prime_p and
> mpz_nextprime.   However, these are only used in
> devel/sage/sage/ext/gmp.pxi,
> which defines a few functions that are not used anywhere else in Sage,
> hence could be safely be deleted.
>
>  -- 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-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