| 1166 | |
| 1167 | template <typename CValueType, typename SeedType, typename DistributionType> |
| 1168 | void FillRandomData(CValueType* data, size_t n, CValueType min, CValueType max, |
| 1169 | SeedType seed) { |
| 1170 | std::default_random_engine rng(seed); |
| 1171 | DistributionType dist(min, max); |
| 1172 | std::generate(data, data + n, |
| 1173 | [&dist, &rng] { return static_cast<CValueType>(dist(rng)); }); |
| 1174 | } |
| 1175 | |
| 1176 | template <typename CValueType, typename SeedType> |
| 1177 | enable_if_t<std::is_integral<CValueType>::value && std::is_signed<CValueType>::value, |