Your message dated Thu, 30 Jan 2014 21:20:48 +0000
with message-id <e1w8z2w-0005gc...@franck.debian.org>
and subject line Bug#736985: fixed in eigen3 3.2.0-7
has caused the Debian Bug report #736985,
regarding libeigen3-dev: Spline Module: A call to Spline::derivative fails to
compile if dimension=1
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
736985: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736985
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libeigen3-dev
Version: 3.1.0-1
Severity: normal
Tags: patch
Dear Maintainer,
the bug can be demonstrated using Hauke's example from
http://forum.kde.nl/viewtopic.php?f=74&t=98871 (see enclosed file). The call to
Spline2d::derivative<1> is an extension of Hauke's example inserted
by me. This call makes this example fail to compile:
---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<----
$ LANG=C g++ -I/usr/include/eigen3/ eigen-spline-example-from-hauke.cpp
In file included from /usr/include/eigen3/Eigen/Core:300:0,
from eigen-spline-example-from-hauke.cpp:4:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In instantiation of
'static void Eigen::PlainObjectBase<Derived>::_check_template_params() [with
Derived = Eigen::Array<double, 1, -1, 0, 1, 2>]':
/usr/include/eigen3/Eigen/src/Core/Array.h:127:7: required from
'Eigen::Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Array()
[with _Scalar = double; int _Rows = 1; int _Cols = -1; int _Options = 0; int
_MaxRows = 1; int _MaxCols = 2]'
/usr/include/eigen3/unsupported/Eigen/src/Splines/Spline.h:339:70: required
from 'typename Eigen::SplineTraits<Eigen::Spline<Scalar, Dim, Degree>,
DerivativeOrder>::DerivativeType Eigen::Spline<Scalar, Dim,
Degree>::derivatives(Eigen::Spline<Scalar, Dim, Degree>::Scalar,
Eigen::DenseIndex) const [with int DerivativeOrder = 1; _Scalar = double; int
_Dim = 1; int _Degree = -1; typename Eigen::SplineTraits<Eigen::Spline<Scalar,
Dim, Degree>, DerivativeOrder>::DerivativeType = Eigen::Array<double, 1, -1, 0,
1, 2>; Eigen::Spline<Scalar, Dim, Degree>::Scalar = double; Eigen::DenseIndex =
int]'
eigen-spline-example-from-hauke.cpp:37:98: required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:654:7: error:
'INVALID_MATRIX_TEMPLATE_PARAMETERS' is not a member of
'Eigen::internal::static_assertion<false>'
---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<----
This bug can be fixed by changing in
/usr/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h the
DerivativeType from ColMajor to RowMajor (see enclosed patch for details).
With this change everything compiles fine:
---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<----
$ LANG=C g++ -I/usr/include/eigen3/ -include SplineFwd.h eigen-spline-example-
from-hauke.cpp && echo $?
0
---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<----
-- System Information:
Debian Release: 7.3
APT prefers proposed-updates
APT policy: (500, 'proposed-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
libeigen3-dev depends on no packages.
libeigen3-dev recommends no packages.
Versions of packages libeigen3-dev suggests:
ii libeigen3-doc 3.1.0-1
#include <vector>
#include <iostream>
#include <Eigen/Core>
#include <unsupported/Eigen/Splines>
using namespace Eigen;
double uvalue(double x, double low, double high)
{
return (x - low)/(high-low);
}
VectorXd uvalues(VectorXd xvals)
{
const double low = xvals.minCoeff();
const double high = xvals.maxCoeff();
for (int i=0; i<xvals.size(); ++i)
{
xvals(i) = uvalue(xvals(i), low, high);
}
return xvals;
}
int main(int argc, char* argv[])
{
typedef Spline<double,1> Spline2d;
const VectorXd xvals = (VectorXd(5) << 1,2,3,4,6).finished();
const VectorXd yvals = xvals.array().square();
const Spline2d spline = SplineFitting<Spline2d>::Interpolate(yvals.transpose(), 3, uvalues(xvals).transpose());
const double step = 0.1;
for (double x = 1; x < 6 + 0.5*step; x += step)
{
const double uv = uvalue(x, xvals.minCoeff(), xvals.maxCoeff());
std::cout << "(" << x << "," << spline(uv).transpose() << "," << spline.derivatives<1>(uv) << ")\n";
}
std::cout << std::endl;
}
--- /usr/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h 2012-06-23 19:29:21.000000000 +0200
+++ ./SplineFwd.h 2014-01-10 00:54:22.872994299 +0100
@@ -82,7 +82,7 @@
typedef Array<_Scalar,Dynamic,Dynamic,RowMajor,NumOfDerivativesAtCompileTime,OrderAtCompileTime> BasisDerivativeType;
/** \brief The data type used to store the spline's derivative values. */
- typedef Array<_Scalar,_Dim,Dynamic,ColMajor,_Dim,NumOfDerivativesAtCompileTime> DerivativeType;
+ typedef Array<_Scalar,_Dim,Dynamic,RowMajor,_Dim,NumOfDerivativesAtCompileTime> DerivativeType;
};
/** \brief 2D float B-spline with dynamic degree. */
--- End Message ---
--- Begin Message ---
Source: eigen3
Source-Version: 3.2.0-7
We believe that the bug you reported is fixed in the latest version of
eigen3, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 736...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Anton Gladky <gl...@debian.org> (supplier of updated eigen3 package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Thu, 30 Jan 2014 21:53:10 +0100
Source: eigen3
Binary: libeigen3-dev libeigen3-doc
Architecture: source all
Version: 3.2.0-7
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers
<debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Anton Gladky <gl...@debian.org>
Description:
libeigen3-dev - lightweight C++ template library for linear algebra
libeigen3-doc - eigen3 API documentation
Closes: 736985
Changes:
eigen3 (3.2.0-7) unstable; urgency=medium
.
[ Philipp Büttgenbach ]
* [2311eec] Fix spline module. (Closes: #736985)
.
[ Anton Gladky ]
* [acab013] Remove piwik scripts.
* [dd630a6] Ignore quilt dir
Checksums-Sha1:
1b404c941eeb94ba3dfc611ea3dc940eb12682f1 2096 eigen3_3.2.0-7.dsc
75ace32b72726cd5c46d807ec0f6b4a3007b6e9f 23192 eigen3_3.2.0-7.debian.tar.xz
ef5d8beabe2efa50525e7066c99ecb0b4e8365a3 508798 libeigen3-dev_3.2.0-7_all.deb
3920df52673a9032ab84abecbb1bdfdedd51365e 11998890 libeigen3-doc_3.2.0-7_all.deb
Checksums-Sha256:
149a48189eecb08bfe9d11922eb10e718bc417110c2e48365baa741859d7d50a 2096
eigen3_3.2.0-7.dsc
b6acc1471e770cad9d22dd55b84d635c362b7a149e9e672ced9447b750019038 23192
eigen3_3.2.0-7.debian.tar.xz
0d93e20930fa4dc183a0e6ce84409b8c219dae905225d5d2b4ede0fad19cba52 508798
libeigen3-dev_3.2.0-7_all.deb
a6d942947363729cfb91ce510f237ac4c2975ee56463ebecb73f35f9d8a80a52 11998890
libeigen3-doc_3.2.0-7_all.deb
Files:
a7cd9bafa68ad1a2dddb69ee209e728e 2096 libdevel extra eigen3_3.2.0-7.dsc
c5d551d74afff5d669211bb6316f8e4c 23192 libdevel extra
eigen3_3.2.0-7.debian.tar.xz
d6fbf40945aa9c67d9eefac4dae114e9 508798 libdevel extra
libeigen3-dev_3.2.0-7_all.deb
f54755e56255aeb66581bd0fb7275455 11998890 doc extra
libeigen3-doc_3.2.0-7_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBAgAGBQJS6r7bAAoJENPhc4PPp/8GmZYP/0PsxGeurCiPjaZr88OcUfja
FxSdm3UptkSKI1fVGC/c3S5mgJd1rZvCOkHzbA9GyuJuQ0lJbuKMLVyvdRcWK4vr
ISjWP/xT1w6j4iz7zzxNFv4+jfbyO4612B5KMoxD9o3cDwkI2V1IbXdEQlU+pXiL
7NIKjRp3ulYs+JXNjbLrssgAWAu2vZleYfkYsaRI5av5JQyB6Cqz4qpZ2hrqKG1o
JMusjiKN18BNMnQ6r9YpGw81HtWVHdwGMfaRLjVA1MRLFJ8L51BWZHoudDMgSi2h
8rhOYCKffC2mq8bM0/XHmjJHbYY7p0gjJdiodk/lL1Zkh+QjAj9XX6kJE54hqi3a
Sh+vJW70P+N7JUi4jDdcS8U9/ZBCeFkL5FVFhfBvkTGh+wsAjZSg5t5TR/mXt/Un
4GUsFpqi197opt0ofC2EjKLW0gLNw85vELl60hFR7NxPyd4YAcVOeriRXgl4URce
zB1bawGA1fv7jKlHOMUu2EZm9zrpR1Mjwcw8TJW11NF4W/B4muqPVrqRqHOQJ5jK
RKO+cRsekBX9J7nnb+4x9ebpnzfDxr8G44jR3Tw1lcN8abDAdh3oCcq81+3Ika44
80OoeqHCuLRcIh8oN3T3HVKAdltUzxkxtz7Lr+tYbmNxgaA3Gy3vEF1JokNLo4p+
xiSijRzERC0MJOHpwxxN
=q32t
-----END PGP SIGNATURE-----
--- End Message ---
--
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers