mpz_limbs interface

2014-01-21 Thread Zimmermann Paul
Hi, we have looked at the mpz_limbs interface, it seems it won't be sufficient for our needs in MPFR. Consider for example the following function, which generates nbits random bits into mp[]: /* generate nbits random bits into mp[], assuming mp was allocated to contain a sufficient

Re: mpz_limbs interface

2014-01-21 Thread Niels Möller
Zimmermann Paul paul.zimmerm...@inria.fr writes: we have looked at the mpz_limbs interface, Thanks for the review. it seems it won't be sufficient for our needs in MPFR. Consider for example the following function, which generates nbits random bits into mp[]: I see. In this particular

Re: mpz_limbs interface

2014-01-21 Thread Torbjorn Granlund
ni...@lysator.liu.se (Niels Möller) writes: I see. In this particular case, I think the right gmp interface change is to add mpn_urandomb and mpn_rrandomb (similar to current mpn_random and mpn_random2, but with a randstate argument). If I understand this correctly, the main obstacle is

Re: mpz_limbs interface

2014-01-21 Thread Niels Möller
Torbjorn Granlund t...@gmplib.org writes: ni...@lysator.liu.se (Niels Möller) writes: I see. In this particular case, I think the right gmp interface change is to add mpn_urandomb and mpn_rrandomb (similar to current mpn_random and mpn_random2, but with a randstate argument). If I

Re: mpz_limbs interface

2014-01-21 Thread Niels Möller
Marc Glisse marc.gli...@inria.fr writes: We already have function mpz_array_init which encourages thinking of the buffer as belonging to a variable, There's a ChangeLog entry from the day before yesterday: * doc/gmp.texi: Undocument mpz_array_init. I take it Torbjörn really wants to

Re: mpz_limbs interface

2014-01-21 Thread Zimmermann Paul
Niels, There's a ChangeLog entry from the day before yesterday: * doc/gmp.texi: Undocument mpz_array_init. I take it Torbjörn really wants to deprecate this function. Are you using it in mpfr? no. Paul ___ gmp-devel mailing

Re: mpz_limbs interface

2014-01-21 Thread Zimmermann Paul
PS: when doing make check with mpfr development version and the gmp snapshot from last night, I get one failure: Seed GMP_CHECK_RANDOMIZE=1391280408 (include this in bug reports) repl-vsnprintf.c:379: GNU MP assertion failed: len total_width /bin/bash: line 5: 7656 Aborted

New mpn random generators (Was: Re: mpz_limbs interface)

2014-01-21 Thread Torbjorn Granlund
ni...@lysator.liu.se (Niels Möller) writes: Torbjorn Granlund t...@gmplib.org writes: ni...@lysator.liu.se (Niels Möller) writes: I see. In this particular case, I think the right gmp interface change is to add mpn_urandomb and mpn_rrandomb (similar to current mpn_random

Re: mpz_limbs interface

2014-01-21 Thread Torbjorn Granlund
Marc Glisse marc.gli...@inria.fr writes: We already have function mpz_array_init which encourages thinking of I removed its docs the other day. Torbjörn ___ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel

Re: mpz_limbs interface

2014-01-21 Thread Marc Glisse
On Tue, 21 Jan 2014, Niels Möller wrote: There's a ChangeLog entry from the day before yesterday: * doc/gmp.texi: Undocument mpz_array_init. Thanks, I hadn't seen it yet. One can still use mpz_realloc2, which can be viewed as an allocation hint to the gmp implementation (so in

Re: New mpn random generators

2014-01-21 Thread Niels Möller
Torbjorn Granlund t...@gmplib.org writes: ni...@lysator.liu.se (Niels Möller) writes: After 5.2? Probably, but you're welcome to fix it today also. :-) Or would you suggest that we postpone the release? No, I donät think the release whould wait for new randomness functions. As you

Re: mpz_limbs interface

2014-01-21 Thread Niels Möller
Marc Glisse marc.gli...@inria.fr writes: I was talking of the case where I already have a preexisting buffer I want to use as _mp_d, I don't want to allocate a new one with mpz_realloc2. That seems to be a few steps further than the new limb interface goes, and I can understand not wanting to

Re: mpz_limbs interface

2014-01-21 Thread bodrato
Ciao, Il Mar, 21 Gennaio 2014 4:24 pm, Torbjorn Granlund ha scritto: Zimmermann Paul paul.zimmerm...@inria.fr writes: Seed GMP_CHECK_RANDOMIZE=1391280408 (include this in bug reports) repl-vsnprintf.c:379: GNU MP assertion failed: len total_width /bin/bash: line 5: 7656 Aborted

Re: mpz_limbs interface

2014-01-21 Thread Marc Glisse
On Tue, 21 Jan 2014, Niels Möller wrote: No, the new limb interface can only do it the other way round. If you want to use a buffer as mpz_t output, and access it with low-level fucntions too, you have give the reponsibility for allocating it to _mpz_realloc, and write the code to tolerate that

Re: mpz_limbs interface

2014-01-21 Thread Torbjorn Granlund
ni...@lysator.liu.se (Niels Möller) writes: This assumes that C++ allows initializers with arbitrary non-constant expressions (does it?), and that we implement mpn_set_d. The top-level file extract-dbl.c kind-of does that already. Torbjörn ___

Re: mpz_limbs interface

2014-01-21 Thread Zimmermann Paul
Dear Marco, Seed GMP_CHECK_RANDOMIZE=1391280408 (include this in bug reports) repl-vsnprintf.c:379: GNU MP assertion failed: len total_width /bin/bash: line 5: 7656 Aborted (core dumped) MPFR_QUIET=1 ${dir}$tst FAIL: tprintf I trust that you will