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


Matrix definition and operations.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Eina__Matrix3}{\+\_\+\+Eina\+\_\+\+Matrix3}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__Matrix3_ga5b0911176c8d5df13db64a3f6b6539b6}{}\#define \hyperlink{group__Eina__Matrix3_ga5b0911176c8d5df13db64a3f6b6539b6}{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+F\+O\+R\+M\+A\+T}~\char`\"{}g \%g \%g $\vert$ \%g \%g \%g $\vert$ \%g \%g \%g\char`\"{}\label{group__Eina__Matrix3_ga5b0911176c8d5df13db64a3f6b6539b6}

\begin{DoxyCompactList}\small\item\em Helper macro for printf formatting. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__Matrix3_gaa8275fdf48cc11b6e647c7f45d077faa}{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+G\+S}(m)
\begin{DoxyCompactList}\small\item\em Helper macro for printf formatting arg. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{}typedef struct \hyperlink{struct__Eina__Matrix3}{\+\_\+\+Eina\+\_\+\+Matrix3} \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3}\label{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}

\begin{DoxyCompactList}\small\item\em Floating point matrix3 handler. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} Eina\+\_\+\+Matrix\+\_\+\+Type \hyperlink{group__Eina__Matrix3_ga6588e63af9ea1233474a83a4b62435c9}{eina\+\_\+matrix3\+\_\+type\+\_\+get} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\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\+P\+I} void \hyperlink{group__Eina__Matrix3_ga951490d9a54c3fa3a5772770dee10be3}{eina\+\_\+matrix3\+\_\+values\+\_\+set} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, double xx, double xy, double xz, double yx, double yy, double yz, double zx, double zy, double zz)
\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\+P\+I} void \hyperlink{group__Eina__Matrix3_ga98ba3159d2fffa6c9b6a7d8142ff08e3}{eina\+\_\+matrix3\+\_\+values\+\_\+get} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$xz, double $\ast$yx, double $\ast$yy, double $\ast$yz, double $\ast$zx, double $\ast$zy, double $\ast$zz)
\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\+P\+I} void \hyperlink{group__Eina__Matrix3_ga5d6da3046d40b44d88518d3c78323a83}{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$xx, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$xy, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$xz, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$yx, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$yy, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$yz, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$zx, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$zy, \hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16} $\ast$zz)
\begin{DoxyCompactList}\small\item\em Get the values of the coefficients of the given fixed point matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga9a0ee23962650f64dc31a4bca841eda5}{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, \hyperlink{group__Eina__Matrix3__F16p16_ga87861f5f8508c0f61ff2a196506699f3}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16} $\ast$fm)
\begin{DoxyCompactList}\small\item\em Transform the given floating point matrix to the given fixed point matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Matrix3_ga63e3602a6c99f6d54c93344bc2f4c0fe}{eina\+\_\+matrix3\+\_\+equal} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m1, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m2)
\begin{DoxyCompactList}\small\item\em Check whether the two given matrices are equal or not. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga3f00095de0ad7a0d29b89d32e49fb3d2}{eina\+\_\+matrix3\+\_\+compose} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m1, const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m2, \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$dst)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga29fe0b4e756cae9d661f5094ce17e070}{eina\+\_\+matrix3\+\_\+translate} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$t, double tx, double ty)
\begin{DoxyCompactList}\small\item\em Set the matrix values for a translation. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga9e361a9529cf826d6490e623b67fb38e}{eina\+\_\+matrix3\+\_\+scale} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$t, double sx, double sy)
\begin{DoxyCompactList}\small\item\em Set the matrix values for a scale. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga8a8536999b0dafa4d0a228a757fe51f5}{eina\+\_\+matrix3\+\_\+rotate} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$t, double rad)
\begin{DoxyCompactList}\small\item\em Set the matrix values for a rotation. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga72b6337081f5147cba9f1fdc02221ff4}{eina\+\_\+matrix3\+\_\+identity} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$t)
\begin{DoxyCompactList}\small\item\em Set the given floating point matrix to the identity matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__Eina__Matrix3_gaf740128f9de0a75205e5e5b281b70b97}{eina\+\_\+matrix3\+\_\+determinant} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m)
\begin{DoxyCompactList}\small\item\em Return the determinant of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_gacd6427f4abc71892f85bda895a75f630}{eina\+\_\+matrix3\+\_\+divide} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, double scalar)
\begin{DoxyCompactList}\small\item\em Divide the given matrix by the given scalar. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga2770022e76d8feb341e7fae5a3f74d08}{eina\+\_\+matrix3\+\_\+inverse} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m2)
\begin{DoxyCompactList}\small\item\em Compute the inverse of the given matrix. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_gaf3f9ba6958fb70c9b470a33a8f51ca12}{eina\+\_\+matrix3\+\_\+transpose} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$a)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga770f6b256e09428e974bae49afa745cb}{eina\+\_\+matrix3\+\_\+cofactor} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$a)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_ga84733b7f05a192a9a7fccf30c1f123cb}{eina\+\_\+matrix3\+\_\+adjoint} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$a)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_gad13f3dbbbcb4b25045eb153615883210}{eina\+\_\+matrix3\+\_\+point\+\_\+transform} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, double x, double y, double $\ast$xr, double $\ast$yr)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__Matrix3_gab9898752ea243090d3bac00ad7f553da}{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform} (const \hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, const \hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle} $\ast$r, const \hyperlink{group__Eina__Quad_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad} $\ast$q)
\item 
\hypertarget{group__Eina__Matrix3_gaef040bc9f03a8d40bc7b54555cbb805a}{}\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Matrix3_gaef040bc9f03a8d40bc7b54555cbb805a}{eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, const \hyperlink{group__Eina__Quad_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad} $\ast$src, const \hyperlink{group__Eina__Quad_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad} $\ast$dst)\label{group__Eina__Matrix3_gaef040bc9f03a8d40bc7b54555cbb805a}

\begin{DoxyCompactList}\small\item\em Creates a projective matrix that maps a quadrangle to a quadrangle. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Matrix3_ga1b8c491399b918243595bf381cb41345}{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, const \hyperlink{group__Eina__Quad_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad} $\ast$q)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Matrix3_ga9d281c49037ef7359c275d546f2848f7}{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map} (\hyperlink{group__Eina__Matrix3_ga7b643a47bf40554b991338bbc2597a98}{Eina\+\_\+\+Matrix3} $\ast$m, const \hyperlink{group__Eina__Quad_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad} $\ast$q)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Matrix definition and operations. 



\subsection{Macro Definition Documentation}
\hypertarget{group__Eina__Matrix3_gaa8275fdf48cc11b6e647c7f45d077faa}{}\index{Matrices in floating point@{Matrices in floating point}!E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+G\+S@{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+G\+S}}
\index{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+G\+S@{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+G\+S}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+G\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+G\+S(
\begin{DoxyParamCaption}
\item[{}]{m}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_gaa8275fdf48cc11b6e647c7f45d077faa}
{\bfseries Value\+:}
\begin{DoxyCode}
(m)->xx, (m)->xy, (m)->xz, \(\backslash\)
    (m)->yx, (m)->yy, (m)->yz,                          \(\backslash\)
    (m)->zx, (m)->zy, (m)->zz
\end{DoxyCode}


Helper macro for printf formatting arg. 



\subsection{Function Documentation}
\hypertarget{group__Eina__Matrix3_ga6588e63af9ea1233474a83a4b62435c9}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+type\+\_\+get@{eina\+\_\+matrix3\+\_\+type\+\_\+get}}
\index{eina\+\_\+matrix3\+\_\+type\+\_\+get@{eina\+\_\+matrix3\+\_\+type\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+type\+\_\+get(const Eina\+\_\+\+Matrix3 $\ast$m)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} Eina\+\_\+\+Matrix\+\_\+\+Type eina\+\_\+matrix3\+\_\+type\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga6588e63af9ea1233474a83a4b62435c9}


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.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+F\+F\+I\+N\+E, E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+T\+Y, and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+V\+E.

