\(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\R}[1]{ {\rm #1} }\)
xam_near_equal.cpp¶
View page sourceExample and Test of C++ near_equal¶
# include <cmpad/configure.hpp>
# include <cmpad/near_equal.hpp>
# include <sstream>
bool xam_near_equal(void)
{ //
// ok
bool ok = true;
//
// rel_error
double rel_error = 1e-4;
//
// x, y
double x = 3.000;
double y = x * (1.0 + rel_error / 2 );
//
// ok
ok &= cmpad::near_equal(x, y, rel_error);
//
// rel_error, vec, os
rel_error = rel_error / 10.0;
std::stringstream os;
cmpad::vector<double> vec;
//
// ok
ok &= ! cmpad::near_equal(x, y, rel_error, vec, os);
//
// vec
vec.resize(1);
vec[0] = x * 10;
//
// ok
ok &= cmpad::near_equal(x, y, rel_error, vec);
//
return ok;
}