User Manual, Developers Guide and API Documentation

DiscreteUniform.hpp

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * This file is part of openWNS (open Wireless Network Simulator)
00003  * _____________________________________________________________________________
00004  *
00005  * Copyright (C) 2004-2007
00006  * Chair of Communication Networks (ComNets)
00007  * Kopernikusstr. 16, D-52074 Aachen, Germany
00008  * phone: ++49-241-80-27910,
00009  * fax: ++49-241-80-22242
00010  * email: info@openwns.org
00011  * www: http://www.openwns.org
00012  * _____________________________________________________________________________
00013  *
00014  * openWNS is free software; you can redistribute it and/or modify it under the
00015  * terms of the GNU Lesser General Public License version 2 as published by the
00016  * Free Software Foundation;
00017  *
00018  * openWNS is distributed in the hope that it will be useful, but WITHOUT ANY
00019  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
00020  * A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
00021  * details.
00022  *
00023  * You should have received a copy of the GNU Lesser General Public License
00024  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00025  *
00026  ******************************************************************************/
00027 
00028 #ifndef WNS_DISTRIBUTION_DISCRETEUNIFORM_HPP
00029 #define WNS_DISTRIBUTION_DISCRETEUNIFORM_HPP
00030 
00031 #include <WNS/distribution/Distribution.hpp>
00032 
00033 #include <WNS/rng/RNGen.hpp>
00034 
00035 namespace wns { namespace distribution {
00036 
00037     typedef wns::rng::VariateGenerator< boost::uniform_smallint<> > DiscreteUniformDist;
00038 
00039     class DiscreteUniform :
00040         public Distribution,
00041         public IHasMean
00042     {
00043     public:
00044         explicit
00045         DiscreteUniform(const pyconfig::View& config);
00046 
00047         explicit
00048         DiscreteUniform(wns::rng::RNGen* rng, const pyconfig::View& config);
00049 
00050         DiscreteUniform(int _low, int _high, 
00051             wns::rng::RNGen* rng = wns::simulator::getRNG());
00052 
00053         virtual
00054         ~DiscreteUniform();
00055 
00056         virtual double
00057         operator()();
00058 
00059         virtual double
00060         getMean() const;
00061 
00062         virtual std::string
00063         paramString() const;
00064 
00065     private:
00066         int low_;
00067         int high_;
00068         DiscreteUniformDist dis_;
00069     }; // DiscreteUniform
00070 
00071 } // distribution
00072 } // wns
00073 
00074 #endif // NOT defined WNS_DISTRIBUTION_DISCRETEUNIFORM_HPP
00075 
00076 /*
00077   Local Variables:
00078   mode: c++
00079   fill-column: 80
00080   c-basic-offset: 8
00081   c-comment-only-line-offset: 0
00082   c-tab-always-indent: t
00083   indent-tabs-mode: t
00084   tab-width: 8
00085   End:
00086 */
00087 

Generated on Wed May 23 03:31:33 2012 for openWNS by  doxygen 1.5.5