<ahref="a00521.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> </div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="preprocessor">#pragma once</span></div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> </div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="comment">// Dependency:</span></div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="preprocessor">#include "../glm.hpp"</span></div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> </div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="preprocessor"># error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="preprocessor">#endif</span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> </div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="preprocessor">#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)</span></div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="preprocessor"># pragma message("GLM: GLM_GTX_matrix_factorisation extension included")</span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="preprocessor">#endif</span></div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> </div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="comment">/*</span></div><divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span> <spanclass="comment">Suggestions:</span></div><divclass="line"><aname="l00028"></a><spanclass="lineno"> 28</span> <spanclass="comment"> - Move helper functions flipud and fliplr to another file: They may be helpful in more general circumstances.</span></div><divclass="line"><aname="l00029"></a><spanclass="lineno"> 29</span> <spanclass="comment"> - Implement other types of matrix factorisation, such as: QL and LQ, L(D)U, eigendecompositions, etc...</span></div><divclass="line"><aname="l00030"></a><spanclass="lineno"> 30</span> <spanclass="comment">*/</span></div><divclass="line"><aname="l00031"></a><spanclass="lineno"> 31</span> </div><divclass="line"><aname="l00032"></a><spanclass="lineno"> 32</span> <spanclass="keyword">namespace </span><aclass="code"href="a00792.html">glm</a></div><divclass="line"><aname="l00033"></a><spanclass="lineno"> 33</span> {</div><divclass="line"><aname="l00036"></a><spanclass="lineno"> 36</span> </div><divclass="line"><aname="l00040"></a><spanclass="lineno"> 40</span> <spanclass="keyword">template</span><length_t C, length_t R, <spanclass="keyword">typename</span> T, qualifier Q></div><divclass="line"><aname="l00041"></a><spanclass="lineno"> 41</span>  GLM_FUNC_DECL mat<C, R, T, Q><aclass="code"href="a00753.html#ga85003371f0ba97380dd25e8905de1870">flipud</a>(mat<C, R, T, Q><spanclass="keyword">const</span>& in);</div><divclass="line"><aname="l00042"></a><spanclass="lineno"> 42</span> </div><divclass="line"><aname="l00046"></a><spanclass="lineno"> 46</span> <spanclass="keyword">template</span><length_t C, length_t R, <spanclass="keyword">typename</span> T, qualifier Q></div><divclass="line"><aname="l00047"></a><spanclass="lineno"> 47</span>  GLM_FUNC_D
<divclass="ttc"id="a00753_html_ga77022dca1aa38add548f9f56a9f8071a"><divclass="ttname"><ahref="a00753.html#ga77022dca1aa38add548f9f56a9f8071a">glm::qr_decompose</a></div><divclass="ttdeci">GLM_FUNC_DECL void qr_decompose(mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q >&q, mat< C,(C< R ? C :R), T, Q >&r)</div><divclass="ttdoc">Performs QR factorisation of a matrix. </div></div>