\doxysection{matrix.\+h}
\label{matrix_8h_source}\index{include/sphinxbase/matrix.h@{include/sphinxbase/matrix.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*\ -\/*-\/\ c-\/basic-\/offset:\ 4;\ indent-\/tabs-\/mode:\ nil\ -\/*-\/\ */}}
\DoxyCodeLine{00002\ \textcolor{comment}{/*\ ====================================================================}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *\ Copyright\ (c)\ 1997-\/2000\ Carnegie\ Mellon\ University.\ \ All\ rights\ }}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ reserved.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ Redistribution\ and\ use\ in\ source\ and\ binary\ forms,\ with\ or\ without}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ modification,\ are\ permitted\ provided\ that\ the\ following\ conditions}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ are\ met:}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *\ 1.\ Redistributions\ of\ source\ code\ must\ retain\ the\ above\ copyright}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ *\ \ \ \ notice,\ this\ list\ of\ conditions\ and\ the\ following\ disclaimer.\ }}
\DoxyCodeLine{00012\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *\ 2.\ Redistributions\ in\ binary\ form\ must\ reproduce\ the\ above\ copyright}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ *\ \ \ \ notice,\ this\ list\ of\ conditions\ and\ the\ following\ disclaimer\ in}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ *\ \ \ \ the\ documentation\ and/or\ other\ materials\ provided\ with\ the}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ *\ \ \ \ distribution.}}
\DoxyCodeLine{00017\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ *\ This\ work\ was\ supported\ in\ part\ by\ funding\ from\ the\ Defense\ Advanced\ }}
\DoxyCodeLine{00019\ \textcolor{comment}{\ *\ Research\ Projects\ Agency\ and\ the\ National\ Science\ Foundation\ of\ the\ }}
\DoxyCodeLine{00020\ \textcolor{comment}{\ *\ United\ States\ of\ America,\ and\ the\ CMU\ Sphinx\ Speech\ Consortium.}}
\DoxyCodeLine{00021\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00022\ \textcolor{comment}{\ *\ THIS\ SOFTWARE\ IS\ PROVIDED\ BY\ CARNEGIE\ MELLON\ UNIVERSITY\ \`{}\`{}AS\ IS''\ AND\ }}
\DoxyCodeLine{00023\ \textcolor{comment}{\ *\ ANY\ EXPRESSED\ OR\ IMPLIED\ WARRANTIES,\ INCLUDING,\ BUT\ NOT\ LIMITED\ TO,\ }}
\DoxyCodeLine{00024\ \textcolor{comment}{\ *\ THE\ IMPLIED\ WARRANTIES\ OF\ MERCHANTABILITY\ AND\ FITNESS\ FOR\ A\ PARTICULAR}}
\DoxyCodeLine{00025\ \textcolor{comment}{\ *\ PURPOSE\ ARE\ DISCLAIMED.\ \ IN\ NO\ EVENT\ SHALL\ CARNEGIE\ MELLON\ UNIVERSITY}}
\DoxyCodeLine{00026\ \textcolor{comment}{\ *\ NOR\ ITS\ EMPLOYEES\ BE\ LIABLE\ FOR\ ANY\ DIRECT,\ INDIRECT,\ INCIDENTAL,}}
\DoxyCodeLine{00027\ \textcolor{comment}{\ *\ SPECIAL,\ EXEMPLARY,\ OR\ CONSEQUENTIAL\ DAMAGES\ (INCLUDING,\ BUT\ NOT\ }}
\DoxyCodeLine{00028\ \textcolor{comment}{\ *\ LIMITED\ TO,\ PROCUREMENT\ OF\ SUBSTITUTE\ GOODS\ OR\ SERVICES;\ LOSS\ OF\ USE,\ }}
\DoxyCodeLine{00029\ \textcolor{comment}{\ *\ DATA,\ OR\ PROFITS;\ OR\ BUSINESS\ INTERRUPTION)\ HOWEVER\ CAUSED\ AND\ ON\ ANY\ }}
\DoxyCodeLine{00030\ \textcolor{comment}{\ *\ THEORY\ OF\ LIABILITY,\ WHETHER\ IN\ CONTRACT,\ STRICT\ LIABILITY,\ OR\ TORT\ }}
\DoxyCodeLine{00031\ \textcolor{comment}{\ *\ (INCLUDING\ NEGLIGENCE\ OR\ OTHERWISE)\ ARISING\ IN\ ANY\ WAY\ OUT\ OF\ THE\ USE\ }}
\DoxyCodeLine{00032\ \textcolor{comment}{\ *\ OF\ THIS\ SOFTWARE,\ EVEN\ IF\ ADVISED\ OF\ THE\ POSSIBILITY\ OF\ SUCH\ DAMAGE.}}
\DoxyCodeLine{00033\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00034\ \textcolor{comment}{\ *\ ====================================================================}}
\DoxyCodeLine{00035\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00036\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00037\ \textcolor{comment}{/*********************************************************************}}
\DoxyCodeLine{00038\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00039\ \textcolor{comment}{\ *\ File:\ matrix.h}}
\DoxyCodeLine{00040\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{00041\ \textcolor{comment}{\ *\ Description:\ Matrix\ and\ linear\ algebra\ functions}}
\DoxyCodeLine{00042\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{00043\ \textcolor{comment}{\ *\ Author:\ }}
\DoxyCodeLine{00044\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{00045\ \textcolor{comment}{\ *********************************************************************/}}
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ \textcolor{preprocessor}{\#ifndef\ MATRIX\_H}}
\DoxyCodeLine{00048\ \textcolor{preprocessor}{\#define\ MATRIX\_H}}
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00060\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00061\ \textcolor{keyword}{extern}\ \textcolor{stringliteral}{"{}C"{}}\ \{}
\DoxyCodeLine{00062\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00063\ \textcolor{preprocessor}{\#if\ 0}}
\DoxyCodeLine{00064\ \textcolor{comment}{/*\ Fool\ Emacs.\ */}}
\DoxyCodeLine{00065\ \}}
\DoxyCodeLine{00066\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00067\ }
\DoxyCodeLine{00068\ \textcolor{comment}{/*\ Win32/WinCE\ DLL\ gunk\ */}}
\DoxyCodeLine{00069\ \textcolor{preprocessor}{\#include\ <sphinxbase/sphinxbase\_export.h>}}
\DoxyCodeLine{00070\ \textcolor{preprocessor}{\#include\ <sphinxbase/prim\_type.h>}}
\DoxyCodeLine{00071\ }
\DoxyCodeLine{00072\ }
\DoxyCodeLine{00080\ SPHINXBASE\_EXPORT\ \textcolor{keywordtype}{void}\ norm\_3d(float32\ ***arr,\ uint32\ d1,\ uint32\ d2,\ uint32\ d3);}
\DoxyCodeLine{00081\ }
\DoxyCodeLine{00090\ SPHINXBASE\_EXPORT\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00091\ accum\_3d(float32\ ***out,\ float32\ ***in,\ uint32\ d1,\ uint32\ d2,\ uint32\ d3);}
\DoxyCodeLine{00092\ }
\DoxyCodeLine{00098\ SPHINXBASE\_EXPORT\ \textcolor{keywordtype}{void}\ band\_nz\_1d(float32\ *v,\ uint32\ d1,\ float32\ band);}
\DoxyCodeLine{00099\ }
\DoxyCodeLine{00108\ SPHINXBASE\_EXPORT\ \textcolor{keywordtype}{void}\ floor\_nz\_3d(float32\ ***m,\ uint32\ d1,\ uint32\ d2,\ uint32\ d3,\ float32\ floor);}
\DoxyCodeLine{00109\ }
\DoxyCodeLine{00116\ SPHINXBASE\_EXPORT\ \textcolor{keywordtype}{void}\ floor\_nz\_1d(float32\ *v,\ uint32\ d1,\ float32\ floor);}
\DoxyCodeLine{00117\ }
\DoxyCodeLine{00130\ SPHINXBASE\_EXPORT}
\DoxyCodeLine{00131\ float64\ determinant(float32\ **a,\ int32\ len);}
\DoxyCodeLine{00132\ }
\DoxyCodeLine{00143\ SPHINXBASE\_EXPORT}
\DoxyCodeLine{00144\ int32\ invert(float32\ **out\_ainv,\ float32\ **a,\ int32\ len);}
\DoxyCodeLine{00145\ }
\DoxyCodeLine{00157\ SPHINXBASE\_EXPORT}
\DoxyCodeLine{00158\ int32\ solve(float32\ **a,\ float32\ *b,}
\DoxyCodeLine{00159\ \ \ \ \ \ \ \ \ \ \ \ \ float32\ *out\_x,\ int32\ n);}
\DoxyCodeLine{00160\ }
\DoxyCodeLine{00169\ SPHINXBASE\_EXPORT}
\DoxyCodeLine{00170\ \textcolor{keywordtype}{void}\ outerproduct(float32\ **out\_a,\ float32\ *x,\ float32\ *y,\ int32\ len);}
\DoxyCodeLine{00171\ }
\DoxyCodeLine{00179\ SPHINXBASE\_EXPORT}
\DoxyCodeLine{00180\ \textcolor{keywordtype}{void}\ matrixmultiply(float32\ **out\_c,\ \textcolor{comment}{/*\ =\ */}}
\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ float32\ **a,\ \textcolor{comment}{/*\ *\ */}\ float32\ **b,}
\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ int32\ n);}
\DoxyCodeLine{00183\ }
\DoxyCodeLine{00190\ SPHINXBASE\_EXPORT}
\DoxyCodeLine{00191\ \textcolor{keywordtype}{void}\ scalarmultiply(float32\ **inout\_a,\ float32\ x,\ int32\ n);}
\DoxyCodeLine{00192\ }
\DoxyCodeLine{00199\ SPHINXBASE\_EXPORT}
\DoxyCodeLine{00200\ \textcolor{keywordtype}{void}\ matrixadd(float32\ **inout\_a,\ float32\ **b,\ int32\ n);}
\DoxyCodeLine{00201\ }
\DoxyCodeLine{00202\ \textcolor{preprocessor}{\#if\ 0}}
\DoxyCodeLine{00203\ \{\ \textcolor{comment}{/*\ Fool\ indent.\ */}}
\DoxyCodeLine{00204\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00205\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00206\ \}}
\DoxyCodeLine{00207\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00208\ }
\DoxyCodeLine{00209\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ MATRIX\_H\ */}\textcolor{preprocessor}{\ }}
\DoxyCodeLine{00210\ }
\DoxyCodeLine{00211\ }
\DoxyCodeLine{00212\ \textcolor{comment}{/*}}
\DoxyCodeLine{00213\ \textcolor{comment}{\ *\ Log\ record.\ \ Maintained\ by\ RCS.}}
\DoxyCodeLine{00214\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00215\ \textcolor{comment}{\ *\ \$Log\$}}
\DoxyCodeLine{00216\ \textcolor{comment}{\ *\ Revision\ 1.4\ \ 2004/07/21\ \ 17:46:09\ \ egouvea}}
\DoxyCodeLine{00217\ \textcolor{comment}{\ *\ Changed\ the\ license\ terms\ to\ make\ it\ the\ same\ as\ sphinx2\ and\ sphinx3.}}
\DoxyCodeLine{00218\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{00219\ \textcolor{comment}{\ *\ Revision\ 1.3\ \ 2001/04/05\ 20:02:30\ \ awb}}
\DoxyCodeLine{00220\ \textcolor{comment}{\ *\ ***\ empty\ log\ message\ ***}}
\DoxyCodeLine{00221\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00222\ \textcolor{comment}{\ *\ Revision\ 1.2\ \ 2000/09/29\ 22:35:12\ \ awb}}
\DoxyCodeLine{00223\ \textcolor{comment}{\ *\ ***\ empty\ log\ message\ ***}}
\DoxyCodeLine{00224\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00225\ \textcolor{comment}{\ *\ Revision\ 1.1\ \ 2000/09/24\ 21:38:30\ \ awb}}
\DoxyCodeLine{00226\ \textcolor{comment}{\ *\ ***\ empty\ log\ message\ ***}}
\DoxyCodeLine{00227\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00228\ \textcolor{comment}{\ *\ Revision\ 1.1\ \ 97/07/16\ \ 11:39:10\ \ eht}}
\DoxyCodeLine{00229\ \textcolor{comment}{\ *\ Initial\ revision}}
\DoxyCodeLine{00230\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{00231\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00232\ \textcolor{comment}{\ */}}

\end{DoxyCode}
