diff --git a/doc/index.htm b/doc/index.htm index 588fe1f9..9a70499d 100644 --- a/doc/index.htm +++ b/doc/index.htm @@ -232,21 +232,21 @@ Here's how:

 cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost login
      (password is empty)
- cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout -r matrix_development boost/boost/numeric/ublas
- cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout -r matrix_development boost/libs/numeric/ublas
+ cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout boost/boost/numeric/ublas + cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout boost/libs/numeric/ublas

If you have gzip installed on your system, you can speed up the transfer using

-
 cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout -r matrix_development boost/boost/numeric/ublas
- cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout -r matrix_development boost/libs/numeric/ublas
+
 cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout boost/boost/numeric/ublas
+ cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout boost/libs/numeric/ublas

You can also view the CVS archive. You may find the library here. +href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/boost/numeric/ublas/">here. Documentation and test programs reside here.

+href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/libs/numeric/ublas/">here.

Mailing lists

diff --git a/include/boost/numeric/ublas/config.hpp b/include/boost/numeric/ublas/config.hpp index 80d64834..870348ff 100644 --- a/include/boost/numeric/ublas/config.hpp +++ b/include/boost/numeric/ublas/config.hpp @@ -164,8 +164,6 @@ #define BOOST_UBLAS_ENABLE_SPECIALIZED_ASSIGN -#define BOOST_UBLAS_ENABLE_PROXY_SHORTCUTS - #endif diff --git a/include/boost/numeric/ublas/exception.hpp b/include/boost/numeric/ublas/exception.hpp index e3a9d0ab..1d861cfe 100644 --- a/include/boost/numeric/ublas/exception.hpp +++ b/include/boost/numeric/ublas/exception.hpp @@ -156,7 +156,7 @@ namespace boost { namespace numeric { namespace ublas { // public std::exception { public std::domain_error { BOOST_UBLAS_EXPLICIT - non_real (const std::string &s = "exception: non real"): + non_real (const std::string &s = "exception: non real"): std::domain_error (s) {} // virtual const char *what () const throw () { // return "exception: non real"; @@ -184,6 +184,9 @@ namespace boost { namespace numeric { namespace ublas { // if (! expression) // e.raise (); // } +// Dan Muller reported problems with COMO in GUI applications +// So we need a new preprocessor symbol: +#ifndef BOOST_UBLAS_NO_STD_CERR #define BOOST_UBLAS_CHECK(expression, e) \ if (! (expression)) { \ std::cerr << "Assertion failed in file " << __FILE__ << " at line " << __LINE__ << ":" << std::endl; \ @@ -197,6 +200,16 @@ namespace boost { namespace numeric { namespace ublas { e.raise (); \ } #else +#define BOOST_UBLAS_CHECK(expression, e) \ + if (! (expression)) { \ + e.raise (); \ + } +#define BOOST_UBLAS_CHECK_EX(expression, file, line, e) \ + if (! (expression)) { \ + e.raise (); \ + } +#endif +#else // FIXME: for performance reasons we better use macros // template // BOOST_UBLAS_INLINE diff --git a/include/boost/numeric/ublas/storage.hpp b/include/boost/numeric/ublas/storage.hpp index 4a7b2b9c..61b91e3c 100644 --- a/include/boost/numeric/ublas/storage.hpp +++ b/include/boost/numeric/ublas/storage.hpp @@ -44,7 +44,10 @@ namespace boost { namespace numeric { namespace ublas { // #define BOOST_UBLAS_SAME(size1, size2) same_impl ((size1), (size2)) template BOOST_UBLAS_INLINE - const T &same_impl_ex (const T &size1, const T &size2, const char *file, int line) { + // Kresimir Fresl and Dan Muller reported problems with COMO. + // We better change the signature instead of libcomo ;-) + // const T &same_impl_ex (const T &size1, const T &size2, const char *file, int line) { + T same_impl_ex (const T &size1, const T &size2, const char *file, int line) { BOOST_UBLAS_CHECK_EX (size1 == size2, file, line, bad_argument ()); return std::min (size1, size2); } @@ -58,12 +61,12 @@ namespace boost { namespace numeric { namespace ublas { // } // #define BOOST_UBLAS_SAME(size1, size2) same_impl ((size1), (size2)) #define BOOST_UBLAS_SAME(size1, size2) (size1) -#endif +#endif - // Unbounded array + // Unbounded array template class unbounded_array { - public: + public: typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; typedef T value_type;