15         template <
typename T, precision P = defaultp>
 
   18                 typedef tvec3<T, P> col_type;
 
   19                 typedef tvec2<T, P> row_type;
 
   20                 typedef tmat2x3<T, P> type;
 
   21                 typedef tmat3x2<T, P> transpose_type;
 
   30                 GLM_FUNC_DECL tmat2x3() GLM_DEFAULT_CTOR;
 
   31                 GLM_FUNC_DECL tmat2x3(tmat2x3<T, P> const & m) GLM_DEFAULT;
 
   32                 template <precision Q>
 
   33                 GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
 
   35                 GLM_FUNC_DECL GLM_CONSTEXPR_CTOR explicit tmat2x3(ctor);
 
   36                 GLM_FUNC_DECL explicit tmat2x3(T scalar);
 
   37                 GLM_FUNC_DECL tmat2x3(
 
   40                 GLM_FUNC_DECL tmat2x3(
 
   46                 template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
 
   47                 GLM_FUNC_DECL tmat2x3(
 
   51                 template <typename U, typename V>
 
   52                 GLM_FUNC_DECL tmat2x3(
 
   53                         tvec3<U, P> const & v1,
 
   54                         tvec3<V, P> const & v2);
 
   58                 template <typename U, precision Q>
 
   59                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x3<U, Q> const & m);
 
   61                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x2<T, P> const & x);
 
   62                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x3<T, P> const & x);
 
   63                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x4<T, P> const & x);
 
   64                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x4<T, P> const & x);
 
   65                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x2<T, P> const & x);
 
   66                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x4<T, P> const & x);
 
   67                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x2<T, P> const & x);
 
   68                 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x3<T, P> const & x);
 
   72                 typedef length_t length_type;
 
   73                 GLM_FUNC_DECL static length_type 
length(){
return 2;}
 
   75                 GLM_FUNC_DECL col_type & operator[](length_type i);
 
   76                 GLM_FUNC_DECL col_type 
const & operator[](length_type i) 
const;
 
   80                 GLM_FUNC_DECL tmat2x3<T, P> & operator=(tmat2x3<T, P> 
const & m) GLM_DEFAULT;
 
   83                 GLM_FUNC_DECL tmat2x3<T, P> & operator=(tmat2x3<U, P> 
const & m);
 
   85                 GLM_FUNC_DECL tmat2x3<T, P> & operator+=(U s);
 
   87                 GLM_FUNC_DECL tmat2x3<T, P> & operator+=(tmat2x3<U, P> 
const & m);
 
   89                 GLM_FUNC_DECL tmat2x3<T, P> & operator-=(U s);
 
   91                 GLM_FUNC_DECL tmat2x3<T, P> & operator-=(tmat2x3<U, P> 
const & m);
 
   93                 GLM_FUNC_DECL tmat2x3<T, P> & operator*=(U s);
 
   95                 GLM_FUNC_DECL tmat2x3<T, P> & operator/=(U s);
 
   99                 GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();
 
  100                 GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();
 
  101                 GLM_FUNC_DECL tmat2x3<T, P> operator++(
int);
 
  102                 GLM_FUNC_DECL tmat2x3<T, P> operator--(
int);
 
  107         template <
typename T, precision P>
 
  108         GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> 
const & m);
 
  110         template <
typename T, precision P>
 
  111         GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> 
const & m);
 
  115         template <
typename T, precision P>
 
  116         GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> 
const & m, T scalar);
 
  118         template <
typename T, precision P>
 
  119         GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> 
const & m1, tmat2x3<T, P> 
const & m2);
 
  121         template <
typename T, precision P>
 
  122         GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> 
const & m, T scalar);
 
  124         template <
typename T, precision P>
 
  125         GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> 
const & m1, tmat2x3<T, P> 
const & m2);
 
  127         template <
typename T, precision P>
 
  128         GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat2x3<T, P> 
const & m, T scalar);
 
  130         template <
typename T, precision P>
 
  131         GLM_FUNC_DECL tmat2x3<T, P> operator*(T scalar, tmat2x3<T, P> 
const & m);
 
  133         template <
typename T, precision P>
 
  134         GLM_FUNC_DECL 
typename tmat2x3<T, P>::col_type operator*(tmat2x3<T, P> 
const & m, 
typename tmat2x3<T, P>::row_type 
const & v);
 
  136         template <
typename T, precision P>
 
  137         GLM_FUNC_DECL 
typename tmat2x3<T, P>::row_type operator*(
typename tmat2x3<T, P>::col_type 
const & v, tmat2x3<T, P> 
const & m);
 
  139         template <
typename T, precision P>
 
  140         GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat2x3<T, P> 
const & m1, tmat2x2<T, P> 
const & m2);
 
  142         template <
typename T, precision P>
 
  143         GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat2x3<T, P> 
const & m1, tmat3x2<T, P> 
const & m2);
 
  145         template <
typename T, precision P>
 
  146         GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat2x3<T, P> 
const & m1, tmat4x2<T, P> 
const & m2);
 
  148         template <
typename T, precision P>
 
  149         GLM_FUNC_DECL tmat2x3<T, P> operator/(tmat2x3<T, P> 
const & m, T scalar);
 
  151         template <
typename T, precision P>
 
  152         GLM_FUNC_DECL tmat2x3<T, P> operator/(T scalar, tmat2x3<T, P> 
const & m);
 
  156         template <
typename T, precision P>
 
  157         GLM_FUNC_DECL 
bool operator==(tmat2x3<T, P> 
const & m1, tmat2x3<T, P> 
const & m2);
 
  159         template <
typename T, precision P>
 
  160         GLM_FUNC_DECL 
bool operator!=(tmat2x3<T, P> 
const & m1, tmat2x3<T, P> 
const & m2);
 
  163 #ifndef GLM_EXTERNAL_TEMPLATE 
  164 #include "type_mat2x3.inl" 
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).