diff --git a/cpp/open3d/utility/Random.h b/cpp/open3d/utility/Random.h index ffb5a4113a3..46566a2128c 100644 --- a/cpp/open3d/utility/Random.h +++ b/cpp/open3d/utility/Random.h @@ -43,7 +43,7 @@ std::mutex* GetMutex(); /// This function is automatically protected by the global random mutex. uint32_t RandUint32(); -/// Generate uniformly distributed random integers in [low, high). +/// Generate uniformly distributed random integers in [low, high]. /// This class is globally seeded by utility::random::Seed(). /// This class is a wrapper around std::uniform_int_distribution. /// @@ -54,7 +54,7 @@ uint32_t RandUint32(); /// // Globally seed Open3D. This will affect all random functions. /// utility::random::Seed(0); /// -/// // Generate a random int in [0, 100). +/// // Generate a random int in [0, 100]. /// utility::random::UniformIntGenerator gen(0, 100); /// for (size_t i = 0; i < 10; i++) { /// std::cout << gen() << std::endl; @@ -64,17 +64,18 @@ template class UniformIntGenerator { public: /// Generate uniformly distributed random integer from - /// [low, low + 1, ... high - 1]. + /// [low, low + 1, ... high]. /// /// \param low The lower bound (inclusive). - /// \param high The upper bound (exclusive). \p high must be > \p low. + /// \param high The upper bound (inclusive). \p high must be >= \p low. UniformIntGenerator(const T low, const T high) : distribution_(low, high) { if (low < 0) { utility::LogError("low must be > 0, but got {}.", low); } - if (low >= high) { - utility::LogError("low must be < high, but got low={} and high={}.", - low, high); + if (low > high) { + utility::LogError( + "low must be <= high, but got low={} and high={}.", low, + high); } }