diff --git a/include/IMU/math/IMU_tools_Lie.h b/include/IMU/math/IMU_tools_Lie.h index bfe4df3b0f77c0b11895bb21948bfc9eeb4e635c..3c4d2a4c298826ecff3a4a7e2eda249792509dbf 100644 --- a/include/IMU/math/IMU_tools_Lie.h +++ b/include/IMU/math/IMU_tools_Lie.h @@ -137,16 +137,17 @@ inline void inverse(const MatrixBase<D1>& d, MatrixSizeCheck<11, 1>::check(d); MatrixSizeCheck<11, 1>::check(id); - typedef typename D1::Scalar T; - - Map<const Matrix<typename D1::Scalar, 3, 1> > dp ( & d( 0 ) ); - Map<const Quaternion<typename D1::Scalar> > dq ( & d( 3 ) ); - Map<const Matrix<typename D1::Scalar, 3, 1> > dv ( & d( 7 ) ); - const T& dt = d( 10 ) ; - Map<Matrix<typename D2::Scalar, 3, 1> > idp ( & id( 0 ) ); - Map<Quaternion<typename D2::Scalar> > idq ( & id( 3 ) ); - Map<Matrix<typename D2::Scalar, 3, 1> > idv ( & id( 7 ) ); - T& idt = id( 10 ) ; + typedef typename D1::Scalar T1; + typedef typename D1::Scalar T2; + + Map<const Matrix<T1, 3, 1> > dp ( & d( 0 ) ); + Map<const Quaternion<T1> > dq ( & d( 3 ) ); + Map<const Matrix<T1, 3, 1> > dv ( & d( 7 ) ); + const T1& dt = d( 10 ) ; + Map<Matrix<T2, 3, 1> > idp ( & id( 0 ) ); + Map<Quaternion<T2> > idq ( & id( 3 ) ); + Map<Matrix<T2, 3, 1> > idv ( & id( 7 ) ); + T2& idt = id( 10 ) ; inverse(dp, dq, dv, dt, idp, idq, idv, idt); }