\hypertarget{group__Eina__Matrix3_ga951490d9a54c3fa3a5772770dee10be3}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+values\+\_\+set@{eina\+\_\+matrix3\+\_\+values\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+values\+\_\+set@{eina\+\_\+matrix3\+\_\+values\+\_\+set}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+values\+\_\+set(\+Eina\+\_\+\+Matrix3 $\ast$m, double xx, double xy, double xz, double yx, double yy, double yz, double zx, double zy, double zz)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+values\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{double}]{xx, }
\item[{double}]{xy, }
\item[{double}]{xz, }
\item[{double}]{yx, }
\item[{double}]{yy, }
\item[{double}]{yz, }
\item[{double}]{zx, }
\item[{double}]{zy, }
\item[{double}]{zz}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga951490d9a54c3fa3a5772770dee10be3}


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 yx} & The fourth coefficient value. \\
\hline
{\em yy} & The fifth coefficient value. \\
\hline
{\em yz} & The sixth coefficient value. \\
\hline
{\em zx} & The seventh coefficient value. \\
\hline
{\em zy} & The heighth coefficient value. \\
\hline
{\em zz} & The nineth 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__Matrix3_ga98ba3159d2fffa6c9b6a7d8142ff08e3}{eina\+\_\+matrix3\+\_\+values\+\_\+get()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{group__Eina__Matrix3_ga98ba3159d2fffa6c9b6a7d8142ff08e3}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+values\+\_\+get}}
\index{eina\+\_\+matrix3\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+values\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+values\+\_\+get(const Eina\+\_\+\+Matrix3 $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$xz, double $\ast$yx, double $\ast$yy, double $\ast$yz, double $\ast$zx, double $\ast$zy, double $\ast$zz)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+values\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{double $\ast$}]{xx, }
\item[{double $\ast$}]{xy, }
\item[{double $\ast$}]{xz, }
\item[{double $\ast$}]{yx, }
\item[{double $\ast$}]{yy, }
\item[{double $\ast$}]{yz, }
\item[{double $\ast$}]{zx, }
\item[{double $\ast$}]{zy, }
\item[{double $\ast$}]{zz}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga98ba3159d2fffa6c9b6a7d8142ff08e3}


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 yx} & The fourth coefficient value. \\
\hline
{\em yy} & The fifth coefficient value. \\
\hline
{\em yz} & The sixth coefficient value. \\
\hline
{\em zx} & The seventh coefficient value. \\
\hline
{\em zy} & The heighth coefficient value. \\
\hline
{\em zz} & The nineth 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__Matrix3_ga951490d9a54c3fa3a5772770dee10be3}{eina\+\_\+matrix3\+\_\+values\+\_\+set()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{group__Eina__Matrix3_ga5d6da3046d40b44d88518d3c78323a83}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get}}
\index{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get(const Eina\+\_\+\+Matrix3 $\ast$m, Eina\+\_\+\+F16p16 $\ast$xx, Eina\+\_\+\+F16p16 $\ast$xy, Eina\+\_\+\+F16p16 $\ast$xz, Eina\+\_\+\+F16p16 $\ast$yx, Eina\+\_\+\+F16p16 $\ast$yy, Eina\+\_\+\+F16p16 $\ast$yz, Eina\+\_\+\+F16p16 $\ast$zx, Eina\+\_\+\+F16p16 $\ast$zy, Eina\+\_\+\+F16p16 $\ast$zz)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{xx, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{xy, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{xz, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{yx, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{yy, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{yz, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{zx, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{zy, }
\item[{{\bf Eina\+\_\+\+F16p16} $\ast$}]{zz}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga5d6da3046d40b44d88518d3c78323a83}


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


\begin{DoxyParams}{Parameters}
{\em m} & The fixed 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 yx} & The fourth coefficient value. \\
\hline
{\em yy} & The fifth coefficient value. \\
\hline
{\em yz} & The sixth coefficient value. \\
\hline
{\em zx} & The seventh coefficient value. \\
\hline
{\em zy} & The heighth coefficient value. \\
\hline
{\em zz} & The nineth 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__Matrix3_ga951490d9a54c3fa3a5772770dee10be3}{eina\+\_\+matrix3\+\_\+values\+\_\+set()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+f16p16\+\_\+double\+\_\+from().



Referenced by eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to().

\hypertarget{group__Eina__Matrix3_ga9a0ee23962650f64dc31a4bca841eda5}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to}}
\index{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to(const Eina\+\_\+\+Matrix3 $\ast$m, Eina\+\_\+\+Matrix3\+\_\+\+F16p16 $\ast$fm)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{{\bf Eina\+\_\+\+Matrix3\+\_\+\+F16p16} $\ast$}]{fm}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga9a0ee23962650f64dc31a4bca841eda5}


Transform the given floating point matrix to the given fixed point matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
{\em fm} & The fixed point matrix.\\
\hline
\end{DoxyParams}
This function transforms the floating point matrix {\ttfamily m} to a fixed point matrix and store the coefficients into the fixed point matrix {\ttfamily fm}.

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


References eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get(), \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::xx, \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::xy, \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::xz, \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::yx, \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::yy, \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::yz, \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::zx, \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::zy, and \+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16\+::zz.

\hypertarget{group__Eina__Matrix3_ga63e3602a6c99f6d54c93344bc2f4c0fe}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+equal@{eina\+\_\+matrix3\+\_\+equal}}
\index{eina\+\_\+matrix3\+\_\+equal@{eina\+\_\+matrix3\+\_\+equal}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+equal(const Eina\+\_\+\+Matrix3 $\ast$m1, const Eina\+\_\+\+Matrix3 $\ast$m2)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+matrix3\+\_\+equal (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m1, }
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m2}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga63e3602a6c99f6d54c93344bc2f4c0fe}


Check whether the two given matrices are equal or not. 


\begin{DoxyParams}{Parameters}
{\em m1} & The first matrix. \\
\hline
{\em m2} & The second matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if the two matrices are equal, 0 otherwise.
\end{DoxyReturn}
This function return E\+I\+N\+A\+\_\+\+T\+R\+U\+E if thematrices {\ttfamily m1} and {\ttfamily m2} are equal, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E otherwise. No check is done on the matrices.

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


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+T\+R\+U\+E, \+\_\+\+Eina\+\_\+\+Matrix3\+::xx, \+\_\+\+Eina\+\_\+\+Matrix3\+::xy, \+\_\+\+Eina\+\_\+\+Matrix3\+::xz, \+\_\+\+Eina\+\_\+\+Matrix3\+::yx, \+\_\+\+Eina\+\_\+\+Matrix3\+::yy, \+\_\+\+Eina\+\_\+\+Matrix3\+::yz, \+\_\+\+Eina\+\_\+\+Matrix3\+::zx, \+\_\+\+Eina\+\_\+\+Matrix3\+::zy, and \+\_\+\+Eina\+\_\+\+Matrix3\+::zz.

\hypertarget{group__Eina__Matrix3_ga3f00095de0ad7a0d29b89d32e49fb3d2}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+compose@{eina\+\_\+matrix3\+\_\+compose}}
\index{eina\+\_\+matrix3\+\_\+compose@{eina\+\_\+matrix3\+\_\+compose}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+compose(const Eina\+\_\+\+Matrix3 $\ast$m1, const Eina\+\_\+\+Matrix3 $\ast$m2, Eina\+\_\+\+Matrix3 $\ast$dst)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+compose (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m1, }
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m2, }
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{dst}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga3f00095de0ad7a0d29b89d32e49fb3d2}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map(), eina\+\_\+matrix3\+\_\+rotate(), eina\+\_\+matrix3\+\_\+scale(), and eina\+\_\+matrix3\+\_\+translate().

