Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/random/uniform_real.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children | c530137014c0 |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
1 /* boost random/uniform_real.hpp header file | |
2 * | |
3 * Copyright Jens Maurer 2000-2001 | |
4 * Distributed under the Boost Software License, Version 1.0. (See | |
5 * accompanying file LICENSE_1_0.txt or copy at | |
6 * http://www.boost.org/LICENSE_1_0.txt) | |
7 * | |
8 * See http://www.boost.org for most recent version including documentation. | |
9 * | |
10 * $Id: uniform_real.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $ | |
11 * | |
12 * Revision history | |
13 * 2001-04-08 added min<max assertion (N. Becker) | |
14 * 2001-02-18 moved to individual header files | |
15 */ | |
16 | |
17 #ifndef BOOST_RANDOM_UNIFORM_REAL_HPP | |
18 #define BOOST_RANDOM_UNIFORM_REAL_HPP | |
19 | |
20 #include <boost/assert.hpp> | |
21 #include <boost/config.hpp> | |
22 #include <boost/limits.hpp> | |
23 #include <boost/random/uniform_real_distribution.hpp> | |
24 | |
25 namespace boost { | |
26 | |
27 /** | |
28 * The distribution function uniform_real models a random distribution. | |
29 * On each invocation, it returns a random floating-point value uniformly | |
30 * distributed in the range [min..max). | |
31 * | |
32 * This class is deprecated. Please use @c uniform_real_distribution in | |
33 * new code. | |
34 */ | |
35 template<class RealType = double> | |
36 class uniform_real : public random::uniform_real_distribution<RealType> | |
37 { | |
38 typedef random::uniform_real_distribution<RealType> base_type; | |
39 public: | |
40 | |
41 class param_type : public base_type::param_type | |
42 { | |
43 public: | |
44 typedef uniform_real distribution_type; | |
45 /** | |
46 * Constructs the parameters of a uniform_real distribution. | |
47 * | |
48 * Requires: min <= max | |
49 */ | |
50 explicit param_type(RealType min_arg = RealType(0.0), | |
51 RealType max_arg = RealType(1.0)) | |
52 : base_type::param_type(min_arg, max_arg) | |
53 {} | |
54 }; | |
55 | |
56 /** | |
57 * Constructs a uniform_real object. @c min and @c max are the | |
58 * parameters of the distribution. | |
59 * | |
60 * Requires: min <= max | |
61 */ | |
62 explicit uniform_real(RealType min_arg = RealType(0.0), | |
63 RealType max_arg = RealType(1.0)) | |
64 : base_type(min_arg, max_arg) | |
65 { | |
66 BOOST_ASSERT(min_arg <= max_arg); | |
67 } | |
68 | |
69 /** Constructs a uniform_real distribution from its parameters. */ | |
70 explicit uniform_real(const param_type& parm) | |
71 : base_type(parm) | |
72 {} | |
73 | |
74 /** Returns the parameters of the distribution */ | |
75 param_type param() const { return param_type(this->a(), this->b()); } | |
76 /** Sets the parameters of the distribution. */ | |
77 void param(const param_type& parm) { this->base_type::param(parm); } | |
78 }; | |
79 | |
80 } // namespace boost | |
81 | |
82 #endif // BOOST_RANDOM_UNIFORM_REAL_HPP |