[eigen] We need help on issue #91 from MSVC 2010 users |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: Eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: [eigen] We need help on issue #91 from MSVC 2010 users
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Thu, 4 Nov 2010 09:39:04 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=j5DYWzSVRzh89IN+c4K55Fd3fW66Ct+ccKr5wwuF8mA=; b=rMyHvnPT42dbRqxRy9QlSJE+3T4w8TbH8IoKxoTOto+I1oEs6ESNqOIELjKpiCQRlf bQUsOwi33/TE6n4nO4bpE/LpLRnZNJ/YmBlZTUMyf2+n9L++eY36UV+x3A9NfSw8tm7I SvjH6xq/8KkKzZ61Uuuer7sSzZYqy0g6tuFEY=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=Hm46LMNUd7CsAGzaab8wf6ALYsAyOqPl3LBdh9PNavSdvA8u14uiOxk9rzOHWwBgEn g2iflZAfWrbROtnO19grYBNRkCkVofGModJ+N4y1RlnsMosVgEy/5MW+TpaEpKfgcAK6 5l40JqgJ1Up4iWFujeL5NcGmm/TZo4jQmplVM=
Hi,
I encountered the problem which you can see in the compiler output
being attached to bug #91. See also here:
http://eigen.tuxfamily.org/bz/show_bug.cgi?id=91
This bug occurs in the 'inverse' unit test under Visual Studio 2010
and it occurs only when "split tests" is not defined.
The code that triggers the bug is the following product from Inverse.h line 147:
const Matrix<typename ResultType::Scalar,3,1>& cofactors_col0;
const typename ResultType::Scalar& invdet;
ResultType& result;
result.row(0) = cofactors_col0 * invdet;
where ResultType = Eigen::Matrix<float,3,3>.
What happens:
- for some reasone matrix_type_times_scalar_type (belongs to the
Householder code) is instantiated
- it is instantiated with different float types which cannot be explained
Bisecting does not work. The bug seems to appear since we moved to the
internal namespace and unfortunately there are some inconsistent
commits which don't compile and thus prevent a bisection.
Rewriting the product above as
result.row(0) = cofactors_col0.operator*(invdet);
fixes the compilation locally but triggers the same error on the next
Matrix*Scalar product in BlockHouseholder line 47.
We should try hard to fix this for beta 3 but up to now, I've found no
way to tackle the issue. Casting e.g. does not help and I was not yet
able to write a minimal example that reproduces the issue.
Any help or ideas are highly appreciated.
Regards,
Hauke