\hypertarget{group__Eina__Matrix2}{}\section{Matrices in floating point}
\label{group__Eina__Matrix2}\index{Matrices in floating point@{Matrices in floating point}}


Matrix definition and operations.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Eina__Matrix2}{\+\_\+\+Eina\+\_\+\+Matrix2}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{struct__Eina__Matrix2}{\+\_\+\+Eina\+\_\+\+Matrix2} {\bfseries Eina\+\_\+\+Matrix2}\hypertarget{group__Eina__Matrix2_gac12baffa2eab59ede5e53435352531d5}{}\label{group__Eina__Matrix2_gac12baffa2eab59ede5e53435352531d5}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} Eina\+\_\+\+Matrix\+\_\+\+Type \hyperlink{group__Eina__Matrix2_gab90d01761fdd15c16aee906a4fe9b08a}{eina\+\_\+matrix4\+\_\+type\+\_\+get} (const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m)
\begin{DoxyCompactList}\small\item\em Return the type of the given floating point matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gaf29a7fb105fba478e9be7f0e96f9c3fb}{eina\+\_\+matrix4\+\_\+values\+\_\+set} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m, double xx, double xy, double xz, double xw, double yx, double yy, double yz, double yw, double zx, double zy, double zz, double zw, double wx, double wy, double wz, double ww)
\begin{DoxyCompactList}\small\item\em Set the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gae72935b35a3f1b7d2c3005f4fbaa5303}{eina\+\_\+matrix4\+\_\+values\+\_\+get} (const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$xz, double $\ast$xw, double $\ast$yx, double $\ast$yy, double $\ast$yz, double $\ast$yw, double $\ast$zx, double $\ast$zy, double $\ast$zz, double $\ast$zw, double $\ast$wx, double $\ast$wy, double $\ast$wz, double $\ast$ww)
\begin{DoxyCompactList}\small\item\em Get the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} double \hyperlink{group__Eina__Matrix2_ga8482180376b7d4254fce4034829d5bd4}{eina\+\_\+matrix4\+\_\+determinant} (const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m)
\begin{DoxyCompactList}\small\item\em Return the determinant of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Matrix2_ga7232d8a00b3c99ac50c2ebd7d91ce401}{eina\+\_\+matrix4\+\_\+normalized} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$out, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$in)
\begin{DoxyCompactList}\small\item\em Return the determinant of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Matrix2_gad14b308cc33c2a4bc891143168d11bb5}{eina\+\_\+matrix4\+\_\+inverse} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$out, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$in)
\begin{DoxyCompactList}\small\item\em Return the inverse of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gac502822483eaf4ed97f15922b84f5383}{eina\+\_\+matrix4\+\_\+transpose} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$out, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$in)
\begin{DoxyCompactList}\small\item\em Return the transpose of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga0ca6916f62bb08c601a635e131830d7c}{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m3, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m4)
\begin{DoxyCompactList}\small\item\em Convert an Eina\+\_\+\+Matrix4 into an Eina\+\_\+\+Matrix3. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga5b1546fe16b1f8a3e6fff0ae2c093d00}{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m4, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m3)
\begin{DoxyCompactList}\small\item\em Convert an Eina\+\_\+\+Matrix3 into an Eina\+\_\+\+Matrix4. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gaaf47679cf88dc83b8fb3507a0e058773}{eina\+\_\+matrix4\+\_\+identity} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$out)
\begin{DoxyCompactList}\small\item\em Set an identity matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga55e37c00680f5ae0c1c879f017d1e490}{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$out, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$mat\+\_\+a, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiply two matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gae114911456365be994aa310f3c34b9e3}{eina\+\_\+matrix4\+\_\+array\+\_\+set} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Set array to matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga9614af7142d815b7dd2223313bb96cce}{eina\+\_\+matrix4\+\_\+copy} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$dst, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga137c7d19693d31bf64ab395eae45dc07}{eina\+\_\+matrix4\+\_\+multiply} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$out, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$mat\+\_\+a, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiply two matrix with check. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga9810f76d859f9e17f56e94e06f51ecd5}{eina\+\_\+matrix4\+\_\+ortho\+\_\+set} (\hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m, double left, double right, double bottom, double top, double dnear, double dfar)
\begin{DoxyCompactList}\small\item\em Set orthogonality matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gae1560a8703d5a3956d922984e20f9ec8}{eina\+\_\+matrix3\+\_\+array\+\_\+set} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Set array to matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gab9c3d9a817ab4b438b17455617556d7b}{eina\+\_\+matrix3\+\_\+copy} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$dst, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void {\bfseries eina\+\_\+matrix3\+\_\+multiply} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$out, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$mat\+\_\+a, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$mat\+\_\+b)\hypertarget{group__Eina__Matrix2_ga0f2cfcd1d1c13e6f93971a32b19d144d}{}\label{group__Eina__Matrix2_ga0f2cfcd1d1c13e6f93971a32b19d144d}

\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gaef3683e868fb7bcb151227b0a97acdd6}{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$out, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$mat\+\_\+a, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiply two matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga2106857298cf173e97121e8299d1d207}{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$out, double s\+\_\+x, double s\+\_\+y)
\begin{DoxyCompactList}\small\item\em Transform scale of matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gaf37e247b78330b8d0fe1660987043f8c}{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$out, const double p\+\_\+x, const double p\+\_\+y)
\begin{DoxyCompactList}\small\item\em Transform position of matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gadfb7e4874030a72891a4317088dfd4ed}{eina\+\_\+normal3\+\_\+matrix\+\_\+get} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$out, const \hyperlink{struct__Eina__Matrix4}{Eina\+\_\+\+Matrix4} $\ast$m)
\begin{DoxyCompactList}\small\item\em Set normal of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gad2b4ed05ad38bbb397c46c4d6c4f1ea5}{eina\+\_\+matrix2\+\_\+values\+\_\+set} (\hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$m, double xx, double xy, double yx, double yy)
\begin{DoxyCompactList}\small\item\em Set the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga030ed026ecd8c68a806c3b79fec5e334}{eina\+\_\+matrix2\+\_\+values\+\_\+get} (const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$yx, double $\ast$yy)
\begin{DoxyCompactList}\small\item\em Get the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga18bc83c84e005213c34ab6efee3f424e}{eina\+\_\+matrix2\+\_\+inverse} (\hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$out, const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$mat)
\begin{DoxyCompactList}\small\item\em Compute the inverse with check of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga5943055e1e11fbae2d6a136fb82f7782}{eina\+\_\+matrix2\+\_\+identity} (\hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$m)
\begin{DoxyCompactList}\small\item\em Set the given floating point matrix to the identity matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga01e474628593fe0a510edd7bdedb7787}{eina\+\_\+matrix2\+\_\+array\+\_\+set} (\hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$m, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Set array to matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_gae5d16327df7cf585cd1e4ca7d642091f}{eina\+\_\+matrix2\+\_\+copy} (\hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$dst, const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga5f9599dee985ab8fbcc2aeae9c06d461}{eina\+\_\+matrix2\+\_\+multiply} (\hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$out, const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$mat\+\_\+a, const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiply two matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eina__Matrix2_ga3cbe817b4f4feac03706942730acb32f}{eina\+\_\+matrix2\+\_\+multiply\+\_\+copy} (\hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$out, const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$mat\+\_\+a, const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiply two matrix with check. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} Eina\+\_\+\+Matrix\+\_\+\+Type \hyperlink{group__Eina__Matrix2_ga2378974a6821f8d62f90271a24187c03}{eina\+\_\+matrix2\+\_\+type\+\_\+get} (const \hyperlink{struct__Eina__Matrix2}{Eina\+\_\+\+Matrix2} $\ast$m)
\begin{DoxyCompactList}\small\item\em Return the type of the given floating point matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Matrix definition and operations. 



\subsection{Function Documentation}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+type\+\_\+get@{eina\+\_\+matrix4\+\_\+type\+\_\+get}}
\index{eina\+\_\+matrix4\+\_\+type\+\_\+get@{eina\+\_\+matrix4\+\_\+type\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+type\+\_\+get(const Eina\+\_\+\+Matrix4 $\ast$m)}{eina_matrix4_type_get(const Eina_Matrix4 *m)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} Eina\+\_\+\+Matrix\+\_\+\+Type eina\+\_\+matrix4\+\_\+type\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{m}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gab90d01761fdd15c16aee906a4fe9b08a}{}\label{group__Eina__Matrix2_gab90d01761fdd15c16aee906a4fe9b08a}


Return the type of the given floating point matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The type of the matrix.
\end{DoxyReturn}
This function returns the type of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+F\+F\+I\+NE, and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY.



Referenced by eina\+\_\+matrix4\+\_\+multiply().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+values\+\_\+set@{eina\+\_\+matrix4\+\_\+values\+\_\+set}}
\index{eina\+\_\+matrix4\+\_\+values\+\_\+set@{eina\+\_\+matrix4\+\_\+values\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+values\+\_\+set(\+Eina\+\_\+\+Matrix4 $\ast$m, double xx, double xy, double xz, double xw, double yx, double yy, double yz, double yw, double zx, double zy, double zz, double zw, double wx, double wy, double wz, double ww)}{eina_matrix4_values_set(Eina_Matrix4 *m, double xx, double xy, double xz, double xw, double yx, double yy, double yz, double yw, double zx, double zy, double zz, double zw, double wx, double wy, double wz, double ww)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+values\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{m, }
\item[{double}]{xx, }
\item[{double}]{xy, }
\item[{double}]{xz, }
\item[{double}]{xw, }
\item[{double}]{yx, }
\item[{double}]{yy, }
\item[{double}]{yz, }
\item[{double}]{yw, }
\item[{double}]{zx, }
\item[{double}]{zy, }
\item[{double}]{zz, }
\item[{double}]{zw, }
\item[{double}]{wx, }
\item[{double}]{wy, }
\item[{double}]{wz, }
\item[{double}]{ww}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gaf29a7fb105fba478e9be7f0e96f9c3fb}{}\label{group__Eina__Matrix2_gaf29a7fb105fba478e9be7f0e96f9c3fb}


Set the values of the coefficients of the given floating point matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
{\em xx} & The first coefficient value. \\
\hline
{\em xy} & The second coefficient value. \\
\hline
{\em xz} & The third coefficient value. \\
\hline
{\em xw} & The fourth coefficient value. \\
\hline
{\em yx} & The fifth coefficient value. \\
\hline
{\em yy} & The sixth coefficient value. \\
\hline
{\em yz} & The seventh coefficient value. \\
\hline
{\em yw} & The heighth coefficient value. \\
\hline
{\em zx} & The nineth coefficient value. \\
\hline
{\em zy} & The tenth coefficient value. \\
\hline
{\em zz} & The eleventh coefficient value. \\
\hline
{\em zw} & The twelfth coefficient value. \\
\hline
{\em wx} & The thirteenth coefficient value. \\
\hline
{\em wy} & The fourteenth coefficient value. \\
\hline
{\em wz} & The fifteenth coefficient value. \\
\hline
{\em ww} & The sizteenth coefficient value.\\
\hline
\end{DoxyParams}
This function sets the values of the coefficients of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Matrix2_gae72935b35a3f1b7d2c3005f4fbaa5303}{eina\+\_\+matrix4\+\_\+values\+\_\+get()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+values\+\_\+get@{eina\+\_\+matrix4\+\_\+values\+\_\+get}}
\index{eina\+\_\+matrix4\+\_\+values\+\_\+get@{eina\+\_\+matrix4\+\_\+values\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+values\+\_\+get(const Eina\+\_\+\+Matrix4 $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$xz, double $\ast$xw, double $\ast$yx, double $\ast$yy, double $\ast$yz, double $\ast$yw, double $\ast$zx, double $\ast$zy, double $\ast$zz, double $\ast$zw, double $\ast$wx, double $\ast$wy, double $\ast$wz, double $\ast$ww)}{eina_matrix4_values_get(const Eina_Matrix4 *m, double *xx, double *xy, double *xz, double *xw, double *yx, double *yy, double *yz, double *yw, double *zx, double *zy, double *zz, double *zw, double *wx, double *wy, double *wz, double *ww)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+values\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{m, }
\item[{double $\ast$}]{xx, }
\item[{double $\ast$}]{xy, }
\item[{double $\ast$}]{xz, }
\item[{double $\ast$}]{xw, }
\item[{double $\ast$}]{yx, }
\item[{double $\ast$}]{yy, }
\item[{double $\ast$}]{yz, }
\item[{double $\ast$}]{yw, }
\item[{double $\ast$}]{zx, }
\item[{double $\ast$}]{zy, }
\item[{double $\ast$}]{zz, }
\item[{double $\ast$}]{zw, }
\item[{double $\ast$}]{wx, }
\item[{double $\ast$}]{wy, }
\item[{double $\ast$}]{wz, }
\item[{double $\ast$}]{ww}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gae72935b35a3f1b7d2c3005f4fbaa5303}{}\label{group__Eina__Matrix2_gae72935b35a3f1b7d2c3005f4fbaa5303}


Get the values of the coefficients of the given floating point matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
{\em xx} & The first coefficient value. \\
\hline
{\em xy} & The second coefficient value. \\
\hline
{\em xz} & The third coefficient value. \\
\hline
{\em xw} & The fourth coefficient value. \\
\hline
{\em yx} & The fifth coefficient value. \\
\hline
{\em yy} & The sixth coefficient value. \\
\hline
{\em yz} & The seventh coefficient value. \\
\hline
{\em yw} & The heighth coefficient value. \\
\hline
{\em zx} & The nineth coefficient value. \\
\hline
{\em zy} & The tenth coefficient value. \\
\hline
{\em zz} & The eleventh coefficient value. \\
\hline
{\em zw} & The twelfth coefficient value. \\
\hline
{\em wx} & The thirteenth coefficient value. \\
\hline
{\em wy} & The fourteenth coefficient value. \\
\hline
{\em wz} & The fifteenth coefficient value. \\
\hline
{\em ww} & The sizteenth coefficient value.\\
\hline
\end{DoxyParams}
This function gets the values of the coefficients of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Matrix2_gaf29a7fb105fba478e9be7f0e96f9c3fb}{eina\+\_\+matrix4\+\_\+values\+\_\+set()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+determinant@{eina\+\_\+matrix4\+\_\+determinant}}
\index{eina\+\_\+matrix4\+\_\+determinant@{eina\+\_\+matrix4\+\_\+determinant}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+determinant(const Eina\+\_\+\+Matrix4 $\ast$m)}{eina_matrix4_determinant(const Eina_Matrix4 *m)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} double eina\+\_\+matrix4\+\_\+determinant (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{m}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga8482180376b7d4254fce4034829d5bd4}{}\label{group__Eina__Matrix2_ga8482180376b7d4254fce4034829d5bd4}


Return the determinant of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The determinant.
\end{DoxyReturn}
This function returns the determinant of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}


Referenced by eina\+\_\+matrix4\+\_\+normalized().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+normalized@{eina\+\_\+matrix4\+\_\+normalized}}
\index{eina\+\_\+matrix4\+\_\+normalized@{eina\+\_\+matrix4\+\_\+normalized}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+normalized(\+Eina\+\_\+\+Matrix4 $\ast$out, const Eina\+\_\+\+Matrix4 $\ast$in)}{eina_matrix4_normalized(Eina_Matrix4 *out, const Eina_Matrix4 *in)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} {\bf Eina\+\_\+\+Bool} eina\+\_\+matrix4\+\_\+normalized (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{in}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga7232d8a00b3c99ac50c2ebd7d91ce401}{}\label{group__Eina__Matrix2_ga7232d8a00b3c99ac50c2ebd7d91ce401}


Return the determinant of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The determinant.
\end{DoxyReturn}
This function returns the determinant of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+matrix4\+\_\+determinant(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+inverse@{eina\+\_\+matrix4\+\_\+inverse}}
\index{eina\+\_\+matrix4\+\_\+inverse@{eina\+\_\+matrix4\+\_\+inverse}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+inverse(\+Eina\+\_\+\+Matrix4 $\ast$out, const Eina\+\_\+\+Matrix4 $\ast$in)}{eina_matrix4_inverse(Eina_Matrix4 *out, const Eina_Matrix4 *in)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} {\bf Eina\+\_\+\+Bool} eina\+\_\+matrix4\+\_\+inverse (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{in}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gad14b308cc33c2a4bc891143168d11bb5}{}\label{group__Eina__Matrix2_gad14b308cc33c2a4bc891143168d11bb5}


