1 #ifndef OPERATIONHELPERFEATURES_H
2 #define OPERATIONHELPERFEATURES_H
6 typedef std::function<bool(const std::vector<quint32>&)> SubSetAsyncFunc;
15 std::vector<std::vector<quint32>> subsets;
17 int cores = OperationHelperFeatures::subdivideTasks(ctx,inputFC, subsets);
21 std::vector<std::future<bool>> futures(cores);
24 for(
int i =0; i < cores; ++i) {
25 futures[i] = std::async(std::launch::async, func, subsets[i]);
28 for(
int i =0; i < cores; ++i) {
29 res &= futures[i].get();
36 std::vector<std::vector<quint32>> subsets;
38 int cores = OperationHelperFeatures::subdivideTasks(ctx,inputFC, subsets);
42 std::vector<std::future<bool>> futures(cores);
45 for(
int i =0; i < cores; ++i) {
46 futures[i] = std::async(std::launch::async, func, subsets[i]);
49 for(
int i =0; i < cores; ++i) {
50 res &= futures[i].get();
53 if ( res && outputFC.
isValid()) {
61 std::vector<QVariant> values = tbl->
column(i);
62 std::vector<double> vec(values.size());
63 for(
int i=0; i < vec.size(); ++i) {
64 vec[i] = values[i].toDouble();
66 stats.calculate(vec.begin(), vec.end());
67 NumericRange *rng =
new NumericRange(stats[NumericStatistics::pMIN], stats[NumericStatistics::pMAX], std::pow(10,-stats.significantDigits()));
77 #endif // OPERATIONHELPERFEATURES_H