digitalmars.D.announce - Numpy Random Number Generators
- dsimcha (14/14) Apr 30 2009 I've ported a large portion of the Numpy random number generation librar...
- Andrei Alexandrescu (3/21) Apr 30 2009 These look great. Could I convince you to contribute them to Phobos?
- dsimcha (6/27) May 01 2009 I would certainly be willing to grant permission for these to be include...
- Pablo Ripolles (3/29) May 01 2009 Hello, I might be wrong but, as far as I know, the licenses apply to cod...
- dsimcha (13/42) May 01 2009 not to algorithms. That is, once you jump out of the original implementa...
- Pablo Ripolles (3/46) May 01 2009 yeah, that makes sense.
- Michel Fortin (9/20) May 02 2009 You can always ask for permission at the source. You never know, they
- Fawzi Mohamed (5/23) May 12 2009 otherwise adding the missing distributions (gaussian, exponential &
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.
Apr 30 2009
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
Apr 30 2009
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s articledsimcha wrote: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.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
dsimcha Wrote:== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s articleHello, I might be wrong but, as far as I know, the licenses apply to code and not to algorithms. That is, once you jump out of the original implementation (the original codes are not in d) and you re-implement the algorithms in another language (in this case d) the work is not, properly speaking, a derived work. I insist, I'm not a lawyer and I'm not 100% sure but that could be checked. Cheers!dsimcha wrote: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'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
== Quote from Pablo Ripolles (in-call gmx.net)'s articledsimcha Wrote:not to algorithms. That is, once you jump out of the original implementation (the original codes are not in d) and you re-implement the algorithms in another language (in this case d) the work is not, properly speaking, a derived work. I insist, I'm not a lawyer and I'm not 100% sure but that could be checked.== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s articleHello, I might be wrong but, as far as I know, the licenses apply to code anddsimcha wrote: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'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? AndreiCheers!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.
May 01 2009
dsimcha Wrote:== Quote from Pablo Ripolles (in-call gmx.net)'s articleyeah, that makes sense. cheers!dsimcha Wrote:not to algorithms. That is, once you jump out of the original implementation (the original codes are not in d) and you re-implement the algorithms in another language (in this case d) the work is not, properly speaking, a derived work. I insist, I'm not a lawyer and I'm not 100% sure but that could be checked.== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s articleHello, I might be wrong but, as far as I know, the licenses apply to code anddsimcha wrote: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'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? AndreiCheers!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.
May 01 2009
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 02 2009
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:otherwise adding the missing distributions (gaussian, exponential & gamma are already there, and done efficiently) to tango.math.random.Random would also be welcomed. FawziIDK, 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.
May 12 2009