Fwd: [Ublas] Bug in 1.59 in file boost/numeric/ublas/detail/concepts.hpp

<[email protected]>
Newsgroups gmane.comp.lib.boost.ublas
Message-ID <CAHq7APENnR7AgW3cMEpKNDpTZeQeRAPS=MPTzfU9NMJd1nZMaw@mail.gmail.com>
Corss-posting to ublas list:

To me it seems that the regression was introduced in commit
https://github.com/uBLAS/ublas/commit/d6e77ccdf47d8f9f7935f576b820cdb25263b95a

Regards!

---------- Forwarded message ----------
From: <[email protected]>
Date: 2015-11-30 15:24 GMT+01:00
Subject: [Ublas] Bug in 1.59 in file boost/numeric/ublas/detail/concepts.hpp
To: [email protected]


In the migration from Boost 1.55.0 to 1.59.0 I found a bug in Ublas.

For instance, in 1.55.0 function OneElement() declared in
boost/numeric/ublas/detail/concepts.hpp line 716 looks like this:

template<> double OneElement (double) { return 1.; }

However, in 1.59.0 I think there is a copy'n'paste typo, because the
corresponding function (which has been refactored) looks like this:

template<class T> T OneElement (T) { return T(0.0); }

Please note that the latter version returns a *zero*, instead of a *one*.

This same bug affects the vector overload of the function, but the matrix
version looks correct (it returns identity_matrix).

This looks like a copy'n'paste typo, from a similar function
called ZeroElement(), that, of course, returns a zero.

I'm not sure if there is time to get a fix for this in the 1.60 release...

Regards!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.