Forráskód Böngészése

Fixed division operator

Christophe Riccio 15 éve
szülő
commit
54ac116806

+ 30 - 0
glm/core/dummy.cpp

@@ -11,48 +11,78 @@ int main()
 		glm::mat2x3 m(1.0f);
 		glm::vec2 u(1.0f);
 		glm::vec3 v(1.0f);
+		float x = 1.0f;
 		glm::vec3 a = m * u;
 		glm::vec2 b = v * m;
+		glm::mat2x3 n = x / m;
+		glm::mat2x3 o = m / x;
+		glm::mat2x3 p = x * m;
+		glm::mat2x3 q = m * x;
 	}
 
 	{
 		glm::mat2x4 m(1.0f);
 		glm::vec2 u(1.0f);
 		glm::vec4 v(1.0f);
+		float x = 1.0f;
 		glm::vec4 a = m * u;
 		glm::vec2 b = v * m;
+		glm::mat2x4 n = x / m;
+		glm::mat2x4 o = m / x;
+		glm::mat2x4 p = x * m;
+		glm::mat2x4 q = m * x;
 	}
 
 	{
 		glm::mat3x2 m(1.0f);
 		glm::vec3 u(1.0f);
 		glm::vec2 v(1.0f);
+		float x = 1.0f;
 		glm::vec2 a = m * u;
 		glm::vec3 b = v * m;
+		glm::mat3x2 n = x / m;
+		glm::mat3x2 o = m / x;
+		glm::mat3x2 p = x * m;
+		glm::mat3x2 q = m * x;
 	}
 
 	{
 		glm::mat3x4 m(1.0f);
 		glm::vec3 u(1.0f);
 		glm::vec4 v(1.0f);
+		float x = 1.0f;
 		glm::vec4 a = m * u;
 		glm::vec3 b = v * m;
+		glm::mat3x4 n = x / m;
+		glm::mat3x4 o = m / x;
+		glm::mat3x4 p = x * m;
+		glm::mat3x4 q = m * x;
 	}
 
 	{
 		glm::mat4x2 m(1.0f);
 		glm::vec4 u(1.0f);
 		glm::vec2 v(1.0f);
+		float x = 1.0f;
 		glm::vec2 a = m * u;
 		glm::vec4 b = v * m;
+		glm::mat4x2 n = x / m;
+		glm::mat4x2 o = m / x;
+		glm::mat4x2 p = x * m;
+		glm::mat4x2 q = m * x;
 	}
 
 	{
 		glm::mat4x3 m(1.0f);
 		glm::vec4 u(1.0f);
 		glm::vec3 v(1.0f);
+		float x = 1.0f;
 		glm::vec3 a = m * u;
 		glm::vec4 b = v * m;
+		glm::mat4x3 n = x / m;
+		glm::mat4x3 o = m / x;
+		glm::mat4x3 p = x * m;
+		glm::mat4x3 q = m * x;
 	}
 
 	//{

+ 2 - 2
glm/core/type_mat2x3.hpp

@@ -157,12 +157,12 @@ namespace glm
 			tmat3x2<T> const & m2);
 
 		template <typename T> 
-		tmat3x2<T> operator/ (
+		tmat2x3<T> operator/ (
 			tmat2x3<T> const & m, 
 			typename tmat2x3<T>::value_type const & s);
 
 		template <typename T> 
-		tmat3x2<T> operator/ (
+		tmat2x3<T> operator/ (
 			typename tmat2x3<T>::value_type const & s,
 			tmat2x3<T> const & m);
 

+ 2 - 4
glm/core/type_mat2x3.inl

@@ -463,8 +463,7 @@ namespace detail
     {
         return tmat2x3<T>(
             m[0] / s,
-            m[1] / s,
-            m[2] / s);        
+            m[1] / s);        
     }
 
     template <typename T> 
@@ -476,8 +475,7 @@ namespace detail
     {
         return tmat2x3<T>(
             s / m[0],
-            s / m[1],
-            s / m[2]);        
+            s / m[1]);        
     }
 
 	// Unary constant operators

+ 2 - 6
glm/core/type_mat2x4.inl

@@ -480,9 +480,7 @@ namespace detail
     {
         return tmat2x4<T>(
             m[0] / s,
-            m[1] / s,
-            m[2] / s,
-            m[3] / s);        
+            m[1] / s);        
     }
 
     template <typename T> 
@@ -494,9 +492,7 @@ namespace detail
     {
         return tmat2x4<T>(
             s / m[0],
-            s / m[1],
-            s / m[2],
-            s / m[3]);        
+            s / m[1]);        
     }
 
 	// Unary constant operators

+ 2 - 4
glm/core/type_mat3x2.inl

@@ -491,8 +491,7 @@ namespace detail
         return tmat3x2<T>(
             m[0] / s,
             m[1] / s,
-            m[2] / s,
-            m[3] / s);        
+            m[2] / s);        
     }
 
     template <typename T> 
@@ -505,8 +504,7 @@ namespace detail
         return tmat3x2<T>(
             s / m[0],
             s / m[1],
-            s / m[2],
-            s / m[3]);        
+            s / m[2]);        
     }
 
 	// Unary constant operators