3#ifndef pRC_CORE_RANDOM_UNIFORM_H
4#define pRC_CORE_RANDOM_UNIFORM_H
41 "Parameter a of uniform real distribution must be less "
42 "than parameter b. Range of values is [a,b).");
50 "Parameter a of uniform integer distribution must be "
51 "less than or equal to parameter b. Range of values is "
59 constexpr auto &
a()
const
64 constexpr auto &
b()
const
69 constexpr auto min()
const
74 constexpr auto max()
const
88 using UInt =
Common<
typename URNG::result_type,
91 constexpr auto range = [](
auto const a,
auto const b)
93 if constexpr(
typename T::Signed())
103 auto const r =
range(a(), b());
108 constexpr auto R =
range(URNG::min(), URNG::max());
143 "Found the impossible basic R < r of same type "
144 "with R being the maximum limit.");
static void error(Xs &&...args)
Definition log.hpp:14
Definition cholesky.hpp:18
static constexpr auto zero()
Definition zero.hpp:12
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
static constexpr auto range(F &&f, Xs &&...args)
Definition range.hpp:16
Any< IsSignedInteger< T >, IsUnsignedInteger< T > > IsInteger
Definition type_traits.hpp:69
typename CommonTypes< Ts... >::Type Common
Definition common.hpp:55
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
static constexpr auto operator!=(JacobiRotation< TA > const &a, JacobiRotation< TB > const &b)
Definition jacobi_rotation.hpp:304
static constexpr auto operator==(JacobiRotation< TA > const &a, JacobiRotation< TB > const &b)
Definition jacobi_rotation.hpp:297
std::disjunction< Bs... > Any
Definition type_traits.hpp:80
Definition type_traits.hpp:16