From 3643b52eac4f65c5e3a12df4fc3aeb56c02f35b6 Mon Sep 17 00:00:00 2001
From: Carl Philipp Klemm <philipp@uvos.xyz>
Date: Mon, 16 May 2022 14:14:53 +0200
Subject: [PATCH] move rescale to basicmath make eisgenerator_export generate
 csv header even in quiet mode

---
 basicmath.cpp            | 15 +++++++++++++++
 eisgenerator/basicmath.h |  1 +
 eisgenerator/normalize.h |  1 -
 main.cpp                 |  2 +-
 normalize.cpp            | 15 ---------------
 test.cpp                 |  1 +
 6 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/basicmath.cpp b/basicmath.cpp
index 71a9f93..fa68fad 100644
--- a/basicmath.cpp
+++ b/basicmath.cpp
@@ -100,3 +100,18 @@ fvalue eis::median(std::vector<fvalue> data)
 	else
 		return data[data.size()/2];
 }
+
+std::vector<eis::DataPoint> eis::rescale(const std::vector<eis::DataPoint>& data, size_t outputSize)
+{
+	std::vector<eis::DataPoint> output(outputSize);
+	for(size_t i = 0; i < output.size(); ++i)
+	{
+		double position = static_cast<double>(i) / (output.size()-1);
+		double sourcePosF = (data.size()-1)*position;
+		size_t sourcePos = (data.size()-1)*position;
+		double frac = sourcePosF - sourcePos;
+		output[i].im = data[sourcePos].im*(1-frac) + data[sourcePos+1].im*frac;
+		output[i].omega = data[sourcePos].omega*(1-frac) + data[sourcePos+1].omega*frac;
+	}
+	return output;
+}
diff --git a/eisgenerator/basicmath.h b/eisgenerator/basicmath.h
index fa389b4..0cc0d01 100644
--- a/eisgenerator/basicmath.h
+++ b/eisgenerator/basicmath.h
@@ -11,4 +11,5 @@ namespace eis
 	std::complex<fvalue> mean(const std::vector<eis::DataPoint>& data);
 	fvalue median(std::vector<fvalue> data);
 	std::complex<fvalue> median(const std::vector<eis::DataPoint>& data);
+	std::vector<eis::DataPoint> rescale(const std::vector<eis::DataPoint>& data, size_t outputSize);
 }
diff --git a/eisgenerator/normalize.h b/eisgenerator/normalize.h
index 1d96888..21409e8 100644
--- a/eisgenerator/normalize.h
+++ b/eisgenerator/normalize.h
@@ -11,6 +11,5 @@ namespace eis
 void normalize(std::vector<eis::DataPoint>& data);
 std::vector<eis::DataPoint> reduceRegion(const std::vector<eis::DataPoint>& data, fvalue gradThreshFactor = 0.01);
 void eraseSingularites(std::vector<eis::DataPoint>& data);
-std::vector<eis::DataPoint> rescale(const std::vector<eis::DataPoint>& data, size_t outputSize);
 
 }
diff --git a/main.cpp b/main.cpp
index 062131c..b69c1b8 100644
--- a/main.cpp
+++ b/main.cpp
@@ -60,7 +60,7 @@ static void runSweep(const std::string& modelString, eis::Range omega, bool norm
 		eis::Log(eis::Log::INFO)<<"results:";
 	}
 
-	eis::Log(eis::Log::INFO)<<(hertz ? "freqency" : "omega")<<",real,im";
+	std::cout<<(hertz ? "freqency" : "omega")<<",real,im\n";
 
 	for(const eis::DataPoint& res : results)
 		std::cout<<res.omega/(2*M_PI)<<','<<res.im.real()<<','<<(invert ? 0-res.im.imag() : res.im.imag())<<'\n';
diff --git a/normalize.cpp b/normalize.cpp
index 7d7c3e8..a7cb4df 100644
--- a/normalize.cpp
+++ b/normalize.cpp
@@ -95,18 +95,3 @@ std::vector<eis::DataPoint> eis::reduceRegion(const std::vector<eis::DataPoint>&
 
 	return data;
 }
-
-std::vector<eis::DataPoint> eis::rescale(const std::vector<eis::DataPoint>& data, size_t outputSize)
-{
-	std::vector<eis::DataPoint> output(outputSize);
-	for(size_t i = 0; i < output.size(); ++i)
-	{
-		double position = static_cast<double>(i) / (output.size()-1);
-		double sourcePosF = (data.size()-1)*position;
-		size_t sourcePos = (data.size()-1)*position;
-		double frac = sourcePosF - sourcePos;
-		output[i].im = data[sourcePos].im*(1-frac) + data[sourcePos+1].im*frac;
-		output[i].omega = data[sourcePos].omega*(1-frac) + data[sourcePos+1].omega*frac;
-	}
-	return output;
-}
diff --git a/test.cpp b/test.cpp
index 9940be5..1294186 100644
--- a/test.cpp
+++ b/test.cpp
@@ -5,6 +5,7 @@
 #include "model.h"
 #include "log.h"
 #include "normalize.h"
+#include "basicmath.h"
 
 void printDataVect(const std::vector<eis::DataPoint> in)
 {
-- 
GitLab