File gcc4-patches of Package mtl
Index: mtl-2.1.2-23/mtl/envelope2D.h
===================================================================
--- mtl-2.1.2-23.orig/mtl/envelope2D.h
+++ mtl-2.1.2-23/mtl/envelope2D.h
@@ -64,7 +64,7 @@ public:
typedef dense1D<size_type> ptr_t;
//: A pair type for the dimensions of the container
- typedef dimension<size_type> dim_type;
+ typedef mtl::dimension<size_type> dim_type;
enum { M = 0, N = 0 };
//: This container uses internal storage
typedef internal_tag storage_loc;
Index: mtl-2.1.2-23/mtl/mtl_decl.h
===================================================================
--- mtl-2.1.2-23.orig/mtl/mtl_decl.h
+++ mtl-2.1.2-23/mtl/mtl_decl.h
@@ -50,21 +50,21 @@ min(const VectorT& x);
template <class Matrix>
inline void
-transpose(MTL_OUT(Matrix) A_);
+transpose(MTL_OUT(Matrix) A_) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
-transpose(const MatA& A, MTL_OUT(MatB) B_);
+transpose(const MatA& A, MTL_OUT(MatB) B_) MTL_THROW_ASSERTION;
template <class Matrix, class VecX, class VecZ>
inline void
rect_mult(const Matrix& A, const VecX& xx, VecZ& zz,
- row_tag, dense_tag);
+ row_tag, dense_tag) MTL_THROW_ASSERTION;
template <class Matrix, class VecX, class VecZ>
inline void
rect_mult(const Matrix& A, const VecX& xx, VecZ& zz,
- column_tag, dense_tag);
+ column_tag, dense_tag) MTL_THROW_ASSERTION;
template <class Matrix, class VecX, class VecY>
void
@@ -78,11 +78,11 @@ rect_mult(const Matrix& A, const VecX& x
template <class Matrix, class VecX, class VecY, class VecZ>
inline void
-mult(const Matrix& A, const VecX& x, const VecY& y, MTL_OUT(VecZ) z_);
+mult(const Matrix& A, const VecX& x, const VecY& y, MTL_OUT(VecZ) z_) MTL_THROW_ASSERTION;
template <class Matrix, class VecX, class VecY>
inline void
-mult_add(const Matrix& A, const VecX& x, MTL_OUT(VecY) y_);
+mult_add(const Matrix& A, const VecX& x, MTL_OUT(VecY) y_) MTL_THROW_ASSERTION;
template <class MatA, class MatB, class MatC, class Orien>
inline void
@@ -129,7 +129,7 @@ mult(const LinalgA& A, const LinalgB& B,
template <class TriMatrix, class VecX>
inline void
-tri_solve(const TriMatrix& T, MTL_OUT(VecX) x_);
+tri_solve(const TriMatrix& T, MTL_OUT(VecX) x_) MTL_THROW_ASSERTION;
template <class MatT, class MatB, class Side>
inline void
@@ -138,36 +138,36 @@ tri_solve(const MatT& T, MTL_OUT(MatB) B
template <class Matrix, class VecX, class VecY>
inline void
rank_one_update(MTL_OUT(Matrix) A_,
- const VecX& x, const VecY& y);
+ const VecX& x, const VecY& y) MTL_THROW_ASSERTION;
template <class Matrix, class VecX, class VecY>
inline void
rank_two_update(MTL_OUT(Matrix) A_,
- const VecX& x, const VecY& y);
+ const VecX& x, const VecY& y) MTL_THROW_ASSERTION;
template <class VecX, class VecY>
inline void
-oned_copy(const VecX& x, VecY& y, dense_tag, dense_tag);
+oned_copy(const VecX& x, VecY& y, dense_tag, dense_tag) MTL_THROW_ASSERTION;
template <class VecX, class VecY, class Tag>
inline void
-oned_copy(const VecX& x, VecY& y, Tag, sparse_tag);
+oned_copy(const VecX& x, VecY& y, Tag, sparse_tag) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
-twod_copy(const MatA& A, MatB& B, rectangle_tag);
+twod_copy(const MatA& A, MatB& B, rectangle_tag) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
-twod_copy(const MatA& A, MatB& B, banded_tag);
+twod_copy(const MatA& A, MatB& B, banded_tag) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
-twod_copy(const MatA& A, MatB& B, symmetric_tag);
+twod_copy(const MatA& A, MatB& B, symmetric_tag) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
-twod_copy(const MatA& A, MatB& B, triangle_tag);
+twod_copy(const MatA& A, MatB& B, triangle_tag) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
@@ -183,7 +183,7 @@ twod_copy(const MatA& A, MatB& B, row_ta
template <class LinalgA, class LinalgB>
inline void
-copy(const LinalgA& A, MTL_OUT(LinalgB) B_);
+copy(const LinalgA& A, MTL_OUT(LinalgB) B_) MTL_THROW_ASSERTION;
template <class VecX, class VecY, class VecZ>
inline void
@@ -191,15 +191,15 @@ oned_add(const VecX& x, const VecY& y, V
template <class VecX, class VecY, class VecZ>
inline void
-oned_add(const VecX& x, const VecY& y, VecZ& z, dense_tag);
+oned_add(const VecX& x, const VecY& y, VecZ& z, dense_tag) MTL_THROW_ASSERTION;
template <class VecX, class VecY, class VecZ>
inline void
-add(const VecX& x, const VecY& y, MTL_OUT(VecZ) z_);
+add(const VecX& x, const VecY& y, MTL_OUT(VecZ) z_) MTL_THROW_ASSERTION;
template <class VecW, class VecX, class VecY, class VecZ>
inline void
-add(const VecX& x, const VecY& y, const VecZ& z, MTL_OUT(VecW) w_);
+add(const VecX& x, const VecY& y, const VecZ& z, MTL_OUT(VecW) w_) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
@@ -227,31 +227,31 @@ twod_add(const MatA& A, MatB& B, symmetr
template <class LinalgA, class LinalgB>
inline void
-add(const LinalgA& A, MTL_OUT(LinalgB) B_);
+add(const LinalgA& A, MTL_OUT(LinalgB) B_) MTL_THROW_ASSERTION;
template <class VecX, class VecY, class VecZ>
inline void
-ele_mult(const VecX& x, const VecY& y, MTL_OUT(VecZ) z_);
+ele_mult(const VecX& x, const VecY& y, MTL_OUT(VecZ) z_) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
-ele_mult(const MatA& A, MTL_OUT(MatB) B_);
+ele_mult(const MatA& A, MTL_OUT(MatB) B_) MTL_THROW_ASSERTION;
template <class VecX, class VecY, class VecZ>
inline void
-ele_div(const VecX& x, const VecY& y, MTL_OUT(VecZ) z_);
+ele_div(const VecX& x, const VecY& y, MTL_OUT(VecZ) z_) MTL_THROW_ASSERTION;
template <class VecX, class VecY>
inline void
-swap(VecX& x, VecY& y, oned_tag);
+swap(VecX& x, VecY& y, oned_tag) MTL_THROW_ASSERTION;
template <class MatA, class MatB>
inline void
-swap(MatA& A, MatB& B, twod_tag);
+swap(MatA& A, MatB& B, twod_tag) MTL_THROW_ASSERTION;
template <class LinalgA, class LinalgB>
inline void
-swap(MTL_OUT(LinalgA) A, MTL_OUT(LinalgB) B);
+swap(MTL_OUT(LinalgA) A, MTL_OUT(LinalgB) B) MTL_THROW_ASSERTION;
template <class VecX, class VecY, class T>
inline T
@@ -281,15 +281,15 @@ dot(const VecX& x, const VecY& y, T s, s
template <class VecX, class VecY, class T>
inline T
-dot(const VecX& x, const VecY& y, T s);
+dot(const VecX& x, const VecY& y, T s) MTL_THROW_ASSERTION;
template <class VecX, class VecY>
inline typename VecX::value_type
-dot(const VecX& x, const VecY& y);
+dot(const VecX& x, const VecY& y) MTL_THROW_ASSERTION;
template <class VecX, class VecY, class T>
inline T
-dot_conj(const VecX& x, const VecY& y, T s);
+dot_conj(const VecX& x, const VecY& y, T s) MTL_THROW_ASSERTION;
} // namespace mtl