[rng](site) broken source(current) link

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[rng](site) broken source(current) link

Bernd Eckenfels
I wanted to check if RNG can construct uniformly distributed BigIntegers and how it is doing it (answer: it doesn’t) while doing so I noticed that the site link to the source is broken, maybe this is due to git-wip migration?

BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html

Gruss
Bernd
--
http://bernd.eckenfels.net
Reply | Threaded
Open this post in threaded view
|

Re: [rng](site) broken source(current) link

Gilles Sadowski
Hi.

On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
> I wanted to check if RNG can construct uniformly distributed
> BigIntegers and how it is doing it (answer: it doesn’t)

It could be a feature request.
[I guess that you mean "within a given range".]

Being curious: What's the use-case for random "BigInteger"s?

> while doing so
> I noticed that the site link to the source is broken, maybe this is
> due to git-wip migration?

Yes.
Thanks; fixed now.

>
> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html


Regards,
Gilles

>
> Gruss
> Bernd
> --
> http://bernd.eckenfels.net


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[rng] Uniform big integers

Bernd Eckenfels
Hello,

I don’t know what the usecase is, it is motivated by a Bug about BigInteger(num, Random). I guess one of the users is actually the crypto usecase (starting with random numbers to find primes).

I wanted to check how RNG deals with this (since the additional need for generating a random bitlength looks unfamiliar but logical to me). Is it really not enough to fill all bits randomly (especially for the case where it is a 0 .. 2^n range only)?

Discussion is here: http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html

Gruss
Bernd
--
http://bernd.eckenfels.net

________________________________
Von: Gilles <[hidden email]>
Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
An: [hidden email]
Betreff: Re: [rng](site) broken source(current) link

Hi.

On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
> I wanted to check if RNG can construct uniformly distributed
> BigIntegers and how it is doing it (answer: it doesn’t)

It could be a feature request.
[I guess that you mean "within a given range".]

Being curious: What's the use-case for random "BigInteger"s?

> while doing so
> I noticed that the site link to the source is broken, maybe this is
> due to git-wip migration?

Yes.
Thanks; fixed now.

>
> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html


Regards,
Gilles

>
> Gruss
> Bernd
> --
> http://bernd.eckenfels.net


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [rng] Uniform big integers

Gilles Sadowski
Hi.

On Thu, 20 Dec 2018 15:15:55 +0000, Bernd Eckenfels wrote:
> Hello,
>
> I don’t know what the usecase is, it is motivated by a Bug about
> BigInteger(num, Random). I guess one of the users is actually the
> crypto usecase (starting with random numbers to find primes).
>
> I wanted to check how RNG deals with this

You can do it by defining a bridge from [RNG] "UniformRandomProvider"
to "java.util.Random":
--- CUT (untested) ---
public class BridgeToRandom extends Random {
    private final UniformRandomProvider delegate;

    public BridgeToRandom(UniformRandomProvider rng) {
        delegate = rng;
    }

    @Override
    protected int next(int unused) {
        return rng.nextInt();
    }
}
---CUT---

Then, you can test all the generators implemented in [RNG].

Regards,
Gilles

> (since the additional need
> for generating a random bitlength looks unfamiliar but logical to
> me).
> Is it really not enough to fill all bits randomly (especially for the
> case where it is a 0 .. 2^n range only)?
>
> Discussion is here:
>
> http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html
>
> Gruss
> Bernd
> --
> http://bernd.eckenfels.net
>
> ________________________________
> Von: Gilles <[hidden email]>
> Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
> An: [hidden email]
> Betreff: Re: [rng](site) broken source(current) link
>
> Hi.
>
> On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
>> I wanted to check if RNG can construct uniformly distributed
>> BigIntegers and how it is doing it (answer: it doesn’t)
>
> It could be a feature request.
> [I guess that you mean "within a given range".]
>
> Being curious: What's the use-case for random "BigInteger"s?
>
>> while doing so
>> I noticed that the site link to the source is broken, maybe this is
>> due to git-wip migration?
>
> Yes.
> Thanks; fixed now.
>
>>
>> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html
>
>
> Regards,
> Gilles
>
>>
>> Gruss
>> Bernd
>> --
>> http://bernd.eckenfels.net


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [rng] Uniform big integers

Gilles Sadowski
On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:

> Hi.
>
> On Thu, 20 Dec 2018 15:15:55 +0000, Bernd Eckenfels wrote:
>> Hello,
>>
>> I don’t know what the usecase is, it is motivated by a Bug about
>> BigInteger(num, Random). I guess one of the users is actually the
>> crypto usecase (starting with random numbers to find primes).
>>
>> I wanted to check how RNG deals with this
>
> You can do it by defining a bridge from [RNG] "UniformRandomProvider"
> to "java.util.Random":
> --- CUT (untested) ---
> public class BridgeToRandom extends Random {
>    private final UniformRandomProvider delegate;
>
>    public BridgeToRandom(UniformRandomProvider rng) {
>        delegate = rng;
>    }
>
>    @Override
>    protected int next(int unused) {
>        return rng.nextInt();
>    }
> }
> ---CUT---
>
> Then, you can test all the generators implemented in [RNG].

FTR: In case you don't pursue it, please file a report on JIRA
to keep track of this if we want to explore how it could extend
the test suite.

Thanks,
Gilles

>
>> (since the additional need
>> for generating a random bitlength looks unfamiliar but logical to
>> me).
>> Is it really not enough to fill all bits randomly (especially for
>> the
>> case where it is a 0 .. 2^n range only)?
>>
>> Discussion is here:
>>
>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html
>>
>> Gruss
>> Bernd
>> --
>> http://bernd.eckenfels.net
>>
>> ________________________________
>> Von: Gilles <[hidden email]>
>> Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
>> An: [hidden email]
>> Betreff: Re: [rng](site) broken source(current) link
>>
>> Hi.
>>
>> On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
>>> I wanted to check if RNG can construct uniformly distributed
>>> BigIntegers and how it is doing it (answer: it doesn’t)
>>
>> It could be a feature request.
>> [I guess that you mean "within a given range".]
>>
>> Being curious: What's the use-case for random "BigInteger"s?
>>
>>> while doing so
>>> I noticed that the site link to the source is broken, maybe this is
>>> due to git-wip migration?
>>
>> Yes.
>> Thanks; fixed now.
>>
>>>
>>> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html
>>
>>
>> Regards,
>> Gilles
>>
>>>
>>> Gruss
>>> Bernd
>>> --
>>> http://bernd.eckenfels.net
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [rng] Uniform big integers

Bernd Eckenfels
Hello,

The actual discussion on the OpenJDK list turned out to be a wrong understanding and the simple case of generating random bytes was enough for BigInteger.

However regarding RNG I can open requests, one would be for a RandomAdapter and the other would be to add a factory method for BigInteger (and possibly BigDecimal) to the Random Providers. (Or did. You mean only the Adapter?)

Gruss
Bernd
--
http://bernd.eckenfels.net

________________________________
Von: Gilles <[hidden email]>
Gesendet: Freitag, Dezember 21, 2018 4:43 PM
An: [hidden email]
Betreff: Re: [rng] Uniform big integers

On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:

> Hi.
>
> On Thu, 20 Dec 2018 15:15:55 +0000, Bernd Eckenfels wrote:
>> Hello,
>>
>> I don’t know what the usecase is, it is motivated by a Bug about
>> BigInteger(num, Random). I guess one of the users is actually the
>> crypto usecase (starting with random numbers to find primes).
>>
>> I wanted to check how RNG deals with this
>
> You can do it by defining a bridge from [RNG] "UniformRandomProvider"
> to "java.util.Random":
> --- CUT (untested) ---
> public class BridgeToRandom extends Random {
> private final UniformRandomProvider delegate;
>
> public BridgeToRandom(UniformRandomProvider rng) {
> delegate = rng;
> }
>
> @Override
> protected int next(int unused) {
> return rng.nextInt();
> }
> }
> ---CUT---
>
> Then, you can test all the generators implemented in [RNG].

FTR: In case you don't pursue it, please file a report on JIRA
to keep track of this if we want to explore how it could extend
the test suite.

