From e586257ca0da4aa635cb283dd461a169f2db3b8a Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 1 Feb 2022 06:16:04 -0700 Subject: [PATCH] Trying to understand machine epsilon in to_string.cpp test on ppc64le arch. --- cppad.spec | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cppad.spec b/cppad.spec index 6feb782..1f2db83 100644 --- a/cppad.spec +++ b/cppad.spec @@ -100,16 +100,14 @@ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ cat << EOF > temp.cpp # include # include +template void print_epsilon(const char* type_name) +{ Float epsilon = std::numeric_limits::epsilon(); + std::cout << type_name << " epsilson = " << epsilon << "\n"; +} int main(void) -{ float float_eps = std::numeric_limits::epsilon(); - std::cout << "float_eps = " << float_eps << "\n"; - // - float double_eps = std::numeric_limits::epsilon(); - std::cout << "double_eps = " << double_eps << "\n"; - // - float long_double_eps = std::numeric_limits::epsilon(); - std::cout << "long_double_eps = " << long_double_eps << "\n"; - // +{ print_epsilon("float"); + print_epsilon("double"); + print_epsilon("long double"); return 0; } EOF @@ -160,14 +158,16 @@ cat << EOF > to_string.patch 71a93,94 > if( std::numeric_limits::min() != 0 ) > std::cout << "unsigned_integer: min != 0\n"; -83a107,110 +83a107,111 > if( ! ok ) -> { std::cout << "check/pi - 1.0 = " << check/pi - 1.0 << "\n"; +> { std::cout << "check / pi - 1.0 = " << check / pi - 1.0; +> std::cout << ", eps = " << eps << "\n"; > print_error("floating", "pi", pi, check, eps); > } -100a128,131 +100a129,133 > if( ! ok ) -> { std::cout << "check/pi - 1.0 = " << check/pi - Base(1.0) << "\n"; +> { std::cout << "check / pi - 1.0 = " << check /pi - Base(1.0); +> std::cout << ", eps = " << eps << "\n"; > print_error("ad_floating", "pi", pi, check, eps); > } EOF