\hypertarget{group__Eina__Matrix3__F16p16__Group}{}\doxysection{3x3 Matrices in fixed point}
\label{group__Eina__Matrix3__F16p16__Group}\index{3x3 Matrices in fixed point@{3x3 Matrices in fixed point}}


Definition and operations for 3x3 fixed point matrices.  


\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Matrix3__F16p16}{\+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16}}
\item 
struct \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}}
\begin{DoxyCompactList}\small\item\em A 3x3 fixed point (Q16.\+16) matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Matrix3__F16p16__Group_ga4e86e4853bdc4b6c4ad586c4fb4b0ba4}\label{group__Eina__Matrix3__F16p16__Group_ga4e86e4853bdc4b6c4ad586c4fb4b0ba4}} 
typedef struct \mbox{\hyperlink{struct__Eina__Matrix3__F16p16}{\+\_\+\+Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} {\bfseries Eina\+\_\+\+Matrix3\+\_\+\+F16p16}
\begin{DoxyCompactList}\small\item\em A 3x3 fixed point (Q16.\+16) matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Matrix3__F16p16__Group_gaf7f3303a5f009f81f0666e801ec3b0d3}{eina\+\_\+matrix3\+\_\+f16p16\+\_\+identity}} (\mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Sets the given fixed point matrix to the identity matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Matrix3__F16p16__Group_ga08f414454f67de53dcf6604f18bfecae}{eina\+\_\+matrix3\+\_\+f16p16\+\_\+compose}} (const \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$m1, const \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$m2, \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$dst)
\begin{DoxyCompactList}\small\item\em Sets dst as the matrix multiplication (composition) of two Eina\+\_\+\+F16p16 matrices. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} \mbox{\hyperlink{group__Eina__Matrix3__F16p16__Group_ga87877c509d0b497f42c70b5d13f11442}{eina\+\_\+matrix3\+\_\+f16p16\+\_\+type\+\_\+get}} (const \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Returns the type of the given fixed point matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Definition and operations for 3x3 fixed point matrices. 



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Matrix3__F16p16__Group_gaf7f3303a5f009f81f0666e801ec3b0d3}\label{group__Eina__Matrix3__F16p16__Group_gaf7f3303a5f009f81f0666e801ec3b0d3}} 
\index{3x3 Matrices in fixed point@{3x3 Matrices in fixed point}!eina\_matrix3\_f16p16\_identity@{eina\_matrix3\_f16p16\_identity}}
\index{eina\_matrix3\_f16p16\_identity@{eina\_matrix3\_f16p16\_identity}!3x3 Matrices in fixed point@{3x3 Matrices in fixed point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix3\_f16p16\_identity()}{eina\_matrix3\_f16p16\_identity()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+matrix3\+\_\+f16p16\+\_\+identity (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$}]{m }\end{DoxyParamCaption})}



Sets the given fixed point matrix to the identity matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em m} & The fixed 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}
\mbox{\Hypertarget{group__Eina__Matrix3__F16p16__Group_ga08f414454f67de53dcf6604f18bfecae}\label{group__Eina__Matrix3__F16p16__Group_ga08f414454f67de53dcf6604f18bfecae}} 
\index{3x3 Matrices in fixed point@{3x3 Matrices in fixed point}!eina\_matrix3\_f16p16\_compose@{eina\_matrix3\_f16p16\_compose}}
\index{eina\_matrix3\_f16p16\_compose@{eina\_matrix3\_f16p16\_compose}!3x3 Matrices in fixed point@{3x3 Matrices in fixed point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix3\_f16p16\_compose()}{eina\_matrix3\_f16p16\_compose()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+matrix3\+\_\+f16p16\+\_\+compose (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$}]{m1,  }\item[{const \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$}]{m2,  }\item[{\mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$}]{dst }\end{DoxyParamCaption})}



Sets dst as the matrix multiplication (composition) of two Eina\+\_\+\+F16p16 matrices. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em m1} & The first matrix. Must be non-\/\+NULL. \\
\hline
\mbox{\texttt{ in}}  & {\em m2} & The second matrix. Must be non-\/\+NULL. \\
\hline
\mbox{\texttt{ out}}  & {\em dst} & The results matrix.\\
\hline
\end{DoxyParams}
In matrix multiplication, AB, the resultant matrix is created from the rows of A multiplied against the columns of B and summed. This is not a commutative; i.\+e. AB != BA, so the ordering of arguments {\ttfamily m1} and {\ttfamily m2} matters.

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


References \mbox{\hyperlink{group__Eina__Fp__Group_ga0c9947221c07f0578711c2832072af29}{eina\+\_\+f16p16\+\_\+mul()}}.

\mbox{\Hypertarget{group__Eina__Matrix3__F16p16__Group_ga87877c509d0b497f42c70b5d13f11442}\label{group__Eina__Matrix3__F16p16__Group_ga87877c509d0b497f42c70b5d13f11442}} 
\index{3x3 Matrices in fixed point@{3x3 Matrices in fixed point}!eina\_matrix3\_f16p16\_type\_get@{eina\_matrix3\_f16p16\_type\_get}}
\index{eina\_matrix3\_f16p16\_type\_get@{eina\_matrix3\_f16p16\_type\_get}!3x3 Matrices in fixed point@{3x3 Matrices in fixed point}}
\doxysubsubsection{\texorpdfstring{eina\_matrix3\_f16p16\_type\_get()}{eina\_matrix3\_f16p16\_type\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} eina\+\_\+matrix3\+\_\+f16p16\+\_\+type\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$}]{m }\end{DoxyParamCaption})}



Returns the type of the given fixed point matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em m} & The fixed 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 \mbox{\hyperlink{group__Eina__Matrix__Group_ggac9e258fd0ef943c6c6f86d7a732b73f5ad225c3a0a95a5ec11da3009541cc0498}{EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+AFFINE}}, \mbox{\hyperlink{group__Eina__Matrix__Group_ggac9e258fd0ef943c6c6f86d7a732b73f5a3593bd6f89b1171d847fb6a5e901f862}{EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+IDENTITY}}, and \mbox{\hyperlink{group__Eina__Matrix__Group_ggac9e258fd0ef943c6c6f86d7a732b73f5ac64b44714c29f6cbe5273748853536fb}{EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+PROJECTIVE}}.