Thanks,
Gilles

>
>> (since the additional need
>> for generating a random bitlength looks unfamiliar but logical to
>> me).
>> Is it really not enough to fill all bits randomly (especially for
>> the
>> case where it is a 0 .. 2^n range only)?
>>
>> Discussion is here:
>>
>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html
>>
>> Gruss
>> Bernd
>> --
>> http://bernd.eckenfels.net
>>
>> ________________________________
>> Von: Gilles <[hidden email]>
>> Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
>> An: [hidden email]
>> Betreff: Re: [rng](site) broken source(current) link
>>
>> Hi.
>>
>> On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
>>> I wanted to check if RNG can construct uniformly distributed
>>> BigIntegers and how it is doing it (answer: it doesn’t)
>>
>> It could be a feature request.
>> [I guess that you mean "within a given range".]
>>
>> Being curious: What's the use-case for random "BigInteger"s?
>>
>>> while doing so
>>> I noticed that the site link to the source is broken, maybe this is
>>> due to git-wip migration?
>>
>> Yes.
>> Thanks; fixed now.
>>
>>>
>>> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html
>>
>>
>> Regards,
>> Gilles
>>
>>>
>>> Gruss
>>> Bernd
>>> --
>>> http://bernd.eckenfels.net
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [rng] Uniform big integers

Gilles Sadowski
Hi.

On Fri, 21 Dec 2018 16:04:05 +0000, Bernd Eckenfels wrote:

> Hello,
>
> The actual discussion on the OpenJDK list turned out to be a wrong
> understanding and the simple case of generating random bytes was
> enough for BigInteger.
>
> However regarding RNG I can open requests, one would be for a
> RandomAdapter and the other would be to add a factory method for
> BigInteger (and possibly BigDecimal) to the Random Providers. (Or
> did.
> You mean only the Adapter?)

I actually meant testing whether the bug you mentioned could
be seen with an RNG other than "java.util.Random". But since
(IIUC) there is no bug...

Adapter/Bridge cannot fulfill all the functionality of "Random"
(e.g., there is, intentionally, no "setSeed" method).
It's a can of worms/issues with no decent workaround.[1]
So better leave that to application developers: The bridge itself
is trivial[2]; then they must be aware of what to implement,
depending on what the code (to which they pass the adapter) is
doing with it.

Generating "BigInteger" is at a level higher than the rest of the
core API (i.e. "UniformRandomProvider"), which is meant to generate
primitive types.[3]
At first sight, I'd put that functionality in another module.

Regards,
Gilles

[1]
http://commons.apache.org/proper/commons-rng/userguide/why_not_java_random.html
[2] We might insert a paragraph about this in the userguide, and/or
     provide the code snippet in the "commons-rng-examples" module.
[3]
http://commons.apache.org/proper/commons-rng/commons-rng-client-api/apidocs/org/apache/commons/rng/RestorableUniformRandomProvider.html

>
> Gruss
> Bernd
> --
> http://bernd.eckenfels.net
>
> ________________________________
> Von: Gilles <[hidden email]>
> Gesendet: Freitag, Dezember 21, 2018 4:43 PM
> An: [hidden email]
> Betreff: Re: [rng] Uniform big integers
>
> On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:
>> Hi.
>>
>> On Thu, 20 Dec 2018 15:15:55 +0000, Bernd Eckenfels wrote:
>>> Hello,
>>>
>>> I don’t know what the usecase is, it is motivated by a Bug about
>>> BigInteger(num, Random). I guess one of the users is actually the
>>> crypto usecase (starting with random numbers to find primes).
>>>
>>> I wanted to check how RNG deals with this
>>
>> You can do it by defining a bridge from [RNG]
>> "UniformRandomProvider"
>> to "java.util.Random":
>> --- CUT (untested) ---
>> public class BridgeToRandom extends Random {
>> private final UniformRandomProvider delegate;
>>
>> public BridgeToRandom(UniformRandomProvider rng) {
>> delegate = rng;
>> }
>>
>> @Override
>> protected int next(int unused) {
>> return rng.nextInt();
>> }
>> }
>> ---CUT---
>>
>> Then, you can test all the generators implemented in [RNG].
>
> FTR: In case you don't pursue it, please file a report on JIRA
> to keep track of this if we want to explore how it could extend
> the test suite.
>
> Thanks,
> Gilles
>
>>
>>> (since the additional need
>>> for generating a random bitlength looks unfamiliar but logical to
>>> me).
>>> Is it really not enough to fill all bits randomly (especially for
>>> the
>>> case where it is a 0 .. 2^n range only)?
>>>
>>> Discussion is here:
>>>
>>>
>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html
>>>
>>> Gruss
>>> Bernd
>>> --
>>> http://bernd.eckenfels.net
>>>
>>> ________________________________
>>> Von: Gilles <[hidden email]>
>>> Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
>>> An: [hidden email]
>>> Betreff: Re: [rng](site) broken source(current) link
>>>
>>> Hi.
>>>
>>> On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
>>>> I wanted to check if RNG can construct uniformly distributed
>>>> BigIntegers and how it is doing it (answer: it doesn’t)
>>>
>>> It could be a feature request.
>>> [I guess that you mean "within a given range".]
>>>
>>> Being curious: What's the use-case for random "BigInteger"s?
>>>
>>>> while doing so
>>>> I noticed that the site link to the source is broken, maybe this
>>>> is
>>>> due to git-wip migration?
>>>
>>> Yes.
>>> Thanks; fixed now.
>>>
>>>>
>>>> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html
>>>
>>>
>>> Regards,
>>> Gilles
>>>
>>>>
>>>> Gruss
>>>> Bernd
>>>> --
>>>> http://bernd.eckenfels.net
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

AW: [rng] Uniform big integers

Bernd Eckenfels
Hello,

just noticed an adapter is already referenced (rng.simple.JDKRandomBridge) on the „why not java random“ page. So it can be used with the BigInteger constructor to generate power-of-two randoms (already).

I wont request more Features without having a usecase for them. Thanks for Looking into this.

Gruss
Bernd
--
http://bernd.eckenfels.net

Von: Gilles
Gesendet: Samstag, 22. Dezember 2018 00:35
An: [hidden email]
Betreff: Re: [rng] Uniform big integers

Hi.

On Fri, 21 Dec 2018 16:04:05 +0000, Bernd Eckenfels wrote:

> Hello,
>
> The actual discussion on the OpenJDK list turned out to be a wrong
> understanding and the simple case of generating random bytes was
> enough for BigInteger.
>
> However regarding RNG I can open requests, one would be for a
> RandomAdapter and the other would be to add a factory method for
> BigInteger (and possibly BigDecimal) to the Random Providers. (Or
> did.
> You mean only the Adapter?)

I actually meant testing whether the bug you mentioned could
be seen with an RNG other than "java.util.Random". But since
(IIUC) there is no bug...

Adapter/Bridge cannot fulfill all the functionality of "Random"
(e.g., there is, intentionally, no "setSeed" method).
It's a can of worms/issues with no decent workaround.[1]
So better leave that to application developers: The bridge itself
is trivial[2]; then they must be aware of what to implement,
depending on what the code (to which they pass the adapter) is
doing with it.

Generating "BigInteger" is at a level higher than the rest of the
core API (i.e. "UniformRandomProvider"), which is meant to generate
primitive types.[3]
At first sight, I'd put that functionality in another module.

Regards,
Gilles

[1]
http://commons.apache.org/proper/commons-rng/userguide/why_not_java_random.html
[2] We might insert a paragraph about this in the userguide, and/or
     provide the code snippet in the "commons-rng-examples" module.
[3]
http://commons.apache.org/proper/commons-rng/commons-rng-client-api/apidocs/org/apache/commons/rng/RestorableUniformRandomProvider.html

