Re: [eigen] Significant perf regression probably due to bug 363 patches |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Significant perf regression probably due to bug 363 patches
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Sun, 6 Nov 2011 00:29:09 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=5ZREkzXgu3kMusqC7z9gIbpAl5zwYfZ8n6lfBFIIR+Q=; b=bK7Tz/oOG4EM6uMbmZNv6SkelMMDVK1n284l9YxAcFfYDr+HqU+QRog3+kjFoxEEcY THuOccHajj0Sfbdhv/arYEqUu08E2T5zhTh5NsDh1uVYt+HWUnLT6ljdvOGN+WMxyl3b 6WOsKJpwDQEbQKBpkKj0wpD6x2MH+jaCZOYRg=
2011/11/5 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> So this is really a bug in your code; did this ever work? Meanwhile,
> we should try to generate an error at compile time in this case. This
> should be easy since x and y are of templated type so we get to know
> (in frame 3) that they're floats which doesn't make sense for (rows,
> cols) dimensions.
Done in changeset c6f51dc87530 , so your code now gives this compile error:
In file included from eigen/Eigen/Core:289:0,
from eigen/bench/BenchTimer.h:46,
from Downloads/GgmLvqBench.cpp:25:
eigen/Eigen/src/Core/PlainObjectBase.h: In member function ‘void
Eigen::PlainObjectBase<Derived>::_init2(Eigen::PlainObjectBase<Derived>::Index,
Eigen::PlainObjectBase<Derived>::Index, typename
Eigen::internal::enable_if<(Eigen::PlainObjectBase<Derived>::Base::
SizeAtCompileTime != 2), T0>::type*) [with T0 = float, T1 = float,
Derived = Eigen::Matrix<float, 4, 1>,
Eigen::PlainObjectBase<Derived>::Index = long int, typename
Eigen::internal::enable_if<(Eigen::PlainObjectBase<Derived>::Base::
SizeAtCompileTime != 2), T0>::type = float]’:
eigen/Eigen/src/Core/Matrix.h:252:7: instantiated from
‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows,
_MaxCols>::Matrix(const T0&, const T1&) [with T0 = float, T1 = float,
_Scalar = float, int _Rows = 4, int _Cols = 1, int _Options = 0, int
_MaxRows = 4, int _MaxCols = 1]’
Downloads/GgmLvqBench.cpp:386:76: instantiated from here
eigen/Eigen/src/Core/PlainObjectBase.h:599:7: error: static assertion
failed: "FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED"
Benoit