83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /* boost random/uniform_real.hpp header file
 | |
|  *
 | |
|  * Copyright Jens Maurer 2000-2001
 | |
|  * Distributed under the Boost Software License, Version 1.0. (See
 | |
|  * accompanying file LICENSE_1_0.txt or copy at
 | |
|  * http://www.boost.org/LICENSE_1_0.txt)
 | |
|  *
 | |
|  * See http://www.boost.org for most recent version including documentation.
 | |
|  *
 | |
|  * $Id$
 | |
|  *
 | |
|  * Revision history
 | |
|  *  2001-04-08  added min<max assertion (N. Becker)
 | |
|  *  2001-02-18  moved to individual header files
 | |
|  */
 | |
| 
 | |
| #ifndef BOOST_RANDOM_UNIFORM_REAL_HPP
 | |
| #define BOOST_RANDOM_UNIFORM_REAL_HPP
 | |
| 
 | |
| #include <boost/assert.hpp>
 | |
| #include <boost/config.hpp>
 | |
| #include <boost/limits.hpp>
 | |
| #include <boost/random/uniform_real_distribution.hpp>
 | |
| 
 | |
| namespace boost {
 | |
| 
 | |
| /**
 | |
|  * The distribution function uniform_real models a random distribution.
 | |
|  * On each invocation, it returns a random floating-point value uniformly
 | |
|  * distributed in the range [min..max).
 | |
|  *
 | |
|  * This class is deprecated.  Please use @c uniform_real_distribution in
 | |
|  * new code.
 | |
|  */
 | |
| template<class RealType = double>
 | |
| class uniform_real : public random::uniform_real_distribution<RealType>
 | |
| {
 | |
|     typedef random::uniform_real_distribution<RealType> base_type;
 | |
| public:
 | |
| 
 | |
|     class param_type : public base_type::param_type
 | |
|     {
 | |
|     public:
 | |
|         typedef uniform_real distribution_type;
 | |
|         /**
 | |
|          * Constructs the parameters of a uniform_real distribution.
 | |
|          *
 | |
|          * Requires: min <= max
 | |
|          */
 | |
|         explicit param_type(RealType min_arg = RealType(0.0),
 | |
|                             RealType max_arg = RealType(1.0))
 | |
|           : base_type::param_type(min_arg, max_arg)
 | |
|         {}
 | |
|     };
 | |
| 
 | |
|     /**
 | |
|      * Constructs a uniform_real object. @c min and @c max are the
 | |
|      * parameters of the distribution.
 | |
|      *
 | |
|      * Requires: min <= max
 | |
|      */
 | |
|     explicit uniform_real(RealType min_arg = RealType(0.0),
 | |
|                           RealType max_arg = RealType(1.0))
 | |
|       : base_type(min_arg, max_arg)
 | |
|     {
 | |
|         BOOST_ASSERT(min_arg < max_arg);
 | |
|     }
 | |
| 
 | |
|     /** Constructs a uniform_real distribution from its parameters. */
 | |
|     explicit uniform_real(const param_type& parm)
 | |
|       : base_type(parm)
 | |
|     {}
 | |
| 
 | |
|     /** Returns the parameters of the distribution */
 | |
|     param_type param() const { return param_type(this->a(), this->b()); }
 | |
|     /** Sets the parameters of the distribution. */
 | |
|     void param(const param_type& parm) { this->base_type::param(parm); }
 | |
| };
 | |
| 
 | |
| } // namespace boost
 | |
| 
 | |
| #endif // BOOST_RANDOM_UNIFORM_REAL_HPP
 | 
