boostorg / random

Boost.org random module
http://boost.org/libs/random
34 stars 68 forks source link

Xorshift generators #58

Open heitorPB opened 4 years ago

heitorPB commented 4 years ago

I found the Xorshift Wikipedia page and saw that Boost doesn't have Marshaglia's nor Vigna's generators.

Is there a reason for that? If not, I'd like to request those :) I'd like to help adding them to Boost (if that's the case), but keep in mind that I'm not an expert in PRNGs.

swatanabe commented 4 years ago

AMDG

On 10/13/19 9:12 AM, Heitor wrote:

I found the Xorshift Wikipedia page and saw that Boost doesn't have Marshaglia's nor Vigna's generators.

Is there a reason for that? If not, I'd like to request those :) I'd like to help adding them to Boost (if that's the case), but keep in mind that I'm not an expert in PRNGs.

You should talk to @degski. I believe that his implementation is complete and just needs a bit of boilerplate for integration.

In Christ, Steven Watanabe

degski commented 4 years ago

I'm literally heading for the door for an international trip. I need to remove some things (xoroshiro128plusshixo, xoroshiro128plusshixostar and xoroshiro128plusshixostarshixo (see readme)) from the implementation, then, as far as I can see it's good to go. As a bonus, it provides splitmix64, which is recommended by Vigna for seeding (so, I implemented it that way). I'll get back to it later.

heitorPB commented 4 years ago

That's great, @degski!

I quickly saw your code and noticed you implemented only the Xoroshiros. Is there a reason for not including the xoshiros? I'm particularly interested in xoshiro256** (and curious about the the variantes with 512 and 1024 bits of space).

heitorPB commented 4 years ago

ha, sorry @degski , I didn't look enough in your code previously.. all those generators are in your code. How can I help to add your code to Boost?