[cppad] debugging release, attempt to fix and print intermediate results

Bradley M. Bell bradbell at fedoraproject.org
Sat Jan 5 04:32:55 UTC 2013


commit e42b4445a1af51ea4c9e646df593d80cfcef090e
Author: Brad Bell <bradbell at seanet.com>
Date:   Fri Jan 4 21:32:36 2013 -0700

    debugging release, attempt to fix and print intermediate results

 cppad.spec |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)
---
diff --git a/cppad.spec b/cppad.spec
index 5492a87..389d573 100644
--- a/cppad.spec
+++ b/cppad.spec
@@ -10,7 +10,7 @@
 
 Name: cppad
 Version: 20130000.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc
 
 # Only noarch.rpms provided.
@@ -65,6 +65,38 @@ as a single web page, in both HTML and XML, can be found at that web site.
 %setup -q 
 includedir=%{buildroot}%{_includedir}
 
+# patch epsilon.cpp in a way that may fix problem and that will
+# print debugging information.
+cat << EOF > epsilon.patch
+46,56c46,58
+< 	{	bool ok  = true;
+< 		using CppAD::epsilon;
+< 		using CppAD::abs;
+< 		Type eps   = CppAD::epsilon<Type>();
+< 		Type one   = 1;
+< 		Type two   = 2;
+< 		Type eps2  = eps / two; 
+< 		Type check = add_one(eps);
+< 		ok        &= one !=  check;
+< 		check      = add_one(eps2);
+< 		ok        &= one == check;
+---
+> 	{	bool ok      = true;
+> 		static size_t count = 0;
+> 		CppAD::vector<Type> eps(1), one(1), two(1), eps2(1), check(1);
+> 		eps[0]   = CppAD::epsilon<Type>();
+> 		one[0]   = 1;
+> 		two[0]   = 2;
+> 		eps2[0]  = eps[0] / two[0]; 
+> 		check[0] = add_one(eps[0]);
+> 		ok      &= one[0] !=  check[0];
+> 		std::cout << "count = " << count++ << ", ok = " << ok << std::endl;
+> 		check[0] = add_one(eps2[0]);
+> 		ok      &= one[0] == check[0];
+> 		std::cout << "count = " << count++ << ", ok = " << ok << std::endl;
+EOF
+patch test_more/epsilon.cpp epsilon.patch
+
 # Replace cppad_SOURCE_DIR by the system include directory so that
 # installed files, instead of local files, are used for testing.
 sed \
@@ -121,6 +153,10 @@ rm -rf %{buildroot}
 
 # ----------------------------------------------------------------------------
 %changelog
+* Fri Jan 04 2013 Brad Bell <bradbell at seanet dot com> - 20130000.0-2
+- Debugging build to try to understand failure of test_more/epsilon.cpp
+- on a remote machine that I do not have access to.
+
 * Fri Jan 04 2013 Brad Bell <bradbell at seanet dot com> - 20130000.0-1
 - Advance to version 2013 of cppad.
 - Remove old patches that are no longer necessary.


More information about the scm-commits mailing list