\hypertarget{group__Eina__Matrix3_ga29fe0b4e756cae9d661f5094ce17e070}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+translate@{eina\+\_\+matrix3\+\_\+translate}}
\index{eina\+\_\+matrix3\+\_\+translate@{eina\+\_\+matrix3\+\_\+translate}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+translate(\+Eina\+\_\+\+Matrix3 $\ast$t, double tx, double ty)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+translate (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{t, }
\item[{double}]{tx, }
\item[{double}]{ty}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga29fe0b4e756cae9d661f5094ce17e070}


Set the matrix values for a translation. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The matrix to set the translation values \\
\hline
\mbox{\tt in}  & {\em tx} & The X coordinate translate \\
\hline
\mbox{\tt in}  & {\em ty} & The Y coordinate translate\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


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

\hypertarget{group__Eina__Matrix3_ga9e361a9529cf826d6490e623b67fb38e}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+scale@{eina\+\_\+matrix3\+\_\+scale}}
\index{eina\+\_\+matrix3\+\_\+scale@{eina\+\_\+matrix3\+\_\+scale}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+scale(\+Eina\+\_\+\+Matrix3 $\ast$t, double sx, double sy)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+scale (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{t, }
\item[{double}]{sx, }
\item[{double}]{sy}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga9e361a9529cf826d6490e623b67fb38e}


Set the matrix values for a scale. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The matrix to set the scale values \\
\hline
\mbox{\tt in}  & {\em sx} & The X coordinate scale \\
\hline
\mbox{\tt in}  & {\em sy} & The Y coordinate scale\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


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

\hypertarget{group__Eina__Matrix3_ga8a8536999b0dafa4d0a228a757fe51f5}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+rotate@{eina\+\_\+matrix3\+\_\+rotate}}
\index{eina\+\_\+matrix3\+\_\+rotate@{eina\+\_\+matrix3\+\_\+rotate}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+rotate(\+Eina\+\_\+\+Matrix3 $\ast$t, double rad)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+rotate (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{t, }
\item[{double}]{rad}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga8a8536999b0dafa4d0a228a757fe51f5}


Set the matrix values for a rotation. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The matrix to set the rotation values \\
\hline
\mbox{\tt in}  & {\em rad} & The radius to rotate the matrix\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


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

\hypertarget{group__Eina__Matrix3_ga72b6337081f5147cba9f1fdc02221ff4}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+identity@{eina\+\_\+matrix3\+\_\+identity}}
\index{eina\+\_\+matrix3\+\_\+identity@{eina\+\_\+matrix3\+\_\+identity}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+identity(\+Eina\+\_\+\+Matrix3 $\ast$t)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+identity (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{t}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga72b6337081f5147cba9f1fdc02221ff4}


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.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+inverse().

\hypertarget{group__Eina__Matrix3_gaf740128f9de0a75205e5e5b281b70b97}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+determinant@{eina\+\_\+matrix3\+\_\+determinant}}
\index{eina\+\_\+matrix3\+\_\+determinant@{eina\+\_\+matrix3\+\_\+determinant}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+determinant(const Eina\+\_\+\+Matrix3 $\ast$m)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double eina\+\_\+matrix3\+\_\+determinant (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_gaf740128f9de0a75205e5e5b281b70b97}


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.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+inverse().

\hypertarget{group__Eina__Matrix3_gacd6427f4abc71892f85bda895a75f630}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+divide@{eina\+\_\+matrix3\+\_\+divide}}
\index{eina\+\_\+matrix3\+\_\+divide@{eina\+\_\+matrix3\+\_\+divide}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+divide(\+Eina\+\_\+\+Matrix3 $\ast$m, double scalar)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+divide (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{double}]{scalar}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_gacd6427f4abc71892f85bda895a75f630}


Divide the given matrix by the given scalar. 


\begin{DoxyParams}{Parameters}
{\em m} & The matrix. \\
\hline
{\em scalar} & The scalar number.\\
\hline
\end{DoxyParams}
This function divides the matrix {\ttfamily m} by {\ttfamily scalar}. No check is done on {\ttfamily m}.

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


Referenced by eina\+\_\+matrix3\+\_\+inverse(), and eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map().

\hypertarget{group__Eina__Matrix3_ga2770022e76d8feb341e7fae5a3f74d08}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+inverse@{eina\+\_\+matrix3\+\_\+inverse}}
\index{eina\+\_\+matrix3\+\_\+inverse@{eina\+\_\+matrix3\+\_\+inverse}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+inverse(const Eina\+\_\+\+Matrix3 $\ast$m, Eina\+\_\+\+Matrix3 $\ast$m2)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+inverse (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{m2}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga2770022e76d8feb341e7fae5a3f74d08}


Compute the inverse 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.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+adjoint(), eina\+\_\+matrix3\+\_\+determinant(), eina\+\_\+matrix3\+\_\+divide(), and eina\+\_\+matrix3\+\_\+identity().



Referenced by eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map().

\hypertarget{group__Eina__Matrix3_gaf3f9ba6958fb70c9b470a33a8f51ca12}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+transpose@{eina\+\_\+matrix3\+\_\+transpose}}
\index{eina\+\_\+matrix3\+\_\+transpose@{eina\+\_\+matrix3\+\_\+transpose}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+transpose(const Eina\+\_\+\+Matrix3 $\ast$m, Eina\+\_\+\+Matrix3 $\ast$a)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+transpose (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{a}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_gaf3f9ba6958fb70c9b470a33a8f51ca12}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+adjoint().

\hypertarget{group__Eina__Matrix3_ga770f6b256e09428e974bae49afa745cb}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+cofactor@{eina\+\_\+matrix3\+\_\+cofactor}}
\index{eina\+\_\+matrix3\+\_\+cofactor@{eina\+\_\+matrix3\+\_\+cofactor}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+cofactor(const Eina\+\_\+\+Matrix3 $\ast$m, Eina\+\_\+\+Matrix3 $\ast$a)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+cofactor (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{a}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga770f6b256e09428e974bae49afa745cb}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+adjoint().

\hypertarget{group__Eina__Matrix3_ga84733b7f05a192a9a7fccf30c1f123cb}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+adjoint@{eina\+\_\+matrix3\+\_\+adjoint}}
\index{eina\+\_\+matrix3\+\_\+adjoint@{eina\+\_\+matrix3\+\_\+adjoint}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+adjoint(const Eina\+\_\+\+Matrix3 $\ast$m, Eina\+\_\+\+Matrix3 $\ast$a)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+adjoint (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{a}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga84733b7f05a192a9a7fccf30c1f123cb}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+cofactor(), and eina\+\_\+matrix3\+\_\+transpose().



Referenced by eina\+\_\+matrix3\+\_\+inverse().

\hypertarget{group__Eina__Matrix3_gad13f3dbbbcb4b25045eb153615883210}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+point\+\_\+transform@{eina\+\_\+matrix3\+\_\+point\+\_\+transform}}
\index{eina\+\_\+matrix3\+\_\+point\+\_\+transform@{eina\+\_\+matrix3\+\_\+point\+\_\+transform}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+point\+\_\+transform(const Eina\+\_\+\+Matrix3 $\ast$m, double x, double y, double $\ast$xr, double $\ast$yr)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+point\+\_\+transform (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double $\ast$}]{xr, }
\item[{double $\ast$}]{yr}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_gad13f3dbbbcb4b25045eb153615883210}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform().

\hypertarget{group__Eina__Matrix3_gab9898752ea243090d3bac00ad7f553da}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform@{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform}}
\index{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform@{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform(const Eina\+\_\+\+Matrix3 $\ast$m, const Eina\+\_\+\+Rectangle $\ast$r, const Eina\+\_\+\+Quad $\ast$q)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{const {\bf Eina\+\_\+\+Rectangle} $\ast$}]{r, }
\item[{const {\bf Eina\+\_\+\+Quad} $\ast$}]{q}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_gab9898752ea243090d3bac00ad7f553da}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+point\+\_\+transform(), \+\_\+\+Eina\+\_\+\+Rectangle\+::h, \+\_\+\+Eina\+\_\+\+Rectangle\+::w, \+\_\+\+Eina\+\_\+\+Rectangle\+::x, and \+\_\+\+Eina\+\_\+\+Rectangle\+::y.

\hypertarget{group__Eina__Matrix3_ga1b8c491399b918243595bf381cb41345}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map@{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map}}
\index{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map@{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map(\+Eina\+\_\+\+Matrix3 $\ast$m, const Eina\+\_\+\+Quad $\ast$q)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{const {\bf Eina\+\_\+\+Quad} $\ast$}]{q}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga1b8c491399b918243595bf381cb41345}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map(), and eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map().

\hypertarget{group__Eina__Matrix3_ga9d281c49037ef7359c275d546f2848f7}{}\index{Matrices in floating point@{Matrices in floating point}!eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map@{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map}}
\index{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map@{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map}!Matrices in floating point@{Matrices in floating point}}
\subsubsection[{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map(\+Eina\+\_\+\+Matrix3 $\ast$m, const Eina\+\_\+\+Quad $\ast$q)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Matrix3} $\ast$}]{m, }
\item[{const {\bf Eina\+\_\+\+Quad} $\ast$}]{q}
\end{DoxyParamCaption}
)}\label{group__Eina__Matrix3_ga9d281c49037ef7359c275d546f2848f7}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+matrix3\+\_\+divide(), eina\+\_\+matrix3\+\_\+inverse(), eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map(), and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map().

