Re: specializing void MatrixBase<Derived>::makeHouseholder (Re: [eigen] Householder.h: ::min() and operator<== |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
On 2016-09-11 15:41, Peter wrote:
[...]
Is there a simple way to specialize
template<typename Derived>
template<typename EssentialPart>
void MatrixBase<Derived>::makeHouseholder
for my own type, without interfering with the Eigen files, i.e. without
inserting enable_if statements in the Eigen code
I don't think there is an easy way.
You could specialize this method for certain types of Derived, but you
can't partially specialize methods.
I.e., this could be possible (I did not actually try):
template<>
template<typename EssentialPart>
void MatrixBase<Matrix<MyType, Dynamic, Dynamic>::makeHouseholder(...)
But you can't specialize like:
template<int rows, int cols>
template<typename EssentialPart>
void MatrixBase<Matrix<MyType, rows, cols>::makeHouseholder(...)
How would you like to modify makeHouseholder? Ideally, we should only
specialize a sub-part of the function for different types (which we can
do by delegating the function to a helper-struct).
Christoph
Best regards,
Peter
--
Dipl. Inf., Dipl. Math. Christoph Hertzberg
Universität Bremen
FB 3 - Mathematik und Informatik
AG Robotik
Robert-Hooke-Straße 1
28359 Bremen, Germany
Zentrale: +49 421 178 45-6611
Besuchsadresse der Nebengeschäftsstelle:
Robert-Hooke-Straße 5
28359 Bremen, Germany
Tel.: +49 421 178 45-4021
Empfang: +49 421 178 45-6600
Fax: +49 421 178 45-4150
E-Mail: chtz@xxxxxxxxxxxxxxxxxxxxxxxx
Weitere Informationen: http://www.informatik.uni-bremen.de/robotik