Return the inverse of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The inverse matrix \\
\hline
{\em in} & The matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+transpose@{eina\+\_\+matrix4\+\_\+transpose}}
\index{eina\+\_\+matrix4\+\_\+transpose@{eina\+\_\+matrix4\+\_\+transpose}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+transpose(\+Eina\+\_\+\+Matrix4 $\ast$out, const Eina\+\_\+\+Matrix4 $\ast$in)}{eina_matrix4_transpose(Eina_Matrix4 *out, const Eina_Matrix4 *in)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+transpose (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{in}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gac502822483eaf4ed97f15922b84f5383}{}\label{group__Eina__Matrix2_gac502822483eaf4ed97f15922b84f5383}


Return the transpose of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The transpose matrix \\
\hline
{\em in} & The matrix.\\
\hline
\end{DoxyParams}
Just going to swap row and column.

\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+matrix3\+\_\+to@{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to}}
\index{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to@{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to(\+Eina\+\_\+\+Matrix3 $\ast$m3, const Eina\+\_\+\+Matrix4 $\ast$m4)}{eina_matrix4_matrix3_to(Eina_Matrix3 *m3, const Eina_Matrix4 *m4)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+matrix3\+\_\+to (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{m3, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{m4}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga0ca6916f62bb08c601a635e131830d7c}{}\label{group__Eina__Matrix2_ga0ca6916f62bb08c601a635e131830d7c}


Convert an Eina\+\_\+\+Matrix4 into an Eina\+\_\+\+Matrix3. 


\begin{DoxyParams}{Parameters}
{\em m3} & The destination Eina\+\_\+\+Matrix3. \\
\hline
{\em m4} & The source Eina\+\_\+\+Matrix4.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+matrix4\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to}}
\index{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to(\+Eina\+\_\+\+Matrix4 $\ast$m4, const Eina\+\_\+\+Matrix3 $\ast$m3)}{eina_matrix3_matrix4_to(Eina_Matrix4 *m4, const Eina_Matrix3 *m3)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix3\+\_\+matrix4\+\_\+to (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{m4, }
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m3}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga5b1546fe16b1f8a3e6fff0ae2c093d00}{}\label{group__Eina__Matrix2_ga5b1546fe16b1f8a3e6fff0ae2c093d00}


Convert an Eina\+\_\+\+Matrix3 into an Eina\+\_\+\+Matrix4. 


\begin{DoxyParams}{Parameters}
{\em m3} & The destination Eina\+\_\+\+Matrix3. \\
\hline
{\em m4} & The source Eina\+\_\+\+Matrix4.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+identity@{eina\+\_\+matrix4\+\_\+identity}}
\index{eina\+\_\+matrix4\+\_\+identity@{eina\+\_\+matrix4\+\_\+identity}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+identity(\+Eina\+\_\+\+Matrix4 $\ast$out)}{eina_matrix4_identity(Eina_Matrix4 *out)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+identity (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{out}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gaaf47679cf88dc83b8fb3507a0e058773}{}\label{group__Eina__Matrix2_gaaf47679cf88dc83b8fb3507a0e058773}


Set an identity matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The matrix to set\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy}}
\index{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy(\+Eina\+\_\+\+Matrix4 $\ast$out, const Eina\+\_\+\+Matrix4 $\ast$mat\+\_\+a, const Eina\+\_\+\+Matrix4 $\ast$mat\+\_\+b)}{eina_matrix4_multiply_copy(Eina_Matrix4 *out, const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+multiply\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{mat\+\_\+a, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{mat\+\_\+b}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga55e37c00680f5ae0c1c879f017d1e490}{}\label{group__Eina__Matrix2_ga55e37c00680f5ae0c1c879f017d1e490}


Multiply two matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em a} & The first member of the multiplication \\
\hline
{\em b} & The second member of the multiplication\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix4\+\_\+copy(), and eina\+\_\+matrix4\+\_\+multiply().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+array\+\_\+set@{eina\+\_\+matrix4\+\_\+array\+\_\+set}}
\index{eina\+\_\+matrix4\+\_\+array\+\_\+set@{eina\+\_\+matrix4\+\_\+array\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+array\+\_\+set(\+Eina\+\_\+\+Matrix4 $\ast$m, const double $\ast$v)}{eina_matrix4_array_set(Eina_Matrix4 *m, const double *v)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+array\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{m, }
\item[{const double $\ast$}]{v}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gae114911456365be994aa310f3c34b9e3}{}\label{group__Eina__Matrix2_gae114911456365be994aa310f3c34b9e3}


Set array to matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The result matrix \\
\hline
{\em v} & The the array\mbox{[}16\mbox{]} for set\\
\hline
\end{DoxyParams}
Set to matrix first 16 elements from array

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+copy@{eina\+\_\+matrix4\+\_\+copy}}
\index{eina\+\_\+matrix4\+\_\+copy@{eina\+\_\+matrix4\+\_\+copy}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+copy(\+Eina\+\_\+\+Matrix4 $\ast$dst, const Eina\+\_\+\+Matrix4 $\ast$src)}{eina_matrix4_copy(Eina_Matrix4 *dst, const Eina_Matrix4 *src)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{dst, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{src}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga9614af7142d815b7dd2223313bb96cce}{}\label{group__Eina__Matrix2_ga9614af7142d815b7dd2223313bb96cce}


Copy matrix. 


\begin{DoxyParams}{Parameters}
{\em dst} & The matrix copy \\
\hline
{\em src} & The matrix for copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


Referenced by eina\+\_\+matrix4\+\_\+multiply(), and eina\+\_\+matrix4\+\_\+multiply\+\_\+copy().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+multiply@{eina\+\_\+matrix4\+\_\+multiply}}
\index{eina\+\_\+matrix4\+\_\+multiply@{eina\+\_\+matrix4\+\_\+multiply}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+multiply(\+Eina\+\_\+\+Matrix4 $\ast$out, const Eina\+\_\+\+Matrix4 $\ast$mat\+\_\+a, const Eina\+\_\+\+Matrix4 $\ast$mat\+\_\+b)}{eina_matrix4_multiply(Eina_Matrix4 *out, const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+multiply (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{mat\+\_\+a, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{mat\+\_\+b}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga137c7d19693d31bf64ab395eae45dc07}{}\label{group__Eina__Matrix2_ga137c7d19693d31bf64ab395eae45dc07}


Multiply two matrix with check. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em a} & The first member of the multiplication \\
\hline
{\em b} & The second member of the multiplication\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix4\+\_\+copy(), eina\+\_\+matrix4\+\_\+type\+\_\+get(), and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY.



Referenced by eina\+\_\+matrix4\+\_\+multiply\+\_\+copy().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix4\+\_\+ortho\+\_\+set@{eina\+\_\+matrix4\+\_\+ortho\+\_\+set}}
\index{eina\+\_\+matrix4\+\_\+ortho\+\_\+set@{eina\+\_\+matrix4\+\_\+ortho\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix4\+\_\+ortho\+\_\+set(\+Eina\+\_\+\+Matrix4 $\ast$m, double left, double right, double bottom, double top, double dnear, double dfar)}{eina_matrix4_ortho_set(Eina_Matrix4 *m, double left, double right, double bottom, double top, double dnear, double dfar)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix4\+\_\+ortho\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix4} $\ast$}]{m, }
\item[{double}]{left, }
\item[{double}]{right, }
\item[{double}]{bottom, }
\item[{double}]{top, }
\item[{double}]{dnear, }
\item[{double}]{dfar}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga9810f76d859f9e17f56e94e06f51ecd5}{}\label{group__Eina__Matrix2_ga9810f76d859f9e17f56e94e06f51ecd5}


Set orthogonality matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The resulting matrix \\
\hline
{\em right} & The right value \\
\hline
{\em left} & The left value \\
\hline
{\em bottom} & The bottom value \\
\hline
{\em top} & The top value \\
\hline
{\em dneat} & The dnear value \\
\hline
{\em dfar} & The dfar value\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+array\+\_\+set@{eina\+\_\+matrix3\+\_\+array\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+array\+\_\+set@{eina\+\_\+matrix3\+\_\+array\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix3\+\_\+array\+\_\+set(\+Eina\+\_\+\+Matrix3 $\ast$m, const double $\ast$v)}{eina_matrix3_array_set(Eina_Matrix3 *m, const double *v)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix3\+\_\+array\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{const double $\ast$}]{v}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gae1560a8703d5a3956d922984e20f9ec8}{}\label{group__Eina__Matrix2_gae1560a8703d5a3956d922984e20f9ec8}


Set array to matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The result matrix \\
\hline
{\em v} & The the array\mbox{[}9\mbox{]} for set\\
\hline
\end{DoxyParams}
Set to matrix first 9 elements from array

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+copy@{eina\+\_\+matrix3\+\_\+copy}}
\index{eina\+\_\+matrix3\+\_\+copy@{eina\+\_\+matrix3\+\_\+copy}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix3\+\_\+copy(\+Eina\+\_\+\+Matrix3 $\ast$dst, const Eina\+\_\+\+Matrix3 $\ast$src)}{eina_matrix3_copy(Eina_Matrix3 *dst, const Eina_Matrix3 *src)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix3\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{dst, }
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{src}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gab9c3d9a817ab4b438b17455617556d7b}{}\label{group__Eina__Matrix2_gab9c3d9a817ab4b438b17455617556d7b}


Copy matrix. 


\begin{DoxyParams}{Parameters}
{\em dst} & The matrix copy \\
\hline
{\em src} & The matrix for copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+copy(), eina\+\_\+matrix3\+\_\+type\+\_\+get(), and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY.



Referenced by eina\+\_\+matrix3\+\_\+copy(), and eina\+\_\+matrix3\+\_\+multiply\+\_\+copy().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy}}
\index{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy(\+Eina\+\_\+\+Matrix3 $\ast$out, const Eina\+\_\+\+Matrix3 $\ast$mat\+\_\+a, const Eina\+\_\+\+Matrix3 $\ast$mat\+\_\+b)}{eina_matrix3_multiply_copy(Eina_Matrix3 *out, const Eina_Matrix3 *mat_a, const Eina_Matrix3 *mat_b)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix3\+\_\+multiply\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{mat\+\_\+a, }
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{mat\+\_\+b}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gaef3683e868fb7bcb151227b0a97acdd6}{}\label{group__Eina__Matrix2_gaef3683e868fb7bcb151227b0a97acdd6}


Multiply two matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em a} & The first member of the multiplication \\
\hline
{\em b} & The second member of the multiplication\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+copy().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set(\+Eina\+\_\+\+Matrix3 $\ast$out, double s\+\_\+x, double s\+\_\+y)}{eina_matrix3_scale_transform_set(Eina_Matrix3 *out, double s_x, double s_y)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{out, }
\item[{double}]{s\+\_\+x, }
\item[{double}]{s\+\_\+y}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga2106857298cf173e97121e8299d1d207}{}\label{group__Eina__Matrix2_ga2106857298cf173e97121e8299d1d207}


Transform scale of matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em s\+\_\+x} & The scale value for x \\
\hline
{\em s\+\_\+y} & The scale value for y\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+identity().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set(\+Eina\+\_\+\+Matrix3 $\ast$out, const double p\+\_\+x, const double p\+\_\+y)}{eina_matrix3_position_transform_set(Eina_Matrix3 *out, const double p_x, const double p_y)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{out, }
\item[{const double}]{p\+\_\+x, }
\item[{const double}]{p\+\_\+y}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gaf37e247b78330b8d0fe1660987043f8c}{}\label{group__Eina__Matrix2_gaf37e247b78330b8d0fe1660987043f8c}


Transform position of matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em p\+\_\+x} & The position value for x \\
\hline
{\em p\+\_\+y} & The position value for y\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+identity().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+normal3\+\_\+matrix\+\_\+get@{eina\+\_\+normal3\+\_\+matrix\+\_\+get}}
\index{eina\+\_\+normal3\+\_\+matrix\+\_\+get@{eina\+\_\+normal3\+\_\+matrix\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+normal3\+\_\+matrix\+\_\+get(\+Eina\+\_\+\+Matrix3 $\ast$out, const Eina\+\_\+\+Matrix4 $\ast$m)}{eina_normal3_matrix_get(Eina_Matrix3 *out, const Eina_Matrix4 *m)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+normal3\+\_\+matrix\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix4} $\ast$}]{m}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gadfb7e4874030a72891a4317088dfd4ed}{}\label{group__Eina__Matrix2_gadfb7e4874030a72891a4317088dfd4ed}


