47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
#pragma once
|
|
#include "Generate_Mock_Data.h"
|
|
#include <random>
|
|
namespace Flex_Qt {
|
|
namespace {
|
|
std::default_random_engine& mock_data_random_engine() {
|
|
static thread_local std::default_random_engine engine(std::random_device{}());
|
|
return engine;
|
|
}
|
|
}
|
|
void fill_data(Range value_range, std::span<double> output) {
|
|
if (value_range.origin > value_range.target) {
|
|
std::swap(value_range.origin, value_range.target);
|
|
}
|
|
std::uniform_real_distribution<double> dist(value_range.origin, value_range.target);
|
|
for (auto& value : output) {
|
|
value = dist(mock_data_random_engine());
|
|
}
|
|
}
|
|
std::vector<double> get_data(Range value_range, int size) {
|
|
std::vector<double> ret(size);
|
|
fill_data(value_range, ret);
|
|
return ret;
|
|
}
|
|
double get_data(Range value_range) {
|
|
if (value_range.origin > value_range.target) {
|
|
std::swap(value_range.origin, value_range.target);
|
|
}
|
|
std::uniform_real_distribution<double> dist(value_range.origin, value_range.target);
|
|
return dist(mock_data_random_engine());
|
|
}
|
|
std::vector<double> get_data(int value, int size) {
|
|
std::vector<double> ret(size);
|
|
for (auto& v : ret) {
|
|
v = value;
|
|
}
|
|
return ret;
|
|
}
|
|
std::vector<double> get_colored_data(int size) {
|
|
std::vector<double> ret(size);
|
|
for (int i = 0; i < size; ++i) {
|
|
ret[i] = i;
|
|
}
|
|
return ret;
|
|
}
|
|
} // Flex_Qt
|