Browse Source

Improve template paramter documentation

Christophe Riccio 14 years ago
parent
commit
13e16886a3

+ 3 - 3
glm/core/func_integer.hpp

@@ -161,7 +161,7 @@ namespace glm
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/bitCount.xml">GLSL bitCount man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/bitCount.xml">GLSL bitCount man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8</a>
 	///
 	///
-	/// @todo Clarify the declaration to specify that scalars are suported
+	/// @todo Clarify the declaration to specify that scalars are suported.
 	template <typename T, template <typename> class genIUType>
 	template <typename T, template <typename> class genIUType>
 	typename genIUType<T>::signed_type bitCount(genIUType<T> const & Value);
 	typename genIUType<T>::signed_type bitCount(genIUType<T> const & Value);
 
 
@@ -174,7 +174,7 @@ namespace glm
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/findLSB.xml">GLSL findLSB man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/findLSB.xml">GLSL findLSB man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8</a>
 	///
 	///
-	/// @todo Clarify the declaration to specify that scalars are suported
+	/// @todo Clarify the declaration to specify that scalars are suported.
 	template <typename T, template <typename> class genIUType>
 	template <typename T, template <typename> class genIUType>
 	typename genIUType<T>::signed_type findLSB(genIUType<T> const & Value);
 	typename genIUType<T>::signed_type findLSB(genIUType<T> const & Value);
 
 
@@ -188,7 +188,7 @@ namespace glm
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/findMSB.xml">GLSL findMSB man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/findMSB.xml">GLSL findMSB man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8</a>
 	///
 	///
-	/// @todo Clarify the declaration to specify that scalars are suported
+	/// @todo Clarify the declaration to specify that scalars are suported.
 	template <typename T, template <typename> class genIUType>
 	template <typename T, template <typename> class genIUType>
 	typename genIUType<T>::signed_type findMSB(genIUType<T> const & Value);
 	typename genIUType<T>::signed_type findMSB(genIUType<T> const & Value);
 
 

+ 38 - 18
glm/core/func_matrix.hpp

@@ -47,6 +47,8 @@ namespace glm
 
 
 	/// Multiply matrix x by matrix y component-wise, i.e., 
 	/// Multiply matrix x by matrix y component-wise, i.e., 
 	/// result[i][j] is the scalar product of x[i][j] and y[i][j].
 	/// result[i][j] is the scalar product of x[i][j] and y[i][j].
+	/// 
+	/// @tparam matType Floating-point matrix types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/matrixCompMult.xml">GLSL matrixCompMult man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/matrixCompMult.xml">GLSL matrixCompMult man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>
@@ -58,15 +60,21 @@ namespace glm
 	/// Treats the first parameter c as a column vector 
 	/// Treats the first parameter c as a column vector 
 	/// and the second parameter r as a row vector
 	/// and the second parameter r as a row vector
 	/// and does a linear algebraic matrix multiply c * r.
 	/// and does a linear algebraic matrix multiply c * r.
+	/// 
+	/// @tparam matType Floating-point matrix types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/outerProduct.xml">GLSL outerProduct man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/outerProduct.xml">GLSL outerProduct man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>
+	/// 
+	/// @todo Clarify the declaration to specify that matType doesn't have to be provided when used.
     template <typename vecType, typename matType> 
     template <typename vecType, typename matType> 
 	matType outerProduct(
 	matType outerProduct(
 		vecType const & c, 
 		vecType const & c, 
 		vecType const & r);
 		vecType const & r);
 
 
 	/// Returns the transposed matrix of x
 	/// Returns the transposed matrix of x
+	/// 
+	/// @tparam matType Floating-point matrix types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/transpose.xml">GLSL transpose man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/transpose.xml">GLSL transpose man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	
@@ -75,52 +83,64 @@ namespace glm
 		matType const & x);
 		matType const & x);
 	
 	
 	/// Return the determinant of a mat2 matrix. 
 	/// Return the determinant of a mat2 matrix. 