Set normal of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The result mtrix of normal \\
\hline
{\em m} & The matrix\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+values\+\_\+set@{eina\+\_\+matrix2\+\_\+values\+\_\+set}}
\index{eina\+\_\+matrix2\+\_\+values\+\_\+set@{eina\+\_\+matrix2\+\_\+values\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+values\+\_\+set(\+Eina\+\_\+\+Matrix2 $\ast$m, double xx, double xy, double yx, double yy)}{eina_matrix2_values_set(Eina_Matrix2 *m, double xx, double xy, double yx, double yy)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+values\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix2} $\ast$}]{m, }
\item[{double}]{xx, }
\item[{double}]{xy, }
\item[{double}]{yx, }
\item[{double}]{yy}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gad2b4ed05ad38bbb397c46c4d6c4f1ea5}{}\label{group__Eina__Matrix2_gad2b4ed05ad38bbb397c46c4d6c4f1ea5}


Set the values of the coefficients of the given floating point matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
{\em xx} & The first coefficient value. \\
\hline
{\em xy} & The second coefficient value. \\
\hline
{\em yx} & The fourth coefficient value. \\
\hline
{\em yy} & The fifth coefficient value.\\
\hline
\end{DoxyParams}
This function sets the values of the coefficients of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Matrix2_ga030ed026ecd8c68a806c3b79fec5e334}{eina\+\_\+matrix2\+\_\+values\+\_\+get()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+values\+\_\+get@{eina\+\_\+matrix2\+\_\+values\+\_\+get}}
\index{eina\+\_\+matrix2\+\_\+values\+\_\+get@{eina\+\_\+matrix2\+\_\+values\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+values\+\_\+get(const Eina\+\_\+\+Matrix2 $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$yx, double $\ast$yy)}{eina_matrix2_values_get(const Eina_Matrix2 *m, double *xx, double *xy, double *yx, double *yy)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+values\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{m, }
\item[{double $\ast$}]{xx, }
\item[{double $\ast$}]{xy, }
\item[{double $\ast$}]{yx, }
\item[{double $\ast$}]{yy}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga030ed026ecd8c68a806c3b79fec5e334}{}\label{group__Eina__Matrix2_ga030ed026ecd8c68a806c3b79fec5e334}


Get the values of the coefficients of the given floating point matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
{\em xx} & The first coefficient value. \\
\hline
{\em xy} & The second coefficient value. \\
\hline
{\em yx} & The fourth coefficient value. \\
\hline
{\em yy} & The fifth coefficient value.\\
\hline
\end{DoxyParams}
This function gets the values of the coefficients of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Matrix2_gad2b4ed05ad38bbb397c46c4d6c4f1ea5}{eina\+\_\+matrix2\+\_\+values\+\_\+set()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+inverse@{eina\+\_\+matrix2\+\_\+inverse}}
\index{eina\+\_\+matrix2\+\_\+inverse@{eina\+\_\+matrix2\+\_\+inverse}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+inverse(\+Eina\+\_\+\+Matrix2 $\ast$out, const Eina\+\_\+\+Matrix2 $\ast$mat)}{eina_matrix2_inverse(Eina_Matrix2 *out, const Eina_Matrix2 *mat)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+inverse (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix2} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{mat}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga18bc83c84e005213c34ab6efee3f424e}{}\label{group__Eina__Matrix2_ga18bc83c84e005213c34ab6efee3f424e}


Compute the inverse with check of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The matrix to inverse. \\
\hline
{\em m2} & The inverse matrix.\\
\hline
\end{DoxyParams}
This function inverse the matrix {\ttfamily m} and stores the result in {\ttfamily m2}. No check is done on {\ttfamily m} or {\ttfamily m2}. If {\ttfamily m} can not be invertible, then {\ttfamily m2} is set to the identity matrix.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix2\+\_\+copy(), eina\+\_\+matrix2\+\_\+type\+\_\+get(), and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY.

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+identity@{eina\+\_\+matrix2\+\_\+identity}}
\index{eina\+\_\+matrix2\+\_\+identity@{eina\+\_\+matrix2\+\_\+identity}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+identity(\+Eina\+\_\+\+Matrix2 $\ast$m)}{eina_matrix2_identity(Eina_Matrix2 *m)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+identity (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix2} $\ast$}]{m}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga5943055e1e11fbae2d6a136fb82f7782}{}\label{group__Eina__Matrix2_ga5943055e1e11fbae2d6a136fb82f7782}


Set the given floating point matrix to the identity matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix to set\\
\hline
\end{DoxyParams}
This function sets {\ttfamily m} to the identity matrix. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+array\+\_\+set@{eina\+\_\+matrix2\+\_\+array\+\_\+set}}
\index{eina\+\_\+matrix2\+\_\+array\+\_\+set@{eina\+\_\+matrix2\+\_\+array\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+array\+\_\+set(\+Eina\+\_\+\+Matrix2 $\ast$m, const double $\ast$v)}{eina_matrix2_array_set(Eina_Matrix2 *m, const double *v)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+array\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix2} $\ast$}]{m, }
\item[{const double $\ast$}]{v}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga01e474628593fe0a510edd7bdedb7787}{}\label{group__Eina__Matrix2_ga01e474628593fe0a510edd7bdedb7787}


Set array to matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The rsult matrix \\
\hline
{\em v} & The the array\mbox{[}4\mbox{]} for set\\
\hline
\end{DoxyParams}
Set to matrix first 4 elements from array

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+copy@{eina\+\_\+matrix2\+\_\+copy}}
\index{eina\+\_\+matrix2\+\_\+copy@{eina\+\_\+matrix2\+\_\+copy}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+copy(\+Eina\+\_\+\+Matrix2 $\ast$dst, const Eina\+\_\+\+Matrix2 $\ast$src)}{eina_matrix2_copy(Eina_Matrix2 *dst, const Eina_Matrix2 *src)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix2} $\ast$}]{dst, }
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{src}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_gae5d16327df7cf585cd1e4ca7d642091f}{}\label{group__Eina__Matrix2_gae5d16327df7cf585cd1e4ca7d642091f}


Copy matrix. 


\begin{DoxyParams}{Parameters}
{\em dst} & The matrix copy \\
\hline
{\em src} & The matrix for copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


Referenced by eina\+\_\+matrix2\+\_\+inverse(), eina\+\_\+matrix2\+\_\+multiply(), and eina\+\_\+matrix2\+\_\+multiply\+\_\+copy().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+multiply@{eina\+\_\+matrix2\+\_\+multiply}}
\index{eina\+\_\+matrix2\+\_\+multiply@{eina\+\_\+matrix2\+\_\+multiply}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+multiply(\+Eina\+\_\+\+Matrix2 $\ast$out, const Eina\+\_\+\+Matrix2 $\ast$mat\+\_\+a, const Eina\+\_\+\+Matrix2 $\ast$mat\+\_\+b)}{eina_matrix2_multiply(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+multiply (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix2} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{mat\+\_\+a, }
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{mat\+\_\+b}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga5f9599dee985ab8fbcc2aeae9c06d461}{}\label{group__Eina__Matrix2_ga5f9599dee985ab8fbcc2aeae9c06d461}


Multiply two matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em a} & The first member of the multiplication \\
\hline
{\em b} & The second member of the multiplication\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix2\+\_\+copy(), eina\+\_\+matrix2\+\_\+type\+\_\+get(), and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY.



Referenced by eina\+\_\+matrix2\+\_\+multiply\+\_\+copy().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix2\+\_\+multiply\+\_\+copy}}
\index{eina\+\_\+matrix2\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix2\+\_\+multiply\+\_\+copy}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+multiply\+\_\+copy(\+Eina\+\_\+\+Matrix2 $\ast$out, const Eina\+\_\+\+Matrix2 $\ast$mat\+\_\+a, const Eina\+\_\+\+Matrix2 $\ast$mat\+\_\+b)}{eina_matrix2_multiply_copy(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} void eina\+\_\+matrix2\+\_\+multiply\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix2} $\ast$}]{out, }
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{mat\+\_\+a, }
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{mat\+\_\+b}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga3cbe817b4f4feac03706942730acb32f}{}\label{group__Eina__Matrix2_ga3cbe817b4f4feac03706942730acb32f}


Multiply two matrix with check. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em a} & The first member of the multiplication \\
\hline
{\em b} & The second member of the multiplication\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix2\+\_\+copy(), and eina\+\_\+matrix2\+\_\+multiply().

\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix2\+\_\+type\+\_\+get@{eina\+\_\+matrix2\+\_\+type\+\_\+get}}
\index{eina\+\_\+matrix2\+\_\+type\+\_\+get@{eina\+\_\+matrix2\+\_\+type\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{\texorpdfstring{eina\+\_\+matrix2\+\_\+type\+\_\+get(const Eina\+\_\+\+Matrix2 $\ast$m)}{eina_matrix2_type_get(const Eina_Matrix2 *m)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} Eina\+\_\+\+Matrix\+\_\+\+Type eina\+\_\+matrix2\+\_\+type\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix2} $\ast$}]{m}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Matrix2_ga2378974a6821f8d62f90271a24187c03}{}\label{group__Eina__Matrix2_ga2378974a6821f8d62f90271a24187c03}


Return the type of the given floating point matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The type of the matrix.
\end{DoxyReturn}
This function returns the type of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+F\+F\+I\+NE, and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY.



Referenced by eina\+\_\+matrix2\+\_\+inverse(), and eina\+\_\+matrix2\+\_\+multiply().

