[OpenWalnut-Dev] invert function in WMatrixFixed.h

Alexander Wiebel wiebel at HS-Worms.DE
Wed Mar 1 02:02:34 CET 2017


Hi again,

here are more details for my first question.

My version of libeigen seems to be 3.3.2.

This is what I get when compiling the test:

[ 41%] Building CXX object 
core/CMakeFiles/unittest_WMatrixFixed.dir/unittest_WMatrixFixed.cc.o
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: error: no matching 
function for call to 'Eigen::Matrix<double, 3, 3>::_init1(const 
WMatrixFixed<double, 3ul, 3ul>&)'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:768:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(Eigen::Index, typename 
Eigen::internal::enable_if<(((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 1) 
|| (! Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value)) && ((! 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value) || (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 
Eigen::Dynamic))), T>::type*) [with T = T; Derived = 
Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(Index size, typename 
internal::enable_if<    (Base::SizeAtCompileTime!=1 || 
!internal::is_convertible<T, Scalar>::value)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:768:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   cannot 
convert 'x' (type 'const WMatrixFixed<double, 3ul, 3ul>') to type 
'Eigen::Index {aka long int}'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:782:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Scalar&, typename 
Eigen::internal::enable_if<((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 1) 
&& Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T>::type*) [with T = T; 
Derived = Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const Scalar& val0, typename 
internal::enable_if<Base::SizeAtCompileTime==1 && 
internal::is_convertible<T, Scalar>::value,T>::type* = 0)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:782:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Scalar&, typename Eigen::internal::enable_if<((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 1) 
&& Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T>::type*) [with T = 
WMatrixFixed<double, 3ul, 3ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:782:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<double, 3ul, 3ul> >'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<double, 3ul, 
3ul> >'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:791:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Index&, typename 
Eigen::internal::enable_if<((((! Eigen::internal::is_same<long int, 
typename Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T*>::type*) [with T = T; 
Derived = Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const Index& val0,
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:791:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Index&, typename Eigen::internal::enable_if<((((! 
Eigen::internal::is_same<long int, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T*>::type*) [with T = 
WMatrixFixed<double, 3ul, 3ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:791:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<double, 3ul, 3ul>*>'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<double, 3ul, 
3ul>*>'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:804:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Scalar*) [with T = T; 
Derived = Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const Scalar* data){
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:804:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   cannot 
convert 'x' (type 'const WMatrixFixed<double, 3ul, 3ul>') to type 'const 
Scalar* {aka const double*}'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:811:30: note: 
candidate: template<class T, class OtherDerived> void 
Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::DenseBase<ElseDerived>&) [with T = T; OtherDerived = 
OtherDerived; Derived = Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const DenseBase<OtherDerived>& other){
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:811:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<double, 3ul, 3ul>' is not derived from 'const 
Eigen::DenseBase<Derived>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:818:30: note: 
candidate: template<class T, class OtherDerived> void 
Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::EigenBase<OtherDerived>&) [with T = T; OtherDerived = 
OtherDerived; Derived = Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const EigenBase<OtherDerived>& other){
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:818:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<double, 3ul, 3ul>' is not derived from 'const 
Eigen::EigenBase<OtherDerived>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:824:30: note: 
candidate: template<class T, class OtherDerived> void 
Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::ReturnByValue<OtherDerived>&) [with T = T; OtherDerived = 
OtherDerived; Derived = Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const ReturnByValue<OtherDerived>& 
other)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:824:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<double, 3ul, 3ul>' is not derived from 'const 
Eigen::ReturnByValue<OtherDerived>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:832:30: note: 
candidate: template<class T, class OtherDerived, int ColsAtCompileTime> 
void Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::RotationBase<OtherDerived, ColsAtCompileTime>&) [with T = T; 
OtherDerived = OtherDerived; int ColsAtCompileTime = ColsAtCompileTime; 
Derived = Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const 
RotationBase<OtherDerived,ColsAtCompileTime>& r)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:832:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<double, 3ul, 3ul>' is not derived from 'const 
Eigen::RotationBase<OtherDerived, ColsAtCompileTime>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:840:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Scalar&, typename 
Eigen::internal::enable_if<((((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T>::type*) [with T = T; Derived = 
Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const Scalar& val0,
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:840:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Scalar&, typename Eigen::internal::enable_if<((((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T>::type*) [with T = WMatrixFixed<double, 3ul, 
3ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:840:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<double, 3ul, 3ul> >'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<double, 3ul, 
3ul> >'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:851:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Index&, typename 
Eigen::internal::enable_if<((((((! Eigen::internal::is_same<long int, 
typename Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic)) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T*>::type*) [with T = T; Derived = 
Eigen::Matrix<double, 3, 3>]
      EIGEN_STRONG_INLINE void _init1(const Index& val0,
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:851:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Index&, typename Eigen::internal::enable_if<((((((! 
Eigen::internal::is_same<long int, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic)) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T*>::type*) [with T = WMatrixFixed<double, 
3ul, 3ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<double, 3ul, 3ul>; 
_Scalar = double; int _Rows = 3; int _Cols = 3; int _Options = 0; int 
_MaxRows = 3; int _MaxCols = 3]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = double; long unsigned int Size = 3ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:741:45: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:851:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<double, 3ul, 3ul>*>'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<double, 3ul, 
3ul>*>'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: error: no matching 
function for call to 'Eigen::Matrix<float, 1, 1, 0, 1, 1>::_init1(const 
WMatrixFixed<float, 1ul, 1ul>&)'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:768:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(Eigen::Index, typename 
Eigen::internal::enable_if<(((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 1) 
|| (! Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value)) && ((! 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value) || (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 
Eigen::Dynamic))), T>::type*) [with T = T; Derived = 
Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(Index size, typename 
internal::enable_if<    (Base::SizeAtCompileTime!=1 || 
!internal::is_convertible<T, Scalar>::value)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:768:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   cannot 
convert 'x' (type 'const WMatrixFixed<float, 1ul, 1ul>') to type 
'Eigen::Index {aka long int}'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:782:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Scalar&, typename 
Eigen::internal::enable_if<((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 1) 
&& Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T>::type*) [with T = T; 
Derived = Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const Scalar& val0, typename 
internal::enable_if<Base::SizeAtCompileTime==1 && 
internal::is_convertible<T, Scalar>::value,T>::type* = 0)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:782:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Scalar&, typename Eigen::internal::enable_if<((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 1) 
&& Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T>::type*) [with T = 
WMatrixFixed<float, 1ul, 1ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:782:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<float, 1ul, 1ul> >'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<float, 1ul, 
1ul> >'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:791:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Index&, typename 
Eigen::internal::enable_if<((((! Eigen::internal::is_same<long int, 
typename Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T*>::type*) [with T = T; 
Derived = Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const Index& val0,
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:791:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Index&, typename Eigen::internal::enable_if<((((! 
Eigen::internal::is_same<long int, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value), T*>::type*) [with T = 
WMatrixFixed<float, 1ul, 1ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:791:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<float, 1ul, 1ul>*>'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<float, 1ul, 
1ul>*>'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:804:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Scalar*) [with T = T; 
Derived = Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const Scalar* data){
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:804:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   cannot 
convert 'x' (type 'const WMatrixFixed<float, 1ul, 1ul>') to type 'const 
Scalar* {aka const float*}'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:811:30: note: 
candidate: template<class T, class OtherDerived> void 
Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::DenseBase<ElseDerived>&) [with T = T; OtherDerived = 
OtherDerived; Derived = Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const DenseBase<OtherDerived>& other){
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:811:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<float, 1ul, 1ul>' is not derived from 'const 
Eigen::DenseBase<Derived>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:818:30: note: 
candidate: template<class T, class OtherDerived> void 
Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::EigenBase<OtherDerived>&) [with T = T; OtherDerived = 
OtherDerived; Derived = Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const EigenBase<OtherDerived>& other){
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:818:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<float, 1ul, 1ul>' is not derived from 'const 
Eigen::EigenBase<OtherDerived>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:824:30: note: 
candidate: template<class T, class OtherDerived> void 
Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::ReturnByValue<OtherDerived>&) [with T = T; OtherDerived = 
OtherDerived; Derived = Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const ReturnByValue<OtherDerived>& 
other)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:824:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<float, 1ul, 1ul>' is not derived from 'const 
Eigen::ReturnByValue<OtherDerived>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:832:30: note: 
candidate: template<class T, class OtherDerived, int ColsAtCompileTime> 
void Eigen::PlainObjectBase<Derived>::_init1(const 
Eigen::RotationBase<OtherDerived, ColsAtCompileTime>&) [with T = T; 
OtherDerived = OtherDerived; int ColsAtCompileTime = ColsAtCompileTime; 
Derived = Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const 
RotationBase<OtherDerived,ColsAtCompileTime>& r)
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:832:30: note: 
template argument deduction/substitution failed:
In file included from /usr/include/eigen3/Eigen/Core:432:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: note:   'const 
WMatrixFixed<float, 1ul, 1ul>' is not derived from 'const 
Eigen::RotationBase<OtherDerived, ColsAtCompileTime>'
        Base::template _init1<T>(x);
        ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:840:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Scalar&, typename 
Eigen::internal::enable_if<((((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T>::type*) [with T = T; Derived = 
Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const Scalar& val0,
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:840:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Scalar&, typename Eigen::internal::enable_if<((((typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T>::type*) [with T = WMatrixFixed<float, 1ul, 
1ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:840:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<float, 1ul, 1ul> >'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<float, 1ul, 
1ul> >'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:431:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/Matrix.h: In instantiation of 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]':
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:851:30: note: 
candidate: template<class T> void 
Eigen::PlainObjectBase<Derived>::_init1(const Index&, typename 
Eigen::internal::enable_if<((((((! Eigen::internal::is_same<long int, 
typename Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic)) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T*>::type*) [with T = T; Derived = 
Eigen::Matrix<float, 1, 1, 0, 1, 1>]
      EIGEN_STRONG_INLINE void _init1(const Index& val0,
                               ^~~~~~
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:851:30: note: 
template argument deduction/substitution failed:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In substitution of 
'template<class T> void Eigen::PlainObjectBase<Derived>::_init1(const 
Index&, typename Eigen::internal::enable_if<((((((! 
Eigen::internal::is_same<long int, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<long int, T>::value) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
Eigen::Dynamic)) && (typename 
Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 
1)) && Eigen::internal::is_convertible<T, typename 
Eigen::internal::traits<T>::Scalar>::value) && 
Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, 
Eigen::ArrayXpr>::value), T*>::type*) [with T = WMatrixFixed<float, 1ul, 
1ul>]':
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31:   required from 
'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, 
_MaxCols>::Matrix(const T&) [with T = WMatrixFixed<float, 1ul, 1ul>; 
_Scalar = float; int _Rows = 1; int _Cols = 1; int _Options = 0; int 
_MaxRows = 1; int _MaxCols = 1]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:1448:61: 
   required from 'WMatrixFixed<ValueT, Size, Size, ValueStoreT> 
invert(const WMatrixFixed<ValueT, Size, Size, ValueStoreT>&) [with 
ValueT = float; long unsigned int Size = 1ul; ValueStoreT = ValueStore]'
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:762:34: 
   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:851:30: error: 
invalid use of incomplete type 'struct Eigen::internal::enable_if<false, 
WMatrixFixed<float, 1ul, 1ul>*>'
In file included from /usr/include/eigen3/Eigen/Core:341:0,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/../WMatrixFixed.h:45,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/../../../src/core/common/math/linearAlgebra/test/WMatrixFixed_test.h:32,
                  from 
/home/wiebel/Development/OpenWalnut/build/release/core/unittest_WMatrixFixed.cc:24:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:162:50: note: declaration 
of 'struct Eigen::internal::enable_if<false, WMatrixFixed<float, 1ul, 
1ul>*>'
  template<bool Condition, typename T=void> struct enable_if;
                                                   ^~~~~~~~~
core/CMakeFiles/unittest_WMatrixFixed.dir/build.make:66: recipe for 
target 
'core/CMakeFiles/unittest_WMatrixFixed.dir/unittest_WMatrixFixed.cc.o' 
failed
make[2]: *** 
[core/CMakeFiles/unittest_WMatrixFixed.dir/unittest_WMatrixFixed.cc.o] 
Error 1
CMakeFiles/Makefile2:1571: recipe for target 
'core/CMakeFiles/unittest_WMatrixFixed.dir/all' failed
make[1]: *** [core/CMakeFiles/unittest_WMatrixFixed.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2




Thanks
Alex




On 03/01/17 01:17, Alexander Wiebel wrote:
> Hi all OpenWalnut developers,
> I am experiencing problems compiling the test "testMatrixInverse" for
> "WMatrixFixed". I get errors with a static_cast of template types from
> the Eigen library in the invert function of WMatrixFixed.h.
>
> Two questions:
>
> - Is anyone is experiencing similar problems?
>
> - Is anyone using this "invert" function in some private module?
> -- You can get a hint using the following command: grep -r "invert(" *"
> -- In the main repo it seems only to be used in the test.
> -- When I remove it and its test everything works fine
> -- ... if no one uses it I would remove it for now
>
> Thanks for your help.
>
> Cheers
> Alex
> _______________________________________________
> OpenWalnut-Dev mailing list
> OpenWalnut-Dev at lists.informatik.uni-leipzig.de
> http://lists.informatik.uni-leipzig.de/mailman/listinfo/openwalnut-dev
>
> Archive: http://lists.informatik.uni-leipzig.de/pipermail/openwalnut-dev/


More information about the OpenWalnut-Dev mailing list