>
> Gruss
> Bernd
> --
> http://bernd.eckenfels.net
>
> ________________________________
> Von: Gilles <[hidden email]>
> Gesendet: Freitag, Dezember 21, 2018 4:43 PM
> An: [hidden email]
> Betreff: Re: [rng] Uniform big integers
>
> On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:
>> Hi.
>>
>> On Thu, 20 Dec 2018 15:15:55 +0000, Bernd Eckenfels wrote:
>>> Hello,
>>>
>>> I don’t know what the usecase is, it is motivated by a Bug about
>>> BigInteger(num, Random). I guess one of the users is actually the
>>> crypto usecase (starting with random numbers to find primes).
>>>
>>> I wanted to check how RNG deals with this
>>
>> You can do it by defining a bridge from [RNG]
>> "UniformRandomProvider"
>> to "java.util.Random":
>> --- CUT (untested) ---
>> public class BridgeToRandom extends Random {
>> private final UniformRandomProvider delegate;
>>
>> public BridgeToRandom(UniformRandomProvider rng) {
>> delegate = rng;
>> }
>>
>> @Override
>> protected int next(int unused) {
>> return rng.nextInt();
>> }
>> }
>> ---CUT---
>>
>> Then, you can test all the generators implemented in [RNG].
>
> FTR: In case you don't pursue it, please file a report on JIRA
> to keep track of this if we want to explore how it could extend
> the test suite.
>
> Thanks,
> Gilles
>
>>
>>> (since the additional need
>>> for generating a random bitlength looks unfamiliar but logical to
>>> me).
>>> Is it really not enough to fill all bits randomly (especially for
>>> the
>>> case where it is a 0 .. 2^n range only)?
>>>
>>> Discussion is here:
>>>
>>>
>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html
>>>
>>> Gruss
>>> Bernd
>>> --
>>> http://bernd.eckenfels.net
>>>
>>> ________________________________
>>> Von: Gilles <[hidden email]>
>>> Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
>>> An: [hidden email]
>>> Betreff: Re: [rng](site) broken source(current) link
>>>
>>> Hi.
>>>
>>> On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
>>>> I wanted to check if RNG can construct uniformly distributed
>>>> BigIntegers and how it is doing it (answer: it doesn’t)
>>>
>>> It could be a feature request.
>>> [I guess that you mean "within a given range".]
>>>
>>> Being curious: What's the use-case for random "BigInteger"s?
>>>
>>>> while doing so
>>>> I noticed that the site link to the source is broken, maybe this
>>>> is
>>>> due to git-wip migration?
>>>
>>> Yes.
>>> Thanks; fixed now.
>>>
>>>>
>>>> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html
>>>
>>>
>>> Regards,
>>> Gilles
>>>
>>>>
>>>> Gruss
>>>> Bernd
>>>> --
>>>> http://bernd.eckenfels.net
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: AW: [rng] Uniform big integers

Gilles Sadowski
On Sat, 22 Dec 2018 00:51:11 +0100, Bernd Eckenfels wrote:
> Hello,
>
> just noticed an adapter is already referenced
> (rng.simple.JDKRandomBridge)

Forgot that one; sorry!
Thanks for the reminder; "setSeed" is even supported...

Regards,
Gilles

