1#ifndef SCRAN_TESTS_SIMULATE_VECTOR_HPP
2#define SCRAN_TESTS_SIMULATE_VECTOR_HPP
22template<
typename Type_ =
double>
28 if constexpr(std::is_unsigned<Type_>::value) {
55 std::uint64_t
seed = 1234567890;
69template<
typename Type_ =
double>
71 std::mt19937_64 rng(params.
seed);
73 typename std::conditional<
74 std::is_floating_point<Type_>::value,
75 std::uniform_real_distribution<Type_>,
76 std::uniform_int_distribution<Type_>
79 std::vector<Type_> values(length);
82 for (
auto& v : values) {
86 std::uniform_real_distribution<double> nonzero(0.0, 1.0);
87 for (
auto& v : values) {
88 if (nonzero(rng) < params.
density) {
Test utilites for libscran.
Definition compare_almost_equal.hpp:12
std::vector< Type_ > simulate_vector(std::size_t length, const SimulationParameters< Type_ > ¶ms)
Definition simulate_vector.hpp:70
Parameters for simulate_vector().
Definition simulate_vector.hpp:23
std::uint64_t seed
Definition simulate_vector.hpp:55
double density
Definition simulate_vector.hpp:39
Type_ upper
Definition simulate_vector.hpp:50
Type_ lower
Definition simulate_vector.hpp:45