@ -23,9 +23,8 @@ namespace glm { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 2 ,  3 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 2 ,  3 ,  T ,  Q >  const  & x )  {   
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 2 ,  3 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 2 ,  3 ,  T ,  Q >  const  & x )  {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									return  mat < 2 ,  3 ,  Ret ,  Q > (   
					 
					 
					 
									return  mat < 2 ,  3 ,  Ret ,  Q > (   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,   
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,   
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] )   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
									) ;   
					 
					 
					 
									) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								}   
					 
					 
					 
								}   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -36,10 +35,8 @@ namespace glm { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 2 ,  4 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 2 ,  4 ,  T ,  Q >  const  & x )  {   
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 2 ,  4 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 2 ,  4 ,  T ,  Q >  const  & x )  {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									return  mat < 2 ,  4 ,  Ret ,  Q > (   
					 
					 
					 
									return  mat < 2 ,  4 ,  Ret ,  Q > (   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,   
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,  Func ( x [ 0 ] [ 3 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,   
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] ) ,  Func ( x [ 1 ] [ 3 ] )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] ) ,   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 3 ] [ 0 ] ) ,  Func ( x [ 3 ] [ 1 ] )   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
									) ;   
					 
					 
					 
									) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								}   
					 
					 
					 
								}   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -50,8 +47,9 @@ namespace glm { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 3 ,  2 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 3 ,  2 ,  T ,  Q >  const  & x )  {   
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 3 ,  2 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 3 ,  2 ,  T ,  Q >  const  & x )  {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									return  mat < 3 ,  2 ,  Ret ,  Q > (   
					 
					 
					 
									return  mat < 3 ,  2 ,  Ret ,  Q > (   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,   
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] )   
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									) ;   
					 
					 
					 
									) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								}   
					 
					 
					 
								}   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -75,10 +73,9 @@ namespace glm { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 3 ,  4 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 3 ,  4 ,  T ,  Q >  const  & x )  {   
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 3 ,  4 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 3 ,  4 ,  T ,  Q >  const  & x )  {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									return  mat < 3 ,  4 ,  Ret ,  Q > (   
					 
					 
					 
									return  mat < 3 ,  4 ,  Ret ,  Q > (   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,   
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,  Func ( x [ 0 ] [ 3 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] ) ,   
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] ) ,  Func ( x [ 1 ] [ 3 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] ) ,  Func ( x [ 2 ] [ 2 ] ) ,   
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] ) ,  Func ( x [ 2 ] [ 2 ] ) ,  Func ( x [ 2 ] [ 3 ] )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 3 ] [ 0 ] ) ,  Func ( x [ 3 ] [ 1 ] ) ,  Func ( x [ 3 ] [ 2 ] )   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
									) ;   
					 
					 
					 
									) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								}   
					 
					 
					 
								}   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -89,8 +86,10 @@ namespace glm { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 4 ,  2 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 4 ,  2 ,  T ,  Q >  const  & x )  {   
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 4 ,  2 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 4 ,  2 ,  T ,  Q >  const  & x )  {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									return  mat < 4 ,  2 ,  Ret ,  Q > (   
					 
					 
					 
									return  mat < 4 ,  2 ,  Ret ,  Q > (   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,  Func ( x [ 0 ] [ 3 ] ) ,   
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] ) ,  Func ( x [ 1 ] [ 3 ] )   
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] ) ,   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
										Func ( x [ 3 ] [ 0 ] ) ,  Func ( x [ 3 ] [ 1 ] )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									) ;   
					 
					 
					 
									) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								}   
					 
					 
					 
								}   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -101,9 +100,10 @@ namespace glm { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 4 ,  3 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 4 ,  3 ,  T ,  Q >  const  & x )  {   
					 
					 
					 
								GLM_FUNC_QUALIFIER  GLM_CONSTEXPR  static  mat < 4 ,  3 ,  T ,  Q >  call ( Ret  ( * Func ) ( T  x ) ,  mat < 4 ,  3 ,  T ,  Q >  const  & x )  {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									return  mat < 4 ,  3 ,  Ret ,  Q > (   
					 
					 
					 
									return  mat < 4 ,  3 ,  Ret ,  Q > (   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,  Func ( x [ 0 ] [ 3 ] ) ,   
					 
					 
					 
										Func ( x [ 0 ] [ 0 ] ) ,  Func ( x [ 0 ] [ 1 ] ) ,  Func ( x [ 0 ] [ 2 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] ) ,  Func ( x [ 1 ] [ 3 ] ) ,   
					 
					 
					 
										Func ( x [ 1 ] [ 0 ] ) ,  Func ( x [ 1 ] [ 1 ] ) ,  Func ( x [ 1 ] [ 2 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] ) ,  Func ( x [ 2 ] [ 2 ] ) ,  Func ( x [ 2 ] [ 3 ] )   
					 
					 
					 
										Func ( x [ 2 ] [ 0 ] ) ,  Func ( x [ 2 ] [ 1 ] ) ,  Func ( x [ 2 ] [ 2 ] ) ,   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
										Func ( x [ 3 ] [ 0 ] ) ,  Func ( x [ 3 ] [ 1 ] ) ,  Func ( x [ 3 ] [ 2 ] )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									) ;   
					 
					 
					 
									) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								}   
					 
					 
					 
								}