24 #ifndef _COMPAREIMAGES_H 25 #define _COMPAREIMAGES_H 31 template <
typename T,
typename U>
33 const T& ref,
const U& val,
double atol = 1e-8,
double rtol = 1e-5) {
34 boost::test_tools::predicate_result res(
true);
36 for (
int x = 0;
x <
ref->getWidth(); ++
x) {
37 for (
int y = 0;
y <
ref->getHeight(); ++
y) {
38 auto expected =
ref->getValue(
x,
y);
39 auto value = val->getValue(
x,
y);
42 res.message() <<
"Not matching values at position " <<
x <<
"," <<
y 43 <<
": " << expected <<
" != " << value <<
"\n";
51 template <
typename T,
typename U>
53 const T& ref,
const U& val,
double atol = 1e-8,
double rtol = 1e-5) {
54 boost::test_tools::predicate_result res(
true);
64 res.message() <<
"Not matching values at position " << i <<
": " << *ref_i <<
" != " << *val_i <<
"\n";
74 res.message() <<
"The sequences have different length!" <<
"\n";
80 boost::test_tools::predicate_result
checkIsClose(
double ref,
const double val,
double atol = 1e-8,
double rtol = 1e-5) {
81 boost::test_tools::predicate_result res(
true);
84 res.message() <<
"Values not close enough: " <<
ref <<
" " << val <<
" with absolute tolerance " <<
atol 85 <<
" and relative " << rtol <<
"\n";
92 #endif // _COMPAREIMAGES_H
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y