20 #ifndef ANTKEEPER_MATH_RANDOM_HPP
21 #define ANTKEEPER_MATH_RANDOM_HPP
24 #include <type_traits>
37 template <
typename T =
float>
38 [[nodiscard]] T
random(T start, T end)
40 static_assert(std::is_floating_point<T>::value);
41 constexpr T rand_max_inverse = T(1) /
static_cast<T
>(RAND_MAX);
42 return static_cast<T
>(std::rand()) * rand_max_inverse * (end - start) + start;
Mathematical functions and data types.
T random(T start, T end)
Generates a pseudo-random floating point number on [start, end) using std::rand().