From 012f25c2b7904a7be9f8d492286715aaf5623389 Mon Sep 17 00:00:00 2001 From: Carl Klemm <carl@uvos.xyz> Date: Tue, 19 Apr 2022 14:21:02 +0200 Subject: [PATCH] Model: give sweep parameter to sweepParams callback --- main.cpp | 2 +- model.cpp | 4 ++-- model.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/main.cpp b/main.cpp index 02d7f9f..064b8c4 100644 --- a/main.cpp +++ b/main.cpp @@ -37,7 +37,7 @@ void runSingle() std::cout<<"time taken: "<<duration.count()<<" us"<<'\n'; } -void sweepCb(std::vector<Model::DataPoint>& data) +void sweepCb(std::vector<Model::DataPoint>& data, const std::vector<double>& parameters) { static size_t i = 0; ++i; diff --git a/model.cpp b/model.cpp index 43d16e9..fd167ff 100644 --- a/model.cpp +++ b/model.cpp @@ -245,7 +245,7 @@ std::vector<Model::DataPoint> Model::sweep(const Range& omega) return results; } -bool Model::sweepParams(const std::vector<Range>& componantRanges, const Range& omega, std::function<void(std::vector<DataPoint>&)> dataCb) +bool Model::sweepParams(const std::vector<Range>& componantRanges, const Range& omega, std::function<void(std::vector<DataPoint>&, const std::vector<double>&)> dataCb) { size_t parametersCount = getFlatParametersCount(); if(componantRanges.size() != parametersCount) @@ -294,7 +294,7 @@ bool Model::sweepParams(const std::vector<Range>& componantRanges, const Range& break; } std::vector<DataPoint> result = sweep(omega); - dataCb(result); + dataCb(result, currentParam); } return true; diff --git a/model.h b/model.h index d5348f7..da11a0b 100644 --- a/model.h +++ b/model.h @@ -60,7 +60,7 @@ public: Model(const std::string& str); DataPoint execute(double omaga); std::vector<DataPoint> sweep(const Range& omega); - bool sweepParams(const std::vector<Range>& componantRanges, const Range& omega, std::function<void(std::vector<DataPoint>&)> dataCb); + bool sweepParams(const std::vector<Range>& componantRanges, const Range& omega, std::function<void(std::vector<DataPoint>&, const std::vector<double>&)> dataCb); std::string getModelStr(); std::vector<Componant*> getFlatComponants(); size_t getFlatParametersCount(); -- GitLab