3#ifndef pRC_CORE_RANDOM_CANONICAL_H
4#define pRC_CORE_RANDOM_CANONICAL_H
14 template<IsFloat T, IsRandomEngine RNG>
15 requires(RNG::max() - RNG::min() < NumericLimits<Size>::max())
20 constexpr Size R = RNG::max() - RNG::min() +
Size(1);
26 T basic = rng() - RNG::min();
28 for(
Index i = 1;
i < k; ++
i, base *=
T(R))
30 basic +=
T(rng() - RNG::min()) * base;
pRC::Float<> T
Definition externs_nonTT.hpp:1
int i
Definition gmock-matchers-comparisons_test.cc:603
Definition cholesky.hpp:10
static constexpr auto ceilDiv(TA const a, TB const b)
Definition ceil_div.hpp:13
static constexpr T iLog(T const a)
Definition ilog.hpp:11
Size Index
Definition basics.hpp:32
std::size_t Size
Definition basics.hpp:31
static constexpr auto generateCanonical(RNG &rng)
Definition canonical.hpp:16
static constexpr decltype(auto) max(X &&a)
Definition max.hpp:13