Browse Source

Remove value_size() from vectors

Christophe Riccio 14 years ago
parent
commit
64da6d3da3

+ 15 - 9
glm/core/func_vector_relational.inl

@@ -39,9 +39,10 @@ namespace glm
 			"Invalid template instantiation of 'lessThan', GLM vector types required");
 		GLM_STATIC_ASSERT(detail::is_bool<T>::_NO,
 			"Invalid template instantiation of 'lessThan', GLM vector types required floating-point or integer value types vectors");
+		assert(x.length() == y.length());
 
 		typename vecType<bool>::bool_type Result(vecType<bool>::null);
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < x.length(); ++i)
 			Result[i] = x[i] < y[i];
 
 		return Result;
@@ -58,9 +59,10 @@ namespace glm
 			"Invalid template instantiation of 'lessThanEqual', GLM vector types required");
 		GLM_STATIC_ASSERT(detail::is_bool<T>::_NO, 
 			"Invalid template instantiation of 'lessThanEqual', GLM vector types required floating-point or integer value types vectors");
+		assert(x.length() == y.length());
 
 		typename vecType<bool>::bool_type Result(vecType<bool>::null);
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < x.length(); ++i)
 			Result[i] = x[i] <= y[i];
 		return Result;
 	}
@@ -76,9 +78,10 @@ namespace glm
 			"Invalid template instantiation of 'greaterThan', GLM vector types required");
 		GLM_STATIC_ASSERT(detail::is_bool<T>::_NO, 
 			"Invalid template instantiation of 'greaterThan', GLM vector types required floating-point or integer value types vectors");
+		assert(x.length() == y.length());
 
 		typename vecType<bool>::bool_type Result(vecType<bool>::null);
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < x.length(); ++i)
 			Result[i] = x[i] > y[i];
 		return Result;
 	}
@@ -94,9 +97,10 @@ namespace glm
 			"Invalid template instantiation of 'greaterThanEqual', GLM vector types required");
 		GLM_STATIC_ASSERT(detail::is_bool<T>::_NO, 
 			"Invalid template instantiation of 'greaterThanEqual', GLM vector types required floating-point or integer value types vectors");
+		assert(x.length() == y.length());
 
 		typename vecType<bool>::bool_type Result(vecType<bool>::null);
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < x.length(); ++i)
 			Result[i] = x[i] >= y[i];
 		return Result;
 	}
@@ -110,9 +114,10 @@ namespace glm
 	{
 		GLM_STATIC_ASSERT(detail::is_vector<vecType<T> >::_YES, 
 			"Invalid template instantiation of 'equal', GLM vector types required");
+		assert(x.length() == y.length());
 
 		typename vecType<bool>::bool_type Result(vecType<bool>::null);
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < x.length(); ++i)
 			Result[i] = x[i] == y[i];
 		return Result;
 	}
@@ -126,9 +131,10 @@ namespace glm
 	{
 		GLM_STATIC_ASSERT(detail::is_vector<vecType<T> >::_YES, 
 			"Invalid template instantiation of 'notEqual', GLM vector types required");
+		assert(x.length() == y.length());
 
 		typename vecType<bool>::bool_type Result(vecType<bool>::null);
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < x.length(); ++i)
 			Result[i] = x[i] != y[i];
 		return Result;
 	}
@@ -140,7 +146,7 @@ namespace glm
 			"Invalid template instantiation of 'any', GLM boolean vector types required");
 
 		bool Result = false;
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < v.length(); ++i)
 			Result = Result || v[i];
 		return Result;
 	}
@@ -152,7 +158,7 @@ namespace glm
 			"Invalid template instantiation of 'all', GLM boolean vector types required");
 
 		bool Result = true;
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < v.length(); ++i)
 			Result = Result && v[i];
 		return Result;
 	}
@@ -164,7 +170,7 @@ namespace glm
 			"Invalid template instantiation of 'not_', GLM vector types required");
 
 		typename vecType<bool>::bool_type Result(vecType<bool>::null);
-		for(typename vecType<bool>::size_type i = 0; i < vecType<bool>::value_size(); ++i)
+		for(typename vecType<bool>::size_type i = 0; i < v.length(); ++i)
 			Result[i] = !v[i];
 		return Result;
 	}

+ 0 - 1
glm/core/type_vec1.hpp

@@ -55,7 +55,6 @@ namespace detail
 		typedef T value_type;
 		typedef std::size_t size_type;
 		GLM_FUNC_DECL size_type length() const;