> on the „why not java random“ page. So it
> can be used with the BigInteger constructor to generate power-of-two
> randoms (already).
>
> I wont request more Features without having a usecase for them.
> Thanks for Looking into this.
>
> Gruss
> Bernd
> --
> http://bernd.eckenfels.net
>
> Von: Gilles
> Gesendet: Samstag, 22. Dezember 2018 00:35
> An: [hidden email]
> Betreff: Re: [rng] Uniform big integers
>
> Hi.
>
> On Fri, 21 Dec 2018 16:04:05 +0000, Bernd Eckenfels wrote:
>> Hello,
>>
>> The actual discussion on the OpenJDK list turned out to be a wrong
>> understanding and the simple case of generating random bytes was
>> enough for BigInteger.
>>
>> However regarding RNG I can open requests, one would be for a
>> RandomAdapter and the other would be to add a factory method for
>> BigInteger (and possibly BigDecimal) to the Random Providers. (Or
>> did.
>> You mean only the Adapter?)
>
> I actually meant testing whether the bug you mentioned could
> be seen with an RNG other than "java.util.Random". But since
> (IIUC) there is no bug...
>
> Adapter/Bridge cannot fulfill all the functionality of "Random"
> (e.g., there is, intentionally, no "setSeed" method).
> It's a can of worms/issues with no decent workaround.[1]
> So better leave that to application developers: The bridge itself
> is trivial[2]; then they must be aware of what to implement,
> depending on what the code (to which they pass the adapter) is
> doing with it.
>
> Generating "BigInteger" is at a level higher than the rest of the
> core API (i.e. "UniformRandomProvider"), which is meant to generate
> primitive types.[3]
> At first sight, I'd put that functionality in another module.
>
> Regards,
> Gilles
>
> [1]
>
> http://commons.apache.org/proper/commons-rng/userguide/why_not_java_random.html
> [2] We might insert a paragraph about this in the userguide, and/or
>      provide the code snippet in the "commons-rng-examples" module.
> [3]
>
> http://commons.apache.org/proper/commons-rng/commons-rng-client-api/apidocs/org/apache/commons/rng/RestorableUniformRandomProvider.html
>
>>
>> Gruss
>> Bernd
>> --
>> http://bernd.eckenfels.net
>>
>> ________________________________
>> Von: Gilles <[hidden email]>
>> Gesendet: Freitag, Dezember 21, 2018 4:43 PM
>> An: [hidden email]
>> Betreff: Re: [rng] Uniform big integers
>>
>> On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:
>>> Hi.
>>>
>>> On Thu, 20 Dec 2018 15:15:55 +0000, Bernd Eckenfels wrote:
>>>> Hello,
>>>>
>>>> I don’t know what the usecase is, it is motivated by a Bug about
>>>> BigInteger(num, Random). I guess one of the users is actually the
>>>> crypto usecase (starting with random numbers to find primes).
>>>>
>>>> I wanted to check how RNG deals with this
>>>
>>> You can do it by defining a bridge from [RNG]
>>> "UniformRandomProvider"
>>> to "java.util.Random":
>>> --- CUT (untested) ---
>>> public class BridgeToRandom extends Random {
>>> private final UniformRandomProvider delegate;
>>>
>>> public BridgeToRandom(UniformRandomProvider rng) {
>>> delegate = rng;
>>> }
>>>
>>> @Override
>>> protected int next(int unused) {
>>> return rng.nextInt();
>>> }
>>> }
>>> ---CUT---
>>>
>>> Then, you can test all the generators implemented in [RNG].
>>
>> FTR: In case you don't pursue it, please file a report on JIRA
>> to keep track of this if we want to explore how it could extend
>> the test suite.
>>
>> Thanks,
>> Gilles
>>
>>>
>>>> (since the additional need
>>>> for generating a random bitlength looks unfamiliar but logical to
>>>> me).
>>>> Is it really not enough to fill all bits randomly (especially for
>>>> the
>>>> case where it is a 0 .. 2^n range only)?
>>>>
>>>> Discussion is here:
>>>>
>>>>
>>>>
>>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html
>>>>
>>>> Gruss
>>>> Bernd
>>>> --
>>>> http://bernd.eckenfels.net
>>>>
>>>> ________________________________
>>>> Von: Gilles <[hidden email]>
>>>> Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
>>>> An: [hidden email]
>>>> Betreff: Re: [rng](site) broken source(current) link
>>>>
>>>> Hi.
>>>>
>>>> On Thu, 20 Dec 2018 12:43:51 +0000, Bernd Eckenfels wrote:
>>>>> I wanted to check if RNG can construct uniformly distributed
>>>>> BigIntegers and how it is doing it (answer: it doesn’t)
>>>>
>>>> It could be a feature request.
>>>> [I guess that you mean "within a given range".]
>>>>
>>>> Being curious: What's the use-case for random "BigInteger"s?
>>>>
>>>>> while doing so
>>>>> I noticed that the site link to the source is broken, maybe this
>>>>> is
>>>>> due to git-wip migration?
>>>>
>>>> Yes.
>>>> Thanks; fixed now.
>>>>
>>>>>
>>>>> BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html
>>>>
>>>>
>>>> Regards,
>>>> Gilles
>>>>
>>>>>
>>>>> Gruss
>>>>> Bernd
>>>>> --
>>>>> http://bernd.eckenfels.net
>>>
>>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]