Skip to content
Snippets Groups Projects
Commit 0c9405ed authored by Carl Philipp Klemm's avatar Carl Philipp Klemm
Browse files

switch fvalue to float, fix compile issues and warnings steming from change in sizeof(fvalue)

parent 6af01b14
No related branches found
No related tags found
No related merge requests found
...@@ -121,10 +121,10 @@ std::vector<eis::DataPoint> eis::rescale(const std::vector<eis::DataPoint>& data ...@@ -121,10 +121,10 @@ std::vector<eis::DataPoint> eis::rescale(const std::vector<eis::DataPoint>& data
std::vector<eis::DataPoint> output(outputSize); std::vector<eis::DataPoint> output(outputSize);
for(size_t i = 0; i < output.size(); ++i) for(size_t i = 0; i < output.size(); ++i)
{ {
double position = static_cast<double>(i) / (output.size()-1); fvalue position = static_cast<double>(i) / (output.size()-1);
double sourcePosF = (data.size()-1)*position; fvalue sourcePosF = (data.size()-1)*position;
size_t sourcePos = (data.size()-1)*position; size_t sourcePos = (data.size()-1)*position;
double frac = sourcePosF - sourcePos; fvalue frac = sourcePosF - sourcePos;
output[i].im = data[sourcePos].im*(1-frac) + data[sourcePos+1].im*frac; 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; output[i].omega = data[sourcePos].omega*(1-frac) + data[sourcePos+1].omega*frac;
} }
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include <cmath> #include <cmath>
#include <filesystem> #include <filesystem>
typedef double fvalue; typedef float fvalue;
namespace eis namespace eis
{ {
......
...@@ -53,7 +53,14 @@ EisSpectra eis::loadFromDisk(const std::filesystem::path& path) ...@@ -53,7 +53,14 @@ EisSpectra eis::loadFromDisk(const std::filesystem::path& path)
tokens = tokenize(line, ','); tokens = tokenize(line, ',');
if(tokens.size() != 3) if(tokens.size() != 3)
throw file_error("invalid line in " + path.string() + ": " + line); throw file_error("invalid line in " + path.string() + ": " + line);
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnarrowing"
if constexpr (std::is_same<fvalue, double>::value)
out.data.push_back(DataPoint({std::stod(tokens[1]), std::stod(tokens[2])}, std::stod(tokens[0]))); out.data.push_back(DataPoint({std::stod(tokens[1]), std::stod(tokens[2])}, std::stod(tokens[0])));
else
out.data.push_back(DataPoint({std::stof(tokens[1]), std::stof(tokens[2])}, std::stof(tokens[0])));
#pragma GCC diagnostic pop
} }
file.close(); file.close();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment