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