\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}} \mbox{\hyperlink{group__Eina__Matrix3__F16p16__Group_ga4e86e4853bdc4b6c4ad586c4fb4b0ba4}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}}
\begin{DoxyCompactList}\small\item\em A 3x3 fixed point (Q16.\+16) matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{group__Eina__Matrix3__F16p16__Group_gaa85a7ab424caefef55bb38fa9aaf61e8}{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 
void \mbox{\hyperlink{group__Eina__Matrix3__F16p16__Group_ga662d04605f626dfc1e5719d11dc67e1f}{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__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} \mbox{\hyperlink{group__Eina__Matrix3__F16p16__Group_ga291bba6181a8e2e5980fdc3529b3f86b}{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_gaa85a7ab424caefef55bb38fa9aaf61e8}\label{group__Eina__Matrix3__F16p16__Group_gaa85a7ab424caefef55bb38fa9aaf61e8}} 
\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 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_ga662d04605f626dfc1e5719d11dc67e1f}\label{group__Eina__Matrix3__F16p16__Group_ga662d04605f626dfc1e5719d11dc67e1f}} 
\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 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 eina\+\_\+f16p16\+\_\+mul().

\mbox{\Hypertarget{group__Eina__Matrix3__F16p16__Group_ga291bba6181a8e2e5980fdc3529b3f86b}\label{group__Eina__Matrix3__F16p16__Group_ga291bba6181a8e2e5980fdc3529b3f86b}} 
\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__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 EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+AFFINE, EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+IDENTITY, and EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+PROJECTIVE.

