BayesOpt / include / randgen.hpp

/**  \file randgen.hpp 
    \brief Boost types for random number generation */
   This file is part of BayesOpt, an efficient C++ library for 
   Bayesian optimization.

   Copyright (C) 2011-2013 Ruben Martinez-Cantin <>
   BayesOpt is free software: you can redistribute it and/or modify it 
   under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   BayesOpt is distributed in the hope that it will be useful, but 
   WITHOUT ANY WARRANTY; without even the implied warranty of
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with BayesOpt.  If not, see <>.

#ifndef  _RANDGEN_HPP_
#define  _RANDGEN_HPP_

#include <boost/version.hpp>
#include <boost/random.hpp>

// Types for pseudorandom number generators.

typedef boost::mt19937                                              randEngine;

typedef boost::uniform_real<>				       realUniformDist;
typedef boost::uniform_int<> 					intUniformDist;
typedef boost::normal_distribution<>                                normalDist;
typedef boost::gamma_distribution<>                                  gammaDist;

typedef boost::variate_generator<randEngine&, intUniformDist>          randInt;
typedef boost::variate_generator<randEngine&, normalDist>           randNFloat;
typedef boost::variate_generator<randEngine&, gammaDist>            randGFloat;
typedef boost::variate_generator<randEngine&, realUniformDist>       randFloat;

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.