test_uniform_real_distribution.cpp 1.4 KB

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