Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
May 01, 2009 Numpy Random Number Generators | ||||
---|---|---|---|---|
| ||||
I've ported a large portion of the Numpy random number generation library to D. (I excluded the uniform random number generators because Phobos and Tango already have good implementations of these, and a few distributions because they were obscure and hard to test properly. I may add the obscure probability distributions later.) The results appear pretty good (I added unit tests that make sure the results are sane while I was at it). The module is licensed under the BSD license. The code is available at: http://dsource.org/projects/dstats/browser/trunk/random.d Docs are at http://svn.dsource.org/projects/dstats/docs/random.html although there's not much there. If you understand the probability distribution you're trying to sample from, it's pretty self-explanatory. If not, a little bit of ddoc isn't going to help, and Wikipedia is probably a better choice. |
May 01, 2009 Re: Numpy Random Number Generators | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | dsimcha wrote:
> I've ported a large portion of the Numpy random number generation library to
> D. (I excluded the uniform random number generators because Phobos and Tango
> already have good implementations of these, and a few distributions because
> they were obscure and hard to test properly. I may add the obscure
> probability distributions later.)
>
> The results appear pretty good (I added unit tests that make sure the results
> are sane while I was at it).
>
> The module is licensed under the BSD license. The code is available at:
> http://dsource.org/projects/dstats/browser/trunk/random.d
>
> Docs are at http://svn.dsource.org/projects/dstats/docs/random.html
> although there's not much there. If you understand the probability
> distribution you're trying to sample from, it's pretty self-explanatory. If
> not, a little bit of ddoc isn't going to help, and Wikipedia is probably a
> better choice.
>
These look great. Could I convince you to contribute them to Phobos?
Andrei
|
May 01, 2009 Re: Numpy Random Number Generators | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | == Quote from Andrei Alexandrescu (SeeWebsiteForEmail@erdani.org)'s article > dsimcha wrote: > > I've ported a large portion of the Numpy random number generation library to D. (I excluded the uniform random number generators because Phobos and Tango already have good implementations of these, and a few distributions because they were obscure and hard to test properly. I may add the obscure probability distributions later.) > > > > The results appear pretty good (I added unit tests that make sure the results are sane while I was at it). > > > > The module is licensed under the BSD license. The code is available at: http://dsource.org/projects/dstats/browser/trunk/random.d > > > > Docs are at http://svn.dsource.org/projects/dstats/docs/random.html although there's not much there. If you understand the probability distribution you're trying to sample from, it's pretty self-explanatory. If not, a little bit of ddoc isn't going to help, and Wikipedia is probably a better choice. > > > These look great. Could I convince you to contribute them to Phobos? Andrei I would certainly be willing to grant permission for these to be included in Phobos. The only problem is the original code that I ported is BSD licensed, meaning you have to include all the relevant disclaimers. I place no additional restrictions on it, but for Phobos, the BSD license's requirements might be too restrictive. |
May 02, 2009 Re: Numpy Random Number Generators | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | On 2009-05-01 15:10:50 -0400, dsimcha <dsimcha@yahoo.com> said: > IDK, I mean, I cut and pasted the code into my D IDE and tweaked it to get it to > compile and then did some statistical tests to make sure the distributions were > still reproduced faithfully. I didn't even change any of the variable names or > code structure or anything in most cases. It's a straight translation, not a real > reimplementation. I don't see how something like this could possibly *not* be > considered a derivative work, and I think the people who wrote the original lib > definitely deserve to be given credit. It's just that some of the BSD legalese is > a little bit of a PITA for code that's in a standard lib. You can always ask for permission at the source. You never know, they may agree to allow you to put your D port under a license that'd work for Phobos. As long as there isn't too many copyright holders, it might work. -- Michel Fortin michel.fortin@michelf.com http://michelf.com/ |
May 12, 2009 Re: Numpy Random Number Generators | ||||
---|---|---|---|---|
| ||||
Posted in reply to Michel Fortin | On 2009-05-02 12:36:16 +0200, Michel Fortin <michel.fortin@michelf.com> said:
> On 2009-05-01 15:10:50 -0400, dsimcha <dsimcha@yahoo.com> said:
>
>> IDK, I mean, I cut and pasted the code into my D IDE and tweaked it to get it to
>> compile and then did some statistical tests to make sure the distributions were
>> still reproduced faithfully. I didn't even change any of the variable names or
>> code structure or anything in most cases. It's a straight translation, not a real
>> reimplementation. I don't see how something like this could possibly *not* be
>> considered a derivative work, and I think the people who wrote the original lib
>> definitely deserve to be given credit. It's just that some of the BSD legalese is
>> a little bit of a PITA for code that's in a standard lib.
>
> You can always ask for permission at the source. You never know, they may agree to allow you to put your D port under a license that'd work for Phobos. As long as there isn't too many copyright holders, it might work.
otherwise adding the missing distributions (gaussian, exponential & gamma are already there, and done efficiently) to tango.math.random.Random would also be welcomed.
Fawzi
|
Copyright © 1999-2021 by the D Language Foundation