[cig-commits] commit: Make it throw an exception rather than abort

Mercurial hg at geodynamics.org
Fri Mar 9 13:24:53 PST 2012


changeset:   3:dd991b426d75
user:        Walter Landry <boo at dante>
date:        Sun Dec 13 21:43:54 2009 -0800
files:       FTensor.h Tensor1/Tensor1_pointer.h Tensor1/Tensor1_value.h Tensor2/Tensor2_pointer.h Tensor2/Tensor2_value.h Tensor2_symmetric/Tensor2_symmetric_pointer.h Tensor2_symmetric/Tensor2_symmetric_value.h Tensor3_antisymmetric/Tensor3_antisymmetric_pointer.h Tensor3_antisymmetric/Tensor3_antisymmetric_value.h Tensor3_christof/Tensor3_christof_pointer.h Tensor3_christof/Tensor3_christof_value.h Tensor3_dg/Tensor3_dg_pointer.h Tensor3_dg/Tensor3_dg_value.h Tensor4_ddg/Tensor4_ddg_pointer.h Tensor4_ddg/Tensor4_ddg_value.h
description:
Make it throw an exception rather than abort


diff -r db7491945826 -r dd991b426d75 FTensor.h
--- a/FTensor.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/FTensor.h	Sun Dec 13 21:43:54 2009 -0800
@@ -5,7 +5,8 @@
 #include <complex>
 #ifdef FTENSOR_DEBUG
 #include <iostream>
