|  |  | @ -336,23 +336,47 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 |  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		float simdLength( |  |  |  | 		float length( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 |  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Less accurate but much faster than simdLength.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdLength4( |  |  |  | 		float fastLength( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Slightly more accurate but much slower than simdLength.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		float niceLength( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		detail::fvec4SIMD length4( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Less accurate but much faster than simdLength4.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		detail::fvec4SIMD fastLength4( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Returns the length of x, i.e., sqrt(x * x).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! Slightly more accurate but much slower than simdLength4.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		detail::fvec4SIMD niceLength4( | 
			
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
 |  |  |  | 		//! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		float simdDistance( |  |  |  | 		float distance( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & p0, |  |  |  | 			detail::fvec4SIMD const & p0, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & p1); |  |  |  | 			detail::fvec4SIMD const & p1); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
 |  |  |  | 		//! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdDistance4( |  |  |  | 		detail::fvec4SIMD distance4( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & p0, |  |  |  | 			detail::fvec4SIMD const & p0, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & p1); |  |  |  | 			detail::fvec4SIMD const & p1); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -364,25 +388,25 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the dot product of x and y, i.e., result = x * y.
 |  |  |  | 		//! Returns the dot product of x and y, i.e., result = x * y.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdDot4( |  |  |  | 		detail::fvec4SIMD dot4( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x, |  |  |  | 			detail::fvec4SIMD const & x, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & y); |  |  |  | 			detail::fvec4SIMD const & y); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the cross product of x and y.
 |  |  |  | 		//! Returns the cross product of x and y.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdCross( |  |  |  | 		detail::fvec4SIMD cross( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x, |  |  |  | 			detail::fvec4SIMD const & x, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & y); |  |  |  | 			detail::fvec4SIMD const & y); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns a vector in the same direction as x but with length of 1.
 |  |  |  | 		//! Returns a vector in the same direction as x but with length of 1.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdNormalize( |  |  |  | 		detail::fvec4SIMD normalize( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns a vector in the same direction as x but with length of 1.
 |  |  |  | 		//! Returns a vector in the same direction as x but with length of 1.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Less accurate but much faster than simdNormalize.
 |  |  |  | 		//! Less accurate but much faster than simdNormalize.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdFastNormalize( |  |  |  | 		detail::fvec4SIMD fastNormalize( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! If dot(Nref, I) < 0.0, return N, otherwise, return -N.
 |  |  |  | 		//! If dot(Nref, I) < 0.0, return N, otherwise, return -N.
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -395,7 +419,7 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! For the incident vector I and surface orientation N,
 |  |  |  | 		//! For the incident vector I and surface orientation N,
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! returns the reflection direction : result = I - 2.0 * dot(N, I) * N.
 |  |  |  | 		//! returns the reflection direction : result = I - 2.0 * dot(N, I) * N.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdReflect( |  |  |  | 		detail::fvec4SIMD reflect( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & I, |  |  |  | 			detail::fvec4SIMD const & I, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & N); |  |  |  | 			detail::fvec4SIMD const & N); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -403,37 +427,37 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! and the ratio of indices of refraction eta,
 |  |  |  | 		//! and the ratio of indices of refraction eta,
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! return the refraction vector.
 |  |  |  | 		//! return the refraction vector.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, geometry functions)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdRefract( |  |  |  | 		detail::fvec4SIMD refract( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & I, |  |  |  | 			detail::fvec4SIMD const & I, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & N, |  |  |  | 			detail::fvec4SIMD const & N, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			float const & eta); |  |  |  | 			float const & eta); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the positive square root of x.
 |  |  |  | 		//! Returns the positive square root of x.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdSqrt( |  |  |  | 		detail::fvec4SIMD sqrt( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the positive square root of x with the nicest quality but very slow.
 |  |  |  | 		//! Returns the positive square root of x with the nicest quality but very slow.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Slightly more accurate but much slower than simdSqrt.
 |  |  |  | 		//! Slightly more accurate but much slower than simdSqrt.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdNiceSqrt( |  |  |  | 		detail::fvec4SIMD niceSqrt( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the positive square root of x
 |  |  |  | 		//! Returns the positive square root of x
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Less accurate but much faster than simdSqrt.
 |  |  |  | 		//! Less accurate but much faster than sqrt.
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdFastSqrt( |  |  |  | 		detail::fvec4SIMD fastSqrt( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the reciprocal of the positive square root of x.
 |  |  |  | 		//! Returns the reciprocal of the positive square root of x.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdInversesqrt( |  |  |  | 		detail::fvec4SIMD inversesqrt( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Returns the reciprocal of the positive square root of x.
 |  |  |  | 		//! Returns the reciprocal of the positive square root of x.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//! Faster than simdInversesqrt but less accurate.
 |  |  |  | 		//! Faster than inversesqrt but less accurate.
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 |  |  |  | 		//! (From GLM_GTX_simd_vec4 extension, exponential function)
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		detail::fvec4SIMD simdFastInversesqrt( |  |  |  | 		detail::fvec4SIMD fastInversesqrt( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			detail::fvec4SIMD const & x); |  |  |  | 			detail::fvec4SIMD const & x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	}//namespace simd_vec4
 |  |  |  | 	}//namespace simd_vec4
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |