1 /* test_uniform_real_distribution.cpp 2 * 3 * Copyright Steven Watanabe 2011 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 * $Id$ 9 * 10 */ 11 12 #include <boost/random/uniform_real_distribution.hpp> 13 #include <limits> 14 15 #define BOOST_RANDOM_DISTRIBUTION boost::random::uniform_real_distribution<> 16 #define BOOST_RANDOM_ARG1 a 17 #define BOOST_RANDOM_ARG2 b 18 #define BOOST_RANDOM_ARG1_DEFAULT 0.0 19 #define BOOST_RANDOM_ARG2_DEFAULT 1.0 20 #define BOOST_RANDOM_ARG1_VALUE -0.5 21 #define BOOST_RANDOM_ARG2_VALUE 1.5 22 23 #define BOOST_RANDOM_DIST0_MIN 0.0 24 #define BOOST_RANDOM_DIST0_MAX 1.0 25 #define BOOST_RANDOM_DIST1_MIN -0.5 26 #define BOOST_RANDOM_DIST1_MAX 1.0 27 #define BOOST_RANDOM_DIST2_MIN -0.5 28 #define BOOST_RANDOM_DIST2_MAX 1.5 29 30 #define BOOST_RANDOM_TEST1_PARAMS (-1.0, 0.0) 31 #define BOOST_RANDOM_TEST1_MIN -1.0 32 #define BOOST_RANDOM_TEST1_MAX 0.0 33 34 #define BOOST_RANDOM_TEST2_PARAMS 35 #define BOOST_RANDOM_TEST2_MIN 0.0 36 #define BOOST_RANDOM_TEST2_MAX 1.0 37 38 #include "test_distribution.ipp" 39 BOOST_AUTO_TEST_CASE(test_dbl_min_max)40BOOST_AUTO_TEST_CASE(test_dbl_min_max) { 41 boost::random::minstd_rand rng; 42 double min = -(std::numeric_limits<double>::max)(); 43 double max = (std::numeric_limits<double>::max)(); 44 boost::random::uniform_real_distribution<double> dist(min, max); 45 double val = dist(rng); 46 BOOST_CHECK_GE(val, min); 47 BOOST_CHECK_LE(val, max); 48 } 49