Boost logo

Boost :

From: Andrew Sutton (asutton_at_[hidden])
Date: 2007-12-11 08:31:54


> Jeremy Bruestle wrote:
>> Hello, I have implemented support for the beta distribution for
>> boost::random. I was wondering who I should send it to for
>> examination and possible acceptance into boost?

Interesting. I took a different approach using a couple of gamma
distributions. Ironically, I'm also using a rejection based technique
from Cheng in 1977. Go figure. I also got bored and wrote a bunch of
other random number generators and fixed some of the ones that were a
little broken in Boost (Gamma and Lognormal). The results are in my
own little Boost testing ground:

http://warhol.sdml.cs.kent.edu/trac/miniboost/browser/trunk/boost/random

I've also been slowly adding support for some of the missing
Boost.Math libraries here:

http://warhol.sdml.cs.kent.edu/trac/miniboost/browser/trunk/boost/
math/distributions

The gumbel_distribution is a renamed version of the
extreme_value_distribution. I renamed since (it looks like) there are
three types of extreme value distributions (weibull, gumbel, and
frechet), and also a generalized extreme value distribution.

I wanted to rename fisher_f to just fisher also, but didn't get
around to it.

I also wrote a histogramming program to help generate plots of random
numbers (using GNUPlot, for example), and comparing some basic stats
against their theoretical equivalents - you know, just to make sure
the random numbers look right. It's a great way of catching

> If you have worked up docs and test cases that are all ready to be
> merged
> into the source, then you could also ask for a formal review (not
> sure if
> this qualifies for a "fast track" review, but it probably should do
> for a
> small addition like this). If accepted you would then be
> responsible for
> making all the necessary changes to the SVN codebase and
> maintaining the
> beta random-distribution.

I was waiting to finish out the Math distributions before dumping
these wholesale into the sandbox. I think it would probably be a good
idea to compare the implementations, figure out which is "better" -
i'd probably lean towards the other since it (hopefully) doesn't
depend on other variates.

Incidentally, the term "library" is meant to indicate the place where
you go to get books as opposed to, say, Boost. They're not placing
any real restrictions on implementations. The article needs to be
cited in the code or in the documentation (preferably both).

Andrew Sutton
asutton_at_[hidden]


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk