\hypertarget{group__Eina__Matrix2__Group}{}\doxysection{2x2 Matrices in floating point}
\label{group__Eina__Matrix2__Group}\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}}


Definition and operations for 2x3 matrices.  


\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Matrix2}{\+\_\+\+Eina\+\_\+\+Matrix2}}
\item 
struct \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}}
\begin{DoxyCompactList}\small\item\em A 2x2 floating point matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Matrix2__Group_ga6d536d59298d1507c8427a764b1ae4ad}\label{group__Eina__Matrix2__Group_ga6d536d59298d1507c8427a764b1ae4ad}} 
typedef struct \mbox{\hyperlink{struct__Eina__Matrix2}{\+\_\+\+Eina\+\_\+\+Matrix2}} \mbox{\hyperlink{group__Eina__Matrix2__Group_ga6d536d59298d1507c8427a764b1ae4ad}{Eina\+\_\+\+Matrix2}}
\begin{DoxyCompactList}\small\item\em A 2x2 floating point matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_gaae05767322e540fdc1fc12d64c510ae9}{eina\+\_\+matrix2\+\_\+values\+\_\+set}} (\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$m, double xx, double xy, double yx, double yy)
\begin{DoxyCompactList}\small\item\em Sets the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_gad87f444a7809a9c631d6952ff219733a}{eina\+\_\+matrix2\+\_\+values\+\_\+get}} (const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$yx, double $\ast$yy)
\begin{DoxyCompactList}\small\item\em Gets the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_ga4be189d250cc41d3d04c2f70949621cd}{eina\+\_\+matrix2\+\_\+inverse}} (\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$mat)
\begin{DoxyCompactList}\small\item\em Computes the inverse with check of the given matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_ga50d6ed53b50109389bbae8966e2c5f4d}{eina\+\_\+matrix2\+\_\+identity}} (\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Sets the given floating point matrix to the identity matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_gafb9ba8a687421f0a881aff908d08b938}{eina\+\_\+matrix2\+\_\+array\+\_\+set}} (\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$m, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Sets array to matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_gaa37e25e67988d2884729aaa8169b816f}{eina\+\_\+matrix2\+\_\+copy}} (\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$dst, const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copies matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_gaf28750f868a2311b85b8b9a362cd5de7}{eina\+\_\+matrix2\+\_\+multiply}} (\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$mat\+\_\+a, const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiplies two matrices. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Matrix2__Group_gab948a4534d32c431a3377ddb278def71}{eina\+\_\+matrix2\+\_\+multiply\+\_\+copy}} (\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$mat\+\_\+a, const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiplies two matrices with check. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} \mbox{\hyperlink{group__Eina__Matrix2__Group_ga1897c1500b8dded193c6d1f225b86423}{eina\+\_\+matrix2\+\_\+type\+\_\+get}} (const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Returns the type of the given floating point matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Definition and operations for 2x3 matrices. 



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Matrix2__Group_gaae05767322e540fdc1fc12d64c510ae9}\label{group__Eina__Matrix2__Group_gaae05767322e540fdc1fc12d64c510ae9}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_values\_set@{eina\_matrix2\_values\_set}}
\index{eina\_matrix2\_values\_set@{eina\_matrix2\_values\_set}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_values\_set()}{eina\_matrix2\_values\_set()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+values\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{m,  }\item[{double}]{xx,  }\item[{double}]{xy,  }\item[{double}]{yx,  }\item[{double}]{yy }\end{DoxyParamCaption})}



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


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em m} & The floating point matrix. \\
\hline
\mbox{\texttt{ in}}  & {\em xx} & The first coefficient value. \\
\hline
\mbox{\texttt{ in}}  & {\em xy} & The second coefficient value. \\
\hline
\mbox{\texttt{ in}}  & {\em yx} & The fourth coefficient value. \\
\hline
\mbox{\texttt{ in}}  & {\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}
\mbox{\hyperlink{group__Eina__Matrix2__Group_gad87f444a7809a9c631d6952ff219733a}{eina\+\_\+matrix2\+\_\+values\+\_\+get()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix2__Group_gad87f444a7809a9c631d6952ff219733a}\label{group__Eina__Matrix2__Group_gad87f444a7809a9c631d6952ff219733a}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_values\_get@{eina\_matrix2\_values\_get}}
\index{eina\_matrix2\_values\_get@{eina\_matrix2\_values\_get}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_values\_get()}{eina\_matrix2\_values\_get()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+values\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{m,  }\item[{double $\ast$}]{xx,  }\item[{double $\ast$}]{xy,  }\item[{double $\ast$}]{yx,  }\item[{double $\ast$}]{yy }\end{DoxyParamCaption})}



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


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em m} & The floating point matrix. \\
\hline
\mbox{\texttt{ in}}  & {\em xx} & The first coefficient value. \\
\hline
\mbox{\texttt{ in}}  & {\em xy} & The second coefficient value. \\
\hline
\mbox{\texttt{ in}}  & {\em yx} & The fourth coefficient value. \\
\hline
\mbox{\texttt{ in}}  & {\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}
\mbox{\hyperlink{group__Eina__Matrix2__Group_gaae05767322e540fdc1fc12d64c510ae9}{eina\+\_\+matrix2\+\_\+values\+\_\+set()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix2__Group_ga4be189d250cc41d3d04c2f70949621cd}\label{group__Eina__Matrix2__Group_ga4be189d250cc41d3d04c2f70949621cd}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_inverse@{eina\_matrix2\_inverse}}
\index{eina\_matrix2\_inverse@{eina\_matrix2\_inverse}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_inverse()}{eina\_matrix2\_inverse()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+inverse (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{mat }\end{DoxyParamCaption})}



Computes the inverse with check of the given matrix. 


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

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


References EINA\+\_\+\+DBL\+\_\+\+EQ, eina\+\_\+matrix2\+\_\+copy(), eina\+\_\+matrix2\+\_\+type\+\_\+get(), and EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+IDENTITY.

\mbox{\Hypertarget{group__Eina__Matrix2__Group_ga50d6ed53b50109389bbae8966e2c5f4d}\label{group__Eina__Matrix2__Group_ga50d6ed53b50109389bbae8966e2c5f4d}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_identity@{eina\_matrix2\_identity}}
\index{eina\_matrix2\_identity@{eina\_matrix2\_identity}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_identity()}{eina\_matrix2\_identity()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+identity (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{m }\end{DoxyParamCaption})}



Sets the given floating point matrix to the identity matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\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}
\mbox{\Hypertarget{group__Eina__Matrix2__Group_gafb9ba8a687421f0a881aff908d08b938}\label{group__Eina__Matrix2__Group_gafb9ba8a687421f0a881aff908d08b938}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_array\_set@{eina\_matrix2\_array\_set}}
\index{eina\_matrix2\_array\_set@{eina\_matrix2\_array\_set}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_array\_set()}{eina\_matrix2\_array\_set()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+array\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{m,  }\item[{const double $\ast$}]{v }\end{DoxyParamCaption})}



Sets array to matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em m} & The result matrix. \\
\hline
\mbox{\texttt{ in}}  & {\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}
\mbox{\Hypertarget{group__Eina__Matrix2__Group_gaa37e25e67988d2884729aaa8169b816f}\label{group__Eina__Matrix2__Group_gaa37e25e67988d2884729aaa8169b816f}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_copy@{eina\_matrix2\_copy}}
\index{eina\_matrix2\_copy@{eina\_matrix2\_copy}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_copy()}{eina\_matrix2\_copy()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{src }\end{DoxyParamCaption})}



Copies matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em dst} & The matrix copy. \\
\hline
\mbox{\texttt{ in}}  & {\em src} & The matrix to copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Eina__Matrix2__Group_gaf28750f868a2311b85b8b9a362cd5de7}\label{group__Eina__Matrix2__Group_gaf28750f868a2311b85b8b9a362cd5de7}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_multiply@{eina\_matrix2\_multiply}}
\index{eina\_matrix2\_multiply@{eina\_matrix2\_multiply}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_multiply()}{eina\_matrix2\_multiply()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+multiply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{mat\+\_\+a,  }\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{mat\+\_\+b }\end{DoxyParamCaption})}



Multiplies two matrices. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & The resulting matrix. \\
\hline
\mbox{\texttt{ in}}  & {\em mat\+\_\+a} & The first member of the multiplication. \\
\hline
\mbox{\texttt{ in}}  & {\em mat\+\_\+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 EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+IDENTITY.



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

\mbox{\Hypertarget{group__Eina__Matrix2__Group_gab948a4534d32c431a3377ddb278def71}\label{group__Eina__Matrix2__Group_gab948a4534d32c431a3377ddb278def71}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_multiply\_copy@{eina\_matrix2\_multiply\_copy}}
\index{eina\_matrix2\_multiply\_copy@{eina\_matrix2\_multiply\_copy}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_multiply\_copy()}{eina\_matrix2\_multiply\_copy()}}
{\footnotesize\ttfamily void eina\+\_\+matrix2\+\_\+multiply\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{mat\+\_\+a,  }\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{mat\+\_\+b }\end{DoxyParamCaption})}



Multiplies two matrices with check. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & The resulting matrix. \\
\hline
\mbox{\texttt{ in}}  & {\em mat\+\_\+a} & The first member of the multiplication. \\
\hline
\mbox{\texttt{ in}}  & {\em mat\+\_\+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().

\mbox{\Hypertarget{group__Eina__Matrix2__Group_ga1897c1500b8dded193c6d1f225b86423}\label{group__Eina__Matrix2__Group_ga1897c1500b8dded193c6d1f225b86423}} 
\index{2x2 Matrices in floating point@{2x2 Matrices in floating point}!eina\_matrix2\_type\_get@{eina\_matrix2\_type\_get}}
\index{eina\_matrix2\_type\_get@{eina\_matrix2\_type\_get}!2x2 Matrices in floating point@{2x2 Matrices in floating point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix2\_type\_get()}{eina\_matrix2\_type\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} eina\+\_\+matrix2\+\_\+type\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{m }\end{DoxyParamCaption})}



Returns the type of the given floating point matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\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 EINA\+\_\+\+DBL\+\_\+\+EQ, EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+AFFINE, and EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+IDENTITY.



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

