提交 cd1569c5 编写于 作者: C Christophe Riccio

Added product declarations

上级 8d2d1121
...@@ -188,6 +188,16 @@ namespace detail ...@@ -188,6 +188,16 @@ namespace detail
tmat2x2<T> const & m1, tmat2x2<T> const & m1,
tmat2x2<T> const & m2); tmat2x2<T> const & m2);
template <typename T>
tmat3x2<T> operator* (
tmat2x2<T> const & m1,
tmat3x2<T> const & m2);
template <typename T>
tmat4x2<T> operator* (
tmat2x2<T> const & m1,
tmat4x2<T> const & m2);
template <typename T> template <typename T>
tmat2x2<T> operator/ ( tmat2x2<T> operator/ (
tmat2x2<T> const & m, tmat2x2<T> const & m,
......
...@@ -164,11 +164,21 @@ namespace detail ...@@ -164,11 +164,21 @@ namespace detail
typename tmat2x3<T>::col_type const & v, typename tmat2x3<T>::col_type const & v,
tmat2x3<T> const & m); tmat2x3<T> const & m);
template <typename T>
tmat2x3<T> operator* (
tmat2x3<T> const & m1,
tmat2x2<T> const & m2);
template <typename T> template <typename T>
tmat3x3<T> operator* ( tmat3x3<T> operator* (
tmat2x3<T> const & m1, tmat2x3<T> const & m1,
tmat3x2<T> const & m2); tmat3x2<T> const & m2);
template <typename T>
tmat4x3<T> operator* (
tmat2x3<T> const & m1,
tmat4x2<T> const & m2);
template <typename T> template <typename T>
tmat2x3<T> operator/ ( tmat2x3<T> operator/ (
tmat2x3<T> const & m, tmat2x3<T> const & m,
......
...@@ -165,10 +165,20 @@ namespace detail ...@@ -165,10 +165,20 @@ namespace detail
typename tmat2x4<T>::col_type const & v, typename tmat2x4<T>::col_type const & v,
tmat2x4<T> const & m); tmat2x4<T> const & m);
template <typename T>
tmat4x4<T> operator* (
tmat2x4<T> const & m1,
tmat4x2<T> const & m2);
template <typename T> template <typename T>
tmat2x4<T> operator* ( tmat2x4<T> operator* (
tmat2x4<T> const & m1, tmat2x4<T> const & m1,
tmat2x4<T> const & m2); tmat2x2<T> const & m2);
template <typename T>
tmat3x4<T> operator* (
tmat2x4<T> const & m1,
tmat3x2<T> const & m2);
template <typename T> template <typename T>
tmat2x4<T> operator/ ( tmat2x4<T> operator/ (
......
...@@ -176,6 +176,16 @@ namespace detail ...@@ -176,6 +176,16 @@ namespace detail
tmat3x2<T> const & m1, tmat3x2<T> const & m1,
tmat2x3<T> const & m2); tmat2x3<T> const & m2);
template <typename T>
tmat3x2<T> operator* (
tmat3x2<T> const & m1,
tmat3x3<T> const & m2);
template <typename T>
tmat4x2<T> operator* (
tmat3x2<T> const & m1,
tmat4x3<T> const & m2);
template <typename T> template <typename T>
tmat3x2<T> operator/ ( tmat3x2<T> operator/ (
tmat3x2<T> const & m, tmat3x2<T> const & m,
......
...@@ -191,6 +191,16 @@ namespace detail ...@@ -191,6 +191,16 @@ namespace detail
tmat3x3<T> const & m1, tmat3x3<T> const & m1,
tmat3x3<T> const & m2); tmat3x3<T> const & m2);
template <typename T>
tmat2x3<T> operator* (
tmat3x3<T> const & m1,
tmat2x3<T> const & m2);
template <typename T>
tmat4x3<T> operator* (
tmat3x3<T> const & m1,
tmat4x3<T> const & m2);
template <typename T> template <typename T>
tmat3x3<T> operator/ ( tmat3x3<T> operator/ (
tmat3x3<T> const & m, tmat3x3<T> const & m,
......
...@@ -176,6 +176,16 @@ namespace detail ...@@ -176,6 +176,16 @@ namespace detail
tmat3x4<T> const & m1, tmat3x4<T> const & m1,
tmat4x3<T> const & m2); tmat4x3<T> const & m2);
template <typename T>
tmat2x4<T> operator* (
tmat3x4<T> const & m1,
tmat2x3<T> const & m2);
template <typename T>
tmat3x4<T> operator* (
tmat3x4<T> const & m1,
tmat3x3<T> const & m2);
template <typename T> template <typename T>
tmat3x4<T> operator/ ( tmat3x4<T> operator/ (
tmat3x4<T> const & m, tmat3x4<T> const & m,
......
...@@ -177,8 +177,18 @@ namespace detail ...@@ -177,8 +177,18 @@ namespace detail
tmat4x2<T> const & m); tmat4x2<T> const & m);
template <typename T> template <typename T>
tmat2x2<T> operator* ( tmat3x2<T> operator* (
tmat4x2<T> const & m1, tmat4x2<T> const & m1,
tmat3x4<T> const & m2);
template <typename T>
tmat4x2<T> operator* (
tmat4x2<T> const & m1,
tmat4x4<T> const & m2);
template <typename T>
tmat2x3<T> operator* (
tmat4x3<T> const & m1,
tmat2x4<T> const & m2); tmat2x4<T> const & m2);
template <typename T> template <typename T>
......
...@@ -174,11 +174,21 @@ namespace detail ...@@ -174,11 +174,21 @@ namespace detail
typename tmat4x3<T>::col_type const & v, typename tmat4x3<T>::col_type const & v,
tmat4x3<T> const & m); tmat4x3<T> const & m);
template <typename T>
tmat2x3<T> operator* (
tmat4x3<T> const & m1,
tmat2x4<T> const & m2);
template <typename T> template <typename T>
tmat3x3<T> operator* ( tmat3x3<T> operator* (
tmat4x3<T> const & m1, tmat4x3<T> const & m1,
tmat3x4<T> const & m2); tmat3x4<T> const & m2);
template <typename T>
tmat4x3<T> operator* (
tmat4x3<T> const & m1,
tmat4x4<T> const & m2);
template <typename T> template <typename T>
tmat4x3<T> operator/ ( tmat4x3<T> operator/ (
tmat4x3<T> const & m, tmat4x3<T> const & m,
......
...@@ -189,6 +189,16 @@ namespace detail ...@@ -189,6 +189,16 @@ namespace detail
typename tmat4x4<T>::col_type const & v, typename tmat4x4<T>::col_type const & v,
tmat4x4<T> const & m); tmat4x4<T> const & m);
template <typename T>
tmat2x4<T> operator* (
tmat4x4<T> const & m1,
tmat2x4<T> const & m2);
template <typename T>
tmat3x4<T> operator* (
tmat4x4<T> const & m1,
tmat3x4<T> const & m2);
template <typename T> template <typename T>
tmat4x4<T> operator* ( tmat4x4<T> operator* (
tmat4x4<T> const & m1, tmat4x4<T> const & m1,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册