-#include <cstdlib>
+#include <stdexcept>
+#include <sstream>
 #endif
 #include "Layout.h"
 namespace FTensor {
diff -r db7491945826 -r dd991b426d75 Tensor1/Tensor1_pointer.h
--- a/Tensor1/Tensor1_pointer.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor1/Tensor1_pointer.h	Sun Dec 13 21:43:54 2009 -0800
@@ -34,9 +34,10 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N>=Tensor_Dim || N<0)
       {
-	std::cerr << "Bad index in Tensor1<T*," << Tensor_Dim
-		  << ">.operator(" << N << ")" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor1<T*," << Tensor_Dim
+          << ">.operator(" << N << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return *data[N];
@@ -46,9 +47,10 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N>=Tensor_Dim || N<0)
       {
-	std::cerr << "Bad index in Tensor1<T*," << Tensor_Dim
-		  << ">.operator(" << N << ") const" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor1<T*," << Tensor_Dim
+          << ">.operator(" << N << ") const" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return *data[N];
@@ -58,9 +60,10 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N>=Tensor_Dim || N<0)
       {
-	std::cerr << "Bad index in Tensor1<T*," << Tensor_Dim
-		  << ">.ptr(" << N << ")" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor1<T*," << Tensor_Dim
+          << ">.ptr(" << N << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return data[N];
diff -r db7491945826 -r dd991b426d75 Tensor1/Tensor1_value.h
--- a/Tensor1/Tensor1_value.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor1/Tensor1_value.h	Sun Dec 13 21:43:54 2009 -0800
@@ -32,9 +32,10 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N>=Tensor_Dim || N<0)
       {
-	std::cerr << "Bad index in Tensor1<T," << Tensor_Dim
-		  << ">.operator(" << N << ")" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor1<T," << Tensor_Dim
+          << ">.operator(" << N << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return data[N];
@@ -44,9 +45,10 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N>=Tensor_Dim || N<0)
       {
-	std::cerr << "Bad index in Tensor1<T," << Tensor_Dim
-		  << ">.operator(" << N << ") const" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor1<T," << Tensor_Dim
+          << ">.operator(" << N << ") const" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return data[N];
diff -r db7491945826 -r dd991b426d75 Tensor2/Tensor2_pointer.h
--- a/Tensor2/Tensor2_pointer.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor2/Tensor2_pointer.h	Sun Dec 13 21:43:54 2009 -0800
@@ -42,10 +42,12 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim0 || N1<0 || N2>=Tensor_Dim1 || N2<0)
       {
-	std::cerr << "Bad index in Tensor2<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim1
-		  << ">.operator(" << N1 << "," << N2 << ")" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor2<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim1
+          << ">.operator(" << N1 << "," << N2 << ")"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return ((layout==column_major) ? *data[N1][N2] : *data[N2][N1]);
@@ -56,11 +58,12 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim0 || N1<0 || N2>=Tensor_Dim1 || N2<0)
       {
-	std::cerr << "Bad index in Tensor2<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim1
-		  << ">.operator(" << N1 << "," << N2 << ") const"
-		  << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor2<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim1
+          << ">.operator(" << N1 << "," << N2 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return ((layout==column_major) ? *data[N1][N2] : *data[N2][N1]);
@@ -71,10 +74,11 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim0 || N1<0 || N2>=Tensor_Dim1 || N2<0)
       {
-	std::cerr << "Bad index in Tensor2<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim1
-		  << ">.ptr(" << N1 << "," << N2 << ")" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor2<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim1
+          << ">.ptr(" << N1 << "," << N2 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return ((layout==column_major) ? data[N1][N2] : data[N2][N1]);
diff -r db7491945826 -r dd991b426d75 Tensor2/Tensor2_value.h
--- a/Tensor2/Tensor2_value.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor2/Tensor2_value.h	Sun Dec 13 21:43:54 2009 -0800
@@ -42,10 +42,12 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim0 || N1<0 || N2>=Tensor_Dim1 || N2<0)
       {
-	std::cerr << "Bad index in Tensor2<T,"
-		  << Tensor_Dim0 << "," << Tensor_Dim1
-		  << ">.operator(" << N1 << "," << N2 << ")" << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor2<T,"
+          << Tensor_Dim0 << "," << Tensor_Dim1
+          << ">.operator(" << N1 << "," << N2 << ")"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return ((layout==column_major) ? data[N1][N2] : data[N2][N1]);
@@ -56,11 +58,12 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim0 || N1<0 || N2>=Tensor_Dim1 || N2<0)
       {
-	std::cerr << "Bad index in Tensor2<T,"
-		  << Tensor_Dim0 << "," << Tensor_Dim1
-		  << ">.operator(" << N1 << "," << N2 << ") const"
-		  << std::endl;
-	abort();
+	std::stringstream s;
+        s << "Bad index in Tensor2<T,"
+          << Tensor_Dim0 << "," << Tensor_Dim1
+          << ">.operator(" << N1 << "," << N2 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return ((layout==column_major) ? data[N1][N2] : data[N2][N1]);
diff -r db7491945826 -r dd991b426d75 Tensor2_symmetric/Tensor2_symmetric_pointer.h
--- a/Tensor2_symmetric/Tensor2_symmetric_pointer.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor2_symmetric/Tensor2_symmetric_pointer.h	Sun Dec 13 21:43:54 2009 -0800
@@ -35,9 +35,12 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim || N1<0 || N2>=Tensor_Dim || N2<0)
       {
-	std::cerr << "Bad index in Tensor2_symmetric<T*," << Tensor_Dim
-		  << ">.operator(" << N1 << "," << N2 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor2_symmetric<T*,"
+          << Tensor_Dim
+          << ">.operator(" << N1 << "," << N2 << ")"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? *data[N1+(N2*(2*Tensor_Dim-N2-1))/2]
@@ -49,10 +52,12 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim || N1<0 || N2>=Tensor_Dim || N2<0)
       {
-	std::cerr << "Bad index in Tensor2_symmetric<T*," << Tensor_Dim
-		  << ">.operator(" << N1 << "," << N2 << ") const"
-		  << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor2_symmetric<T*,"
+          << Tensor_Dim
+          << ">.operator(" << N1 << "," << N2 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? *data[N1+(N2*(2*Tensor_Dim-N2-1))/2]
@@ -64,9 +69,11 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim || N1<0 || N2>=Tensor_Dim || N2<0)
       {
-	std::cerr << "Bad index in Tensor2_symmetric<T*," << Tensor_Dim
-		  << ">.ptr(" << N1 << "," << N2 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor2_symmetric<T*,"
+          << Tensor_Dim
+          << ">.ptr(" << N1 << "," << N2 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? data[N1+(N2*(2*Tensor_Dim-N2-1))/2]
diff -r db7491945826 -r dd991b426d75 Tensor2_symmetric/Tensor2_symmetric_value.h
--- a/Tensor2_symmetric/Tensor2_symmetric_value.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor2_symmetric/Tensor2_symmetric_value.h	Sun Dec 13 21:43:54 2009 -0800
@@ -35,9 +35,11 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim || N1<0 || N2>=Tensor_Dim || N2<0)
       {
-	std::cerr << "Bad index in Tensor2_symmetric<T," << Tensor_Dim
-		  << ">.operator(" << N1 << "," << N2 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor2_symmetric<T," << Tensor_Dim
+          << ">.operator(" << N1 << "," << N2 << ")"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? data[N1+(N2*(2*Tensor_Dim-N2-1))/2]
@@ -49,10 +51,11 @@ public:
 #ifdef FTENSOR_DEBUG
     if(N1>=Tensor_Dim || N1<0 || N2>=Tensor_Dim || N2<0)
       {
-	std::cerr << "Bad index in Tensor2_symmetric<T," << Tensor_Dim
-		  << ">.operator(" << N1 << "," << N2 << ") const"
-		  << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor2_symmetric<T," << Tensor_Dim
+          << ">.operator(" << N1 << "," << N2 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? data[N1+(N2*(2*Tensor_Dim-N2-1))/2]
diff -r db7491945826 -r dd991b426d75 Tensor3_antisymmetric/Tensor3_antisymmetric_pointer.h
--- a/Tensor3_antisymmetric/Tensor3_antisymmetric_pointer.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor3_antisymmetric/Tensor3_antisymmetric_pointer.h	Sun Dec 13 21:43:54 2009 -0800
@@ -48,10 +48,11 @@ public:
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0
        || N2>=N3)
       {
-	std::cerr << "Bad index in Tensor3_antisymmetric<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.unsafe("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_antisymmetric<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim12 << ">.unsafe("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return *data[N1][N3-1+(N2*(2*(Tensor_Dim12-1)-N2-1))/2];
@@ -63,10 +64,13 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_antisymmetric<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ") const" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_antisymmetric<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim12
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2<N3 ? *data[N1][N3-1+(N2*(2*(Tensor_Dim12-1)-N2-1))/2]
@@ -79,10 +83,11 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_antisymmetric<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.ptr("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_antisymmetric<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim12 << ">.ptr("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2<N3 ? data[N1][N3-1+(N2*(2*(Tensor_Dim12-1)-N2-1))/2]
diff -r db7491945826 -r dd991b426d75 Tensor3_antisymmetric/Tensor3_antisymmetric_value.h
--- a/Tensor3_antisymmetric/Tensor3_antisymmetric_value.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor3_antisymmetric/Tensor3_antisymmetric_value.h	Sun Dec 13 21:43:54 2009 -0800
@@ -48,10 +48,12 @@ public:
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0
        || N2>=N3)
       {
-	std::cerr << "Bad index in Tensor3_antisymmetric<T,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_antisymmetric<T,"
+          << Tensor_Dim0 << "," << Tensor_Dim12
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return data[N1][N3-1+(N2*(2*(Tensor_Dim12-1)-N2-1))/2];
@@ -63,10 +65,13 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_antisymmetric<T,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ") const" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_antisymmetric<T,"
+          << Tensor_Dim0 << "," << Tensor_Dim12
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2<N3 ? data[N1][N3-1+(N2*(2*(Tensor_Dim12-1)-N2-1))/2]
diff -r db7491945826 -r dd991b426d75 Tensor3_christof/Tensor3_christof_pointer.h
--- a/Tensor3_christof/Tensor3_christof_pointer.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor3_christof/Tensor3_christof_pointer.h	Sun Dec 13 21:43:54 2009 -0800
@@ -53,10 +53,12 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_christof<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_christof<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim12
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2>N3 ? *data[N1][N2+(N3*(2*Tensor_Dim12-N3-1))/2]
@@ -69,10 +71,13 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_christof<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ") const" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_christof<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim12
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2>N3 ? *data[N1][N2+(N3*(2*Tensor_Dim12-N3-1))/2]
@@ -85,10 +90,11 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_christof<T*,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.ptr("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_christof<T*,"
+          << Tensor_Dim0 << "," << Tensor_Dim12 << ">.ptr("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2>N3 ? data[N1][N2+(N3*(2*Tensor_Dim12-N3-1))/2]
diff -r db7491945826 -r dd991b426d75 Tensor3_christof/Tensor3_christof_value.h
--- a/Tensor3_christof/Tensor3_christof_value.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor3_christof/Tensor3_christof_value.h	Sun Dec 13 21:43:54 2009 -0800
@@ -53,10 +53,12 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_christof<T,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_christof<T,"
+          << Tensor_Dim0 << "," << Tensor_Dim12
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2>N3 ? data[N1][N2+(N3*(2*Tensor_Dim12-N3-1))/2]
@@ -69,10 +71,13 @@ public:
     if(N1>=Tensor_Dim0 || N1<0
        || N2>=Tensor_Dim12 || N2<0 || N3>=Tensor_Dim12 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_christof<T,"
-		  << Tensor_Dim0 << "," << Tensor_Dim12 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ") const" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_christof<T,"
+          << Tensor_Dim0 << "," << Tensor_Dim12
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N2>N3 ? data[N1][N2+(N3*(2*Tensor_Dim12-N3-1))/2]
diff -r db7491945826 -r dd991b426d75 Tensor3_dg/Tensor3_dg_pointer.h
--- a/Tensor3_dg/Tensor3_dg_pointer.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor3_dg/Tensor3_dg_pointer.h	Sun Dec 13 21:43:54 2009 -0800
@@ -70,10 +70,12 @@ public:
     if(N1>=Tensor_Dim01 || N1<0
        || N2>=Tensor_Dim01 || N2<0 || N3>=Tensor_Dim2 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T*,"
-		  << Tensor_Dim01 << "," << Tensor_Dim2 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T*,"
+          << Tensor_Dim01 << "," << Tensor_Dim2
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? *data[N1+(N2*(2*Tensor_Dim01-N2-1))/2][N3]
@@ -86,10 +88,13 @@ public:
     if(N1>=Tensor_Dim01 || N1<0
        || N2>=Tensor_Dim01 || N2<0 || N3>=Tensor_Dim2 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T*,"
-		  << Tensor_Dim01 << "," << Tensor_Dim2 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ") const" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T*,"
+          << Tensor_Dim01 << "," << Tensor_Dim2
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? *data[N1+(N2*(2*Tensor_Dim01-N2-1))/2][N3]
@@ -102,10 +107,11 @@ public:
     if(N1>=Tensor_Dim01 || N1<0
        || N2>=Tensor_Dim01 || N2<0 || N3>=Tensor_Dim2 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T,"
-		  << Tensor_Dim01 << "," << Tensor_Dim2 << ">.ptr("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T,"
+          << Tensor_Dim01 << "," << Tensor_Dim2 << ">.ptr("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2][N3]
diff -r db7491945826 -r dd991b426d75 Tensor3_dg/Tensor3_dg_value.h
--- a/Tensor3_dg/Tensor3_dg_value.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor3_dg/Tensor3_dg_value.h	Sun Dec 13 21:43:54 2009 -0800
@@ -70,10 +70,12 @@ public:
     if(N1>=Tensor_Dim01 || N1<0
        || N2>=Tensor_Dim01 || N2<0 || N3>=Tensor_Dim2 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T,"
-		  << Tensor_Dim01 << "," << Tensor_Dim2 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ")" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T,"
+          << Tensor_Dim01 << "," << Tensor_Dim2
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ")" << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2][N3]
@@ -86,10 +88,13 @@ public:
     if(N1>=Tensor_Dim01 || N1<0
        || N2>=Tensor_Dim01 || N2<0 || N3>=Tensor_Dim2 || N3<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T,"
-		  << Tensor_Dim01 << "," << Tensor_Dim2 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << ") const" << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T,"
+          << Tensor_Dim01 << "," << Tensor_Dim2
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2][N3]
diff -r db7491945826 -r dd991b426d75 Tensor4_ddg/Tensor4_ddg_pointer.h
--- a/Tensor4_ddg/Tensor4_ddg_pointer.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor4_ddg/Tensor4_ddg_pointer.h	Sun Dec 13 21:43:54 2009 -0800
@@ -15,11 +15,13 @@ public:
     if(N1>=Tensor_Dim01 || N1<0 || N2>=Tensor_Dim01 || N2<0
        || N3>=Tensor_Dim23 || N3<0 || N4>=Tensor_Dim23 || N4<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T*,"
-		  << Tensor_Dim01 << "," << Tensor_Dim23 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << "," << N4 << ")"
-		  << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T*,"
+          << Tensor_Dim01 << "," << Tensor_Dim23
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << "," << N4 << ")"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? (N3>N4 ? *data[N1+(N2*(2*Tensor_Dim01-N2-1))/2]
@@ -39,11 +41,14 @@ public:
     if(N1>=Tensor_Dim01 || N1<0 || N2>=Tensor_Dim01 || N2<0
        || N3>=Tensor_Dim23 || N3<0 || N4>=Tensor_Dim23 || N4<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T*,"
-		  << Tensor_Dim01 << "," << Tensor_Dim23 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << "," << N4 << ") const"
-		  << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T*,"
+          << Tensor_Dim01 << "," << Tensor_Dim23
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << "," << N4
+          << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? (N3>N4 ? *data[N1+(N2*(2*Tensor_Dim01-N2-1))/2]
@@ -62,11 +67,12 @@ public:
     if(N1>=Tensor_Dim01 || N1<0 || N2>=Tensor_Dim01 || N2<0
        || N3>=Tensor_Dim23 || N3<0 || N4>=Tensor_Dim23 || N4<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T,"
-		  << Tensor_Dim01 << "," << Tensor_Dim23 << ">.ptr("
-		  << N1 << "," << N2 << "," << N3 << "," << N4 << ")"
-		  << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T,"
+          << Tensor_Dim01 << "," << Tensor_Dim23 << ">.ptr("
+          << N1 << "," << N2 << "," << N3 << "," << N4 << ")"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? (N3>N4 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2]
diff -r db7491945826 -r dd991b426d75 Tensor4_ddg/Tensor4_ddg_value.h
--- a/Tensor4_ddg/Tensor4_ddg_value.h	Sun Dec 13 20:38:42 2009 -0800
+++ b/Tensor4_ddg/Tensor4_ddg_value.h	Sun Dec 13 21:43:54 2009 -0800
@@ -15,11 +15,13 @@ public:
     if(N1>=Tensor_Dim01 || N1<0 || N2>=Tensor_Dim01 || N2<0
        || N3>=Tensor_Dim23 || N3<0 || N4>=Tensor_Dim23 || N4<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T,"
-		  << Tensor_Dim01 << "," << Tensor_Dim23 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << "," << N4 << ")"
-		  << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T,"
+          << Tensor_Dim01 << "," << Tensor_Dim23
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << "," << N4 << ")"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? (N3>N4 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2]
@@ -39,11 +41,14 @@ public:
     if(N1>=Tensor_Dim01 || N1<0 || N2>=Tensor_Dim01 || N2<0
        || N3>=Tensor_Dim23 || N3<0 || N4>=Tensor_Dim23 || N4<0)
       {
-	std::cerr << "Bad index in Tensor3_dg<T,"
-		  << Tensor_Dim01 << "," << Tensor_Dim23 << ">.operator("
-		  << N1 << "," << N2 << "," << N3 << "," << N4 << ") const"
-		  << std::endl;
-	abort();
+        std::stringstream s;
+        s << "Bad index in Tensor3_dg<T,"
+          << Tensor_Dim01 << "," << Tensor_Dim23
+          << ">.operator("
+          << N1 << "," << N2 << "," << N3 << "," << N4
+          << ") const"
+          << std::endl;
+        throw std::runtime_error(s.str());
       }
 #endif
     return N1>N2 ? (N3>N4 ? data[N1+(N2*(2*Tensor_Dim01-N2-1))/2]



More information about the CIG-COMMITS mailing list