-		static GLM_FUNC_DECL size_type value_size();
 
 		typedef tvec1<T> type;
 		typedef tvec1<bool> bool_type;

+ 0 - 6
glm/core/type_vec1.inl

@@ -35,12 +35,6 @@ namespace detail
 		return 1;
 	}
 
-	template <typename T>
-	GLM_FUNC_QUALIFIER typename tvec1<T>::size_type tvec1<T>::value_size()
-	{
-		return 1;
-	}
-
 	//////////////////////////////////////
 	// Accesses
 

+ 0 - 1
glm/core/type_vec2.hpp

@@ -54,7 +54,6 @@ namespace detail
 		typedef T value_type;
 		typedef std::size_t size_type;
 		GLM_FUNC_DECL size_type length() const;
-		static GLM_FUNC_DECL size_type value_size();
 
 		typedef tvec2<T> type;
 		typedef tvec2<bool> bool_type;

+ 0 - 6
glm/core/type_vec2.inl

@@ -35,12 +35,6 @@ namespace detail
 		return 2;
 	}
 
-	template <typename T>
-	GLM_FUNC_QUALIFIER typename tvec2<T>::size_type tvec2<T>::value_size()
-	{
-		return 2;
-	}
-
 	//////////////////////////////////////
 	// Accesses
 

+ 0 - 1
glm/core/type_vec3.hpp

@@ -54,7 +54,6 @@ namespace detail
 		typedef T value_type;
 		typedef std::size_t size_type;
 		GLM_FUNC_DECL size_type length() const;
-		static GLM_FUNC_DECL size_type value_size();
 
 		typedef tvec3<T> type;
 		typedef tvec3<bool> bool_type;

+ 0 - 6
glm/core/type_vec3.inl

@@ -35,12 +35,6 @@ namespace detail
 		return 3;
 	}
 
-	template <typename T>
-	GLM_FUNC_QUALIFIER typename tvec3<T>::size_type tvec3<T>::value_size()
-	{
-		return 3;
-	}
-
 	//////////////////////////////////////
 	// Accesses
 

+ 0 - 1
glm/core/type_vec4.hpp

@@ -54,7 +54,6 @@ namespace detail
 		typedef T value_type;
 		typedef std::size_t size_type;
 		GLM_FUNC_DECL size_type length() const;
-		static GLM_FUNC_DECL size_type value_size();
 
 		typedef tvec4<T> type;
 		typedef tvec4<bool> bool_type;

+ 0 - 6
glm/core/type_vec4.inl

@@ -35,12 +35,6 @@ namespace detail
 		return 4;
 	}
 
-	template <typename T>
-	GLM_FUNC_QUALIFIER typename tvec4<T>::size_type tvec4<T>::value_size()
-	{
-		return 4;
-	}
-
 	//////////////////////////////////////
 	// Accesses
 

+ 4 - 4
glm/gtx/component_wise.inl

@@ -13,7 +13,7 @@ namespace glm
 	GLM_FUNC_QUALIFIER typename genType::value_type compAdd(genType const & v)
 	{
 		typename genType::size_type result = typename genType::value_type(0);
-		for(typename genType::size_type i = 0; i < genType::value_size(); ++i)
+		for(typename genType::size_type i = 0; i < v.length(); ++i)
 			result += v[i];
 		return result;
 	}
@@ -22,7 +22,7 @@ namespace glm
 	GLM_FUNC_QUALIFIER typename genType::value_type compMul(genType const & v)
 	{
 		typename genType::value_type result = typename genType::value_type(1);
-		for(typename genType::size_type i = 0; i < genType::value_size(); ++i)
+		for(typename genType::size_type i = 0; i < v.length(); ++i)
 			result *= v[i];
 		return result;
 	}
@@ -31,7 +31,7 @@ namespace glm
 	GLM_FUNC_QUALIFIER typename genType::value_type compMin(genType const & v)
 	{
 		typename genType::value_type result = typename genType::value_type(v[0]);
-		for(typename genType::size_type i = 1; i < genType::value_size(); ++i)
+		for(typename genType::size_type i = 1; i < v.length(); ++i)
 			result = min(result, v[i]);
 		return result;
 	}
@@ -40,7 +40,7 @@ namespace glm
 	GLM_FUNC_QUALIFIER typename genType::value_type compMax(genType const & v)
 	{
 		typename genType::value_type result = typename genType::value_type(v[0]);
-		for(typename genType::size_type i = 1; i < genType::value_size(); ++i)
+		for(typename genType::size_type i = 1; i < v.length(); ++i)
 			result = max(result, v[i]);
 		return result;
 	}