Skip to content
Snippets Groups Projects
Commit 2ab06729 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

reuse fct ignoreDenormalized

parent fb875d9d
No related branches found
No related tags found
1 merge request!1628simplify and unify API and code for reading or writing data files
Pipeline #99168 failed
......@@ -17,6 +17,7 @@
#include "Base/Util/FileSystemUtil.h"
#include "Base/Util/StringUtil.h"
#include "Device/Data/Datafield.h"
#include <cmath> // ignoreDenormalized
#include <functional>
#include <iostream>
#include <iterator>
......@@ -185,3 +186,8 @@ std::vector<double> DataUtil::Format::parse_doubles(const std::string& str)
}
return result;
}
double DataUtil::Format::ignoreDenormalized(double value)
{
return (std::fpclassify(value) == FP_SUBNORMAL) ? 0.0 : value;
}
......@@ -52,6 +52,8 @@ void fillDatafield(Datafield* data, std::istream& input_stream);
std::vector<double> parse_doubles(const std::string& str);
double ignoreDenormalized(double value);
} // namespace DataUtil::Format
#endif // BORNAGAIN_DEVICE_IO_DATAFORMATUTIL_H
......@@ -18,13 +18,6 @@
#include "Device/Data/ArrayUtil.h"
#include "Device/Data/Datafield.h"
#include "Device/IO/DataFormatUtil.h"
#include <cmath>
#include <iostream>
double ignoreDenormalized(double value)
{
return (std::fpclassify(value) == FP_SUBNORMAL) ? 0.0 : value;
}
void writeDatafieldDoubles(const std::vector<double>& dataValues, std::ostream& output_stream,
size_t n_columns)
......@@ -34,7 +27,7 @@ void writeDatafieldDoubles(const std::vector<double>& dataValues, std::ostream&
size_t ncol = 0;
for (size_t i = 0; i < dataValues.size(); ++i) {
ncol++;
output_stream << ignoreDenormalized(dataValues[i]) << " ";
output_stream << DataUtil::Format::ignoreDenormalized(dataValues[i]) << " ";
if (ncol == n_columns) {
output_stream << std::endl;
ncol = 0;
......
......@@ -19,7 +19,6 @@
#include "Device/Data/ArrayUtil.h"
#include "Device/Data/Datafield.h"
#include "Device/IO/DataFormatUtil.h"
#include <cmath>
#include <string>
#include <vector>
......@@ -30,11 +29,6 @@ bool isDoubleStartChar(char c)
return isdigit(c) || c == '-' || c == '+';
}
double ignoreDenormalized(double value)
{
return (std::fpclassify(value) == FP_SUBNORMAL) ? 0.0 : value;
}
void write1DRepresentation(const Datafield& data, std::ostream& output_stream)
{
output_stream << "# coordinates intensities" << std::endl;
......@@ -45,7 +39,8 @@ void write1DRepresentation(const Datafield& data, std::ostream& output_stream)
// printing coordinate and associated intensity
for (size_t i = 0, nrows = axis_values.size(); i < nrows; ++i)
output_stream << axis_values[i] << " " << ignoreDenormalized(data[i]) << std::endl;
output_stream << axis_values[i] << " " << DataUtil::Format::ignoreDenormalized(data[i])
<< std::endl;
}
void write2DRepresentation(const Datafield& data, std::ostream& output_stream)
......@@ -62,7 +57,7 @@ void write2DRepresentation(const Datafield& data, std::ostream& output_stream)
for (size_t i = 0; i < nrows; i++) {
for (size_t j = 0; j < ncols; j++) {
double z_value = dataArray[i][j];
output_stream << ignoreDenormalized(z_value) << " ";
output_stream << DataUtil::Format::ignoreDenormalized(z_value) << " ";
}
output_stream << std::endl;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment