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

mv check for data=0 to DataUtils

parent 514f4999
No related branches found
No related tags found
1 merge request!559extend check for data=0 to more tests
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "Base/Math/FourierTransform.h" #include "Base/Math/FourierTransform.h"
#include "Base/Math/Numeric.h" #include "Base/Math/Numeric.h"
#include "Device/Data/ArrayUtils.h" #include "Device/Data/ArrayUtils.h"
#include "Device/Histo/IHistogram.h"
#include <iostream> #include <iostream>
namespace { namespace {
...@@ -51,6 +52,12 @@ double DataUtils::Data::relativeDataDifference(const OutputData<double>& dat, ...@@ -51,6 +52,12 @@ double DataUtils::Data::relativeDataDifference(const OutputData<double>& dat,
bool DataUtils::Data::checkRelativeDifference(const OutputData<double>& dat, bool DataUtils::Data::checkRelativeDifference(const OutputData<double>& dat,
const OutputData<double>& ref, const double threshold) const OutputData<double>& ref, const double threshold)
{ {
const std::unique_ptr<const IHistogram> histo(IHistogram::createHistogram(dat));
if (histo->getMinimum()==0 && histo->getMaximum()==0) {
std::cerr << "FAILED: simulated data set is empty" << std::endl;
return false;
}
const double diff = relativeDataDifference(dat, ref); const double diff = relativeDataDifference(dat, ref);
if (diff > threshold) { if (diff > threshold) {
std::cerr << "FAILED: relative deviation of dat from ref is " << diff std::cerr << "FAILED: relative deviation of dat from ref is " << diff
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include "Base/Util/FileSystemUtils.h" #include "Base/Util/FileSystemUtils.h"
#include "Core/Simulation/ISimulation.h" #include "Core/Simulation/ISimulation.h"
#include "Device/Data/DataUtils.h" #include "Device/Data/DataUtils.h"
#include "Device/Histo/IHistogram.h"
#include "Device/Histo/IntensityDataIOFactory.h" #include "Device/Histo/IntensityDataIOFactory.h"
#include "Device/Histo/SimulationResult.h" #include "Device/Histo/SimulationResult.h"
#include <iostream> #include <iostream>
...@@ -30,12 +29,6 @@ bool checkSimulation(const std::string& name, const ISimulation& direct_simulati ...@@ -30,12 +29,6 @@ bool checkSimulation(const std::string& name, const ISimulation& direct_simulati
// Run simulation directly. // Run simulation directly.
const std::unique_ptr<OutputData<double>> result_data = direct_simulation.result().data(); const std::unique_ptr<OutputData<double>> result_data = direct_simulation.result().data();
const std::unique_ptr<const IHistogram> histo(IHistogram::createHistogram(*result_data));
if (histo->getMinimum()==0 && histo->getMaximum()==0) {
std::cerr << "FAILED: simulated data set is empty\n";
return false;
}
std::unique_ptr<OutputData<double>> reference; std::unique_ptr<OutputData<double>> reference;
// Load reference if available. // Load reference if available.
......
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