At Mon, 10 May 2010 13:14:53 +0200,
Joseph Wakeling wrote:
> While browsing the source code I noticed that the flat/uniform
> distribution provided in GSL's randist.h provided only a 'half-open'
> interval [a,b) akin to what gsl_rng_uniform() provides for [0,1) and not
> also an 'open' interval (a,b) akin to what gsl_rng_uniform_pos()
> provides for (0,1).
> 
> So I wrote a couple of extra functions, which are attached as a git
> patch in case they are useful/welcome.  (Apologies if instead they are
> stupid and I'm missing something; this is a very off-the-cuff
> contribution, but it seemed easy enough to deliver and trivial enough to
> not mind if it's rejected:-)

Thanks, I will correct the comment.  I don't think I will include the
additional functions in this case as they are so similar to the
existing ones.

> More general development question, which is the main reason for joining
> this list.  A project I'm working on needs to employ random sampling on
> several occasions: to be precise, the case of selecting n unique records
> from the set {1, ..., N}, as described in these articles:
> http://doi.acm.org/10.1145/358105.893
> http://doi.acm.org/10.1145/23002.23003
> http://doi.acm.org/10.1145/79505.356313

I think this is what gsl_ran_choose does.  The implementation isn't as
efficient as those described but it gives the same result.

-- 
Brian Gough

Reply via email to