+	/// 
+	/// @tparam valType Floating-point scalar types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	
-	template <typename T> 
-	typename detail::tmat2x2<T>::value_type determinant(
-		detail::tmat2x2<T> const & m);
+	template <typename valType> 
+	typename detail::tmat2x2<valType>::value_type determinant(
+		detail::tmat2x2<valType> const & m);
 
 
 	/// Return the determinant of a mat3 matrix. 
 	/// Return the determinant of a mat3 matrix. 
+	/// 
+	/// @tparam valType Floating-point scalar types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	
-	template <typename T> 
-	typename detail::tmat3x3<T>::value_type determinant(
-		detail::tmat3x3<T> const & m);
+	template <typename valType> 
+	typename detail::tmat3x3<valType>::value_type determinant(
+		detail::tmat3x3<valType> const & m);
 
 
 	/// Return the determinant of a mat4 matrix. 
 	/// Return the determinant of a mat4 matrix. 
+	/// 
+	/// @tparam valType Floating-point scalar types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml">GLSL determinant man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>		
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>		
-    template <typename T> 
-	typename detail::tmat4x4<T>::value_type determinant(
-		detail::tmat4x4<T> const & m);
+    template <typename valType> 
+	typename detail::tmat4x4<valType>::value_type determinant(
+		detail::tmat4x4<valType> const & m);
 
 
 	/// Return the inverse of a mat2 matrix. 
 	/// Return the inverse of a mat2 matrix. 
+	/// 
+	/// @tparam valType Floating-point scalar types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	 
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>	 
-	template <typename T> 
-	detail::tmat2x2<T> inverse(
-		detail::tmat2x2<T> const & m);
+	template <typename valType> 
+	detail::tmat2x2<valType> inverse(
+		detail::tmat2x2<valType> const & m);
 
 
 	/// Return the inverse of a mat3 matrix. 
 	/// Return the inverse of a mat3 matrix. 
+	/// 
+	/// @tparam valType Floating-point scalar types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a> 
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a> 
-	template <typename T> 
-	detail::tmat3x3<T> inverse(
-		detail::tmat3x3<T> const & m);
+	template <typename valType> 
+	detail::tmat3x3<valType> inverse(
+		detail::tmat3x3<valType> const & m);
 
 
 	/// Return the inverse of a mat4 matrix. 
 	/// Return the inverse of a mat4 matrix. 
+	/// 
+	/// @tparam valType Floating-point scalar types.
     ///
     ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml">GLSL inverse man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6</a>
-	template <typename T> 
-	detail::tmat4x4<T> inverse(
-		detail::tmat4x4<T> const & m);
+	template <typename valType> 
+	detail::tmat4x4<valType> inverse(
+		detail::tmat4x4<valType> const & m);
 
 
 	/// @}
 	/// @}
 }//namespace glm
 }//namespace glm

+ 8 - 0
glm/core/func_noise.hpp

@@ -44,6 +44,8 @@ namespace glm
 	/// @{
 	/// @{
 
 
 	/// Returns a 1D noise value based on the input value x.
 	/// Returns a 1D noise value based on the input value x.
+	///
+	/// @tparam genType Floating-point scalar or vector types.
     /// 
     /// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise1.xml">GLSL noise1 man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise1.xml">GLSL noise1 man page</a>
 	/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>
 	/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>
@@ -51,6 +53,8 @@ namespace glm
 	typename genType::value_type noise1(genType const & x);
 	typename genType::value_type noise1(genType const & x);
 
 
 	/// Returns a 2D noise value based on the input value x.
 	/// Returns a 2D noise value based on the input value x.
+	///
+	/// @tparam genType Floating-point scalar or vector types.
     /// 
     /// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise2.xml">GLSL noise2 man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise2.xml">GLSL noise2 man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>
@@ -58,6 +62,8 @@ namespace glm
 	detail::tvec2<typename genType::value_type> noise2(genType const & x);
 	detail::tvec2<typename genType::value_type> noise2(genType const & x);
 
 
 	/// Returns a 3D noise value based on the input value x.
 	/// Returns a 3D noise value based on the input value x.
+	///
+	/// @tparam genType Floating-point scalar or vector types.
     /// 
     /// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise3.xml">GLSL noise3 man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise3.xml">GLSL noise3 man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>
@@ -65,6 +71,8 @@ namespace glm
 	detail::tvec3<typename genType::value_type> noise3(genType const & x);
 	detail::tvec3<typename genType::value_type> noise3(genType const & x);
 
 
 	/// Returns a 4D noise value based on the input value x.
 	/// Returns a 4D noise value based on the input value x.
+	///
+	/// @tparam genType Floating-point scalar or vector types.
     /// 
     /// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise4.xml">GLSL noise4 man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise4.xml">GLSL noise4 man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13</a>

+ 73 - 43
glm/core/func_trigonometric.hpp

@@ -45,119 +45,149 @@ namespace glm
 	/// @addtogroup core_func_trigonometric
 	/// @addtogroup core_func_trigonometric
 	/// @{
 	/// @{
 
 
-	//! Converts degrees to radians and returns the result.
-    //!
+	/// Converts degrees to radians and returns the result.
+	///
+	/// @tparam genType Floating-point scalar or vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/radians.xml">GLSL radians man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/radians.xml">GLSL radians man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType radians(genType const & degrees);
 	genType radians(genType const & degrees);
 
 
-	//! Converts radians to degrees and returns the result.
-    //!
+	/// Converts radians to degrees and returns the result.
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/degrees.xml">GLSL degrees man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/degrees.xml">GLSL degrees man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType degrees(genType const & radians);
 	genType degrees(genType const & radians);
 
 
-	//! The standard trigonometric sine function. 
-	//! The values returned by this function will range from [-1, 1].
-    //!
+	/// The standard trigonometric sine function. 
+	/// The values returned by this function will range from [-1, 1].
+	/// 
+	/// @tparam genType Floating-point scalar or vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sin.xml">GLSL sin man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sin.xml">GLSL sin man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType sin(genType const & angle);
 	genType sin(genType const & angle);
 
 
-	//! The standard trigonometric cosine function. 
-	//! The values returned by this function will range from [-1, 1].
-    //!
+	/// The standard trigonometric cosine function. 
+	/// The values returned by this function will range from [-1, 1].
+	/// 
+	/// @tparam genType Floating-point scalar or vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/cos.xml">GLSL cos man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/cos.xml">GLSL cos man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType cos(genType const & angle);
 	genType cos(genType const & angle);
 
 
-	//! The standard trigonometric tangent function.
-    //!
+	/// The standard trigonometric tangent function.
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/tan.xml">GLSL tan man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/tan.xml">GLSL tan man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType tan(genType const & angle); 
 	genType tan(genType const & angle); 
 
 
-	//! Arc sine. Returns an angle whose sine is x. 
-	//! The range of values returned by this function is [-PI/2, PI/2]. 
-	//! Results are undefined if |x| > 1.
-    //!
+	/// Arc sine. Returns an angle whose sine is x. 
+	/// The range of values returned by this function is [-PI/2, PI/2]. 
+	/// Results are undefined if |x| > 1.
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/asin.xml">GLSL asin man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/asin.xml">GLSL asin man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType asin(genType const & x);
 	genType asin(genType const & x);
 
 
-	//! Arc cosine. Returns an angle whose sine is x. 
-	//! The range of values returned by this function is [0, PI]. 
-	//! Results are undefined if |x| > 1.
-    //!
+	/// Arc cosine. Returns an angle whose sine is x. 
+	/// The range of values returned by this function is [0, PI]. 
+	/// Results are undefined if |x| > 1.
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/acos.xml">GLSL acos man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/acos.xml">GLSL acos man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType acos(genType const & x);
 	genType acos(genType const & x);
 
 
-	//! Arc tangent. Returns an angle whose tangent is y/x. 
-	//! The signs of x and y are used to determine what 
-	//! quadrant the angle is in. The range of values returned 
-	//! by this function is [-PI, PI]. Results are undefined 
-	//! if x and y are both 0. 
-    //!
+	/// Arc tangent. Returns an angle whose tangent is y/x. 
+	/// The signs of x and y are used to determine what 
+	/// quadrant the angle is in. The range of values returned 
+	/// by this function is [-PI, PI]. Results are undefined 
+	/// if x and y are both 0. 
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atan.xml">GLSL atan man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atan.xml">GLSL atan man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType atan(genType const & y, genType const & x);
 	genType atan(genType const & y, genType const & x);
 
 
-	//! Arc tangent. Returns an angle whose tangent is y_over_x. 
-	//! The range of values returned by this function is [-PI/2, PI/2].
-    //!
+	/// Arc tangent. Returns an angle whose tangent is y_over_x. 
+	/// The range of values returned by this function is [-PI/2, PI/2].
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atan.xml">GLSL atan man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atan.xml">GLSL atan man page</a>
 	/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType atan(genType const & y_over_x);
 	genType atan(genType const & y_over_x);
 
 
-	//! Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2
-    //!
+	/// Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sinh.xml">GLSL sinh man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sinh.xml">GLSL sinh man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType sinh(genType const & angle);
 	genType sinh(genType const & angle);
 
 
-	//! Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2
-    //!
+	/// Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/cosh.xml">GLSL cosh man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/cosh.xml">GLSL cosh man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType cosh(genType const & angle);
 	genType cosh(genType const & angle);
 
 
-	//! Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
-    //!
+	/// Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/tanh.xml">GLSL tanh man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/tanh.xml">GLSL tanh man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType tanh(genType const & angle);
 	genType tanh(genType const & angle);
 
 
-	//! Arc hyperbolic sine; returns the inverse of sinh.
-    //!
+	/// Arc hyperbolic sine; returns the inverse of sinh.
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/asinh.xml">GLSL asinh man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/asinh.xml">GLSL asinh man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType asinh(genType const & x);
 	genType asinh(genType const & x);
 	
 	
-	//! Arc hyperbolic cosine; returns the non-negative inverse
-	//! of cosh. Results are undefined if x < 1.
-    //!
+	/// Arc hyperbolic cosine; returns the non-negative inverse
+	/// of cosh. Results are undefined if x < 1.
+    ///
+	/// @tparam genType Floating-point scalar or vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/acosh.xml">GLSL acosh man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/acosh.xml">GLSL acosh man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 
 	genType acosh(genType const & x);
 	genType acosh(genType const & x);
 
 
-	//! Arc hyperbolic tangent; returns the inverse of tanh.
-	//! Results are undefined if abs(x) >= 1.
-    //!
+	/// Arc hyperbolic tangent; returns the inverse of tanh.
+	/// Results are undefined if abs(x) >= 1.
+	///
+	/// @tparam genType Floating-point scalar or vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atanh.xml">GLSL atanh man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/atanh.xml">GLSL atanh man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1</a>
 	template <typename genType> 
 	template <typename genType> 

+ 41 - 23
glm/core/func_vector_relational.hpp

@@ -48,65 +48,83 @@ namespace glm
 	/// @addtogroup core_func_vector_relational
 	/// @addtogroup core_func_vector_relational
 	/// @{
 	/// @{
 
 
-	//! Returns the component-wise comparison result of x < y.
-    //!
+	/// Returns the component-wise comparison result of x < y.
+	/// 
+	/// @tparam vecType Floating-point or integer vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThan.xml">GLSL lessThan man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThan.xml">GLSL lessThan man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
-    //template <typename T, template <typename> class vecType> 
-	//GLM_FUNC_QUALIFIER typename vecType<T>::bool_type lessThan(vecType<T> const & x, vecType<T> const & y);
+    template <typename vecType> 
+	GLM_FUNC_QUALIFIER typename vecType::bool_type lessThan(vecType const & x, vecType const & y);
 
 
-	//! Returns the component-wise comparison of result x <= y.
-    //!
+	/// Returns the component-wise comparison of result x <= y.
+    ///
+	/// @tparam vecType Floating-point or integer vector types.
+	///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThanEqual.xml">GLSL lessThanEqual man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThanEqual.xml">GLSL lessThanEqual man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
 	template <typename T, template <typename> class vecType> 
 	template <typename T, template <typename> class vecType> 
 	GLM_FUNC_QUALIFIER typename vecType<T>::bool_type lessThanEqual(vecType<T> const & x, vecType<T> const & y);
 	GLM_FUNC_QUALIFIER typename vecType<T>::bool_type lessThanEqual(vecType<T> const & x, vecType<T> const & y);
 
 
-	//! Returns the component-wise comparison of result x > y.
-    //!
+	/// Returns the component-wise comparison of result x > y.
+    ///
+	/// @tparam vecType Floating-point or integer vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThan.xml">GLSL greaterThan man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThan.xml">GLSL greaterThan man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
 	template <typename T, template <typename> class vecType> 
 	template <typename T, template <typename> class vecType> 
 	GLM_FUNC_QUALIFIER typename vecType<T>::bool_type greaterThan(vecType<T> const & x, vecType<T> const & y);
 	GLM_FUNC_QUALIFIER typename vecType<T>::bool_type greaterThan(vecType<T> const & x, vecType<T> const & y);
 
 
-	//! Returns the component-wise comparison of result x >= y.
-    //!
+	/// Returns the component-wise comparison of result x >= y.
+    ///
+	/// @tparam vecType Floating-point or integer vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThanEqual.xml">GLSL greaterThanEqual man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThanEqual.xml">GLSL greaterThanEqual man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
 	template <typename T, template <typename> class vecType> 
 	template <typename T, template <typename> class vecType> 
 	typename vecType<T>::bool_type greaterThanEqual(vecType<T> const & x, vecType<T> const & y);
 	typename vecType<T>::bool_type greaterThanEqual(vecType<T> const & x, vecType<T> const & y);
 
 
-	//! Returns the component-wise comparison of result x == y.
-    //!
+	/// Returns the component-wise comparison of result x == y.
+    ///
+	/// @tparam vecType Floating-point, integer or boolean vector types.
+	/// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/equal.xml">GLSL equal man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/equal.xml">GLSL equal man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
-	//template <typename T, template <typename> class vecType> 
-	//GLM_FUNC_QUALIFIER typename vecType<T>::bool_type equal(vecType<T> const & x, vecType<T> const & y);
+	template <typename T, template <typename> class vecType> 
+	GLM_FUNC_QUALIFIER typename vecType<T>::bool_type equal(vecType<T> const & x, vecType<T> const & y);
 
 
-	//! Returns the component-wise comparison of result x != y.
-    //!
+	/// Returns the component-wise comparison of result x != y.
+	/// 
+	/// @tparam vecType Floating-point, integer or boolean vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/notEqual.xml">GLSL notEqual man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/notEqual.xml">GLSL notEqual man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
 	template <typename T, template <typename> class vecType> 
 	template <typename T, template <typename> class vecType> 
 	typename vecType<T>::bool_type notEqual(vecType<T> const & x, vecType<T> const & y);
 	typename vecType<T>::bool_type notEqual(vecType<T> const & x, vecType<T> const & y);
 
 
-	//! Returns true if any component of x is true.
-    //!
+	/// Returns true if any component of x is true.
+	///
+	/// @tparam vecType Boolean vector types.
+    /// 
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/any.xml">GLSL any man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/any.xml">GLSL any man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
 	template <template <typename> class vecType> 
 	template <template <typename> class vecType> 
 	bool any(vecType<bool> const & v);
 	bool any(vecType<bool> const & v);
 
 
-	//! Returns true if all components of x are true.
-    //!
+	/// Returns true if all components of x are true.
+	///
+	/// @tparam vecType Boolean vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/all.xml">GLSL all man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/all.xml">GLSL all man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
 	template <template <typename> class vecType> 
 	template <template <typename> class vecType> 
 	bool all(vecType<bool> const & v);
 	bool all(vecType<bool> const & v);
 
 
-	//! Returns the component-wise logical complement of x.
-    //! /!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.
-    //!
+	/// Returns the component-wise logical complement of x.
+    /// /!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.
+	///
+	/// @tparam vecType Boolean vector types.
+    ///
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/not.xml">GLSL not man page</a>
     /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/not.xml">GLSL not man page</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
     /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
 	template <template <typename> class vecType> 
 	template <template <typename> class vecType>