2026-08-02 01:36:11 +00:00
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en-US" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
< meta http-equiv = "X-UA-Compatible" content = "IE=11" />
< meta name = "generator" content = "Doxygen 1.9.8" />
< meta name = "viewport" content = "width=device-width, initial-scale=1" />
< title > RTAB-Map: utilite/include/rtabmap/utilite/UMath.h Source File</ title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "jquery.js" ></ script >
< script type = "text/javascript" src = "dynsections.js" ></ script >
2026-08-02 07:56:38 +00:00
< link href = "navtree.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "resize.js" ></ script >
< script type = "text/javascript" src = "navtreedata.js" ></ script >
< script type = "text/javascript" src = "navtree.js" ></ script >
2026-08-02 01:36:11 +00:00
< link href = "search/search.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "search/searchdata.js" ></ script >
< script type = "text/javascript" src = "search/search.js" ></ script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" > window . RTABMAP_DOC_ROOT = "" ;</ script >
< script type = "text/javascript" src = "../versions.js" ></ script >
< script type = "text/javascript" src = "version-switcher.js" ></ script >
</ head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr id = "projectrow" >
< td id = "projectalign" >
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.10</ span >
</ div >
2026-08-02 07:56:38 +00:00
< div id = "projectbrief" > Real-Time Appearance-Based Mapping</ div >
2026-08-02 01:36:11 +00:00
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox ( "searchBox" , "search/" , '.html' );
/* @license-end */
</ script >
< script type = "text/javascript" src = "menudata.js" ></ script >
< script type = "text/javascript" src = "menu.js" ></ script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( function () {
initMenu ( '' , true , false , 'search.php' , 'Search' );
$ ( document ). ready ( function () { init_search (); });
});
/* @license-end */
</ script >
< div id = "main-nav" ></ div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( document ). ready ( function () { init_codefold ( 0 ); });
/* @license-end */
</ script >
2026-08-02 07:56:38 +00:00
</ div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" ></ div >
</ div >
</ div >
< div id = "splitbar" style = "-moz-user-select:none;"
class = "ui-resizable-handle" >
</ div >
</ div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( document ). ready ( function (){ initNavTree ( 'UMath_8h_source.html' , '' ); initResizable (); });
/* @license-end */
</ script >
< div id = "doc-content" >
2026-08-02 01:36:11 +00:00
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
onkeydown = "return searchBox.OnSearchSelectKey(event)" >
</ div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< div id = "MSearchResults" >
< div class = "SRPage" >
< div id = "SRIndex" >
< div id = "SRResults" ></ div >
< div class = "SRStatus" id = "Loading" > Loading...</ div >
< div class = "SRStatus" id = "Searching" > Searching...</ div >
< div class = "SRStatus" id = "NoMatches" > No Matches</ div >
</ div >
</ div >
</ div >
</ div >
< div class = "header" >
< div class = "headertitle" >< div class = "title" > UMath.h</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
< a href = "UMath_8h.html" > Go to the documentation of this file.</ a >< div class = "fragment" >< div class = "line" >< a id = "l00001" name = "l00001" ></ a >< span class = "lineno" > 1</ span >< span class = "comment" > /*</ span ></ div >
< div class = "line" >< a id = "l00002" name = "l00002" ></ a >< span class = "lineno" > 2</ span >< span class = "comment" > * utilite is a cross-platform library with</ span ></ div >
< div class = "line" >< a id = "l00003" name = "l00003" ></ a >< span class = "lineno" > 3</ span >< span class = "comment" > * useful utilities for fast and small developing.</ span ></ div >
< div class = "line" >< a id = "l00004" name = "l00004" ></ a >< span class = "lineno" > 4</ span >< span class = "comment" > * Copyright (C) 2010 Mathieu Labbe</ span ></ div >
< div class = "line" >< a id = "l00005" name = "l00005" ></ a >< span class = "lineno" > 5</ span >< span class = "comment" > *</ span ></ div >
< div class = "line" >< a id = "l00006" name = "l00006" ></ a >< span class = "lineno" > 6</ span >< span class = "comment" > * utilite is free library: you can redistribute it and/or modify</ span ></ div >
< div class = "line" >< a id = "l00007" name = "l00007" ></ a >< span class = "lineno" > 7</ span >< span class = "comment" > * it under the terms of the GNU Lesser General Public License as published by</ span ></ div >
< div class = "line" >< a id = "l00008" name = "l00008" ></ a >< span class = "lineno" > 8</ span >< span class = "comment" > * the Free Software Foundation, either version 3 of the License, or</ span ></ div >
< div class = "line" >< a id = "l00009" name = "l00009" ></ a >< span class = "lineno" > 9</ span >< span class = "comment" > * (at your option) any later version.</ span ></ div >
< div class = "line" >< a id = "l00010" name = "l00010" ></ a >< span class = "lineno" > 10</ span >< span class = "comment" > *</ span ></ div >
< div class = "line" >< a id = "l00011" name = "l00011" ></ a >< span class = "lineno" > 11</ span >< span class = "comment" > * utilite is distributed in the hope that it will be useful,</ span ></ div >
< div class = "line" >< a id = "l00012" name = "l00012" ></ a >< span class = "lineno" > 12</ span >< span class = "comment" > * but WITHOUT ANY WARRANTY; without even the implied warranty of</ span ></ div >
< div class = "line" >< a id = "l00013" name = "l00013" ></ a >< span class = "lineno" > 13</ span >< span class = "comment" > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</ span ></ div >
< div class = "line" >< a id = "l00014" name = "l00014" ></ a >< span class = "lineno" > 14</ span >< span class = "comment" > * GNU Lesser General Public License for more details.</ span ></ div >
< div class = "line" >< a id = "l00015" name = "l00015" ></ a >< span class = "lineno" > 15</ span >< span class = "comment" > *</ span ></ div >
< div class = "line" >< a id = "l00016" name = "l00016" ></ a >< span class = "lineno" > 16</ span >< span class = "comment" > * You should have received a copy of the GNU Lesser General Public License</ span ></ div >
< div class = "line" >< a id = "l00017" name = "l00017" ></ a >< span class = "lineno" > 17</ span >< span class = "comment" > * along with this program. If not, see < http://www.gnu.org/licenses/> .</ span ></ div >
< div class = "line" >< a id = "l00018" name = "l00018" ></ a >< span class = "lineno" > 18</ span >< span class = "comment" > */</ span ></ div >
< div class = "line" >< a id = "l00019" name = "l00019" ></ a >< span class = "lineno" > 19</ span > </ div >
< div class = "line" >< a id = "l00020" name = "l00020" ></ a >< span class = "lineno" > 20</ span >< span class = "preprocessor" > #ifndef UMATH_H</ span ></ div >
< div class = "line" >< a id = "l00021" name = "l00021" ></ a >< span class = "lineno" > 21</ span >< span class = "preprocessor" > #define UMATH_H</ span ></ div >
< div class = "line" >< a id = "l00022" name = "l00022" ></ a >< span class = "lineno" > 22</ span > </ div >
< div class = "line" >< a id = "l00027" name = "l00027" ></ a >< span class = "lineno" > 27</ span >< span class = "preprocessor" > #include < cmath> </ span ></ div >
< div class = "line" >< a id = "l00028" name = "l00028" ></ a >< span class = "lineno" > 28</ span >< span class = "preprocessor" > #include < list> </ span ></ div >
< div class = "line" >< a id = "l00029" name = "l00029" ></ a >< span class = "lineno" > 29</ span >< span class = "preprocessor" > #include < vector> </ span ></ div >
< div class = "line" >< a id = "l00030" name = "l00030" ></ a >< span class = "lineno" > 30</ span > </ div >
< div class = "line" >< a id = "l00031" name = "l00031" ></ a >< span class = "lineno" > 31</ span >< span class = "preprocessor" > #if _MSC_VER</ span ></ div >
< div class = "line" >< a id = "l00032" name = "l00032" ></ a >< span class = "lineno" > 32</ span >< span class = "preprocessor" > #undef min</ span ></ div >
< div class = "line" >< a id = "l00033" name = "l00033" ></ a >< span class = "lineno" > 33</ span >< span class = "preprocessor" > #undef max</ span ></ div >
< div class = "line" >< a id = "l00034" name = "l00034" ></ a >< span class = "lineno" > 34</ span >< span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a id = "l00035" name = "l00035" ></ a >< span class = "lineno" > 35</ span > </ div >
< div class = "line" >< a id = "l00039" name = "l00039" ></ a >< span class = "lineno" > 39</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00040" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00040" name = "l00040" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > 40</ a ></ span >< span class = "keyword" > inline</ span > < span class = "keywordtype" > bool</ span > < a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (< span class = "keyword" > const</ span > T & value)</ div >
< div class = "line" >< a id = "l00041" name = "l00041" ></ a >< span class = "lineno" > 41</ span > {</ div >
< div class = "line" >< a id = "l00042" name = "l00042" ></ a >< span class = "lineno" > 42</ span >< span class = "preprocessor" > #if _MSC_VER</ span ></ div >
< div class = "line" >< a id = "l00043" name = "l00043" ></ a >< span class = "lineno" > 43</ span > < span class = "keywordflow" > return</ span > _isnan(value) != 0;</ div >
< div class = "line" >< a id = "l00044" name = "l00044" ></ a >< span class = "lineno" > 44</ span >< span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a id = "l00045" name = "l00045" ></ a >< span class = "lineno" > 45</ span > < span class = "keywordflow" > return</ span > std::isnan(value);</ div >
< div class = "line" >< a id = "l00046" name = "l00046" ></ a >< span class = "lineno" > 46</ span >< span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a id = "l00047" name = "l00047" ></ a >< span class = "lineno" > 47</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00048" name = "l00048" ></ a >< span class = "lineno" > 48</ span > </ div >
< div class = "line" >< a id = "l00052" name = "l00052" ></ a >< span class = "lineno" > 52</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00053" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00053" name = "l00053" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#abc9c1a676bf1b33a7d2bc0452a04fed3" > 53</ a ></ span >< span class = "keyword" > inline</ span > < span class = "keywordtype" > bool</ span > < a class = "code hl_function" href = "UMath_8h.html#abc9c1a676bf1b33a7d2bc0452a04fed3" > uIsFinite</ a > (< span class = "keyword" > const</ span > T & value)</ div >
< div class = "line" >< a id = "l00054" name = "l00054" ></ a >< span class = "lineno" > 54</ span > {</ div >
< div class = "line" >< a id = "l00055" name = "l00055" ></ a >< span class = "lineno" > 55</ span >< span class = "preprocessor" > #if _MSC_VER</ span ></ div >
< div class = "line" >< a id = "l00056" name = "l00056" ></ a >< span class = "lineno" > 56</ span > < span class = "keywordflow" > return</ span > _finite(value) != 0;</ div >
< div class = "line" >< a id = "l00057" name = "l00057" ></ a >< span class = "lineno" > 57</ span >< span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a id = "l00058" name = "l00058" ></ a >< span class = "lineno" > 58</ span > < span class = "keywordflow" > return</ span > std::isfinite(value);</ div >
< div class = "line" >< a id = "l00059" name = "l00059" ></ a >< span class = "lineno" > 59</ span >< span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a id = "l00060" name = "l00060" ></ a >< span class = "lineno" > 60</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00061" name = "l00061" ></ a >< span class = "lineno" > 61</ span > </ div >
< div class = "line" >< a id = "l00066" name = "l00066" ></ a >< span class = "lineno" > 66</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00067" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00067" name = "l00067" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#ad653f26bbf08ce113b5a69a49bb4e41d" > 67</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#ad653f26bbf08ce113b5a69a49bb4e41d" > uMin3</ a > ( < span class = "keyword" > const</ span > T& a, < span class = "keyword" > const</ span > T& b, < span class = "keyword" > const</ span > T& c)</ div >
< div class = "line" >< a id = "l00068" name = "l00068" ></ a >< span class = "lineno" > 68</ span > {</ div >
< div class = "line" >< a id = "l00069" name = "l00069" ></ a >< span class = "lineno" > 69</ span > < span class = "keywordtype" > float</ span > m=a< b?a:b;</ div >
< div class = "line" >< a id = "l00070" name = "l00070" ></ a >< span class = "lineno" > 70</ span > < span class = "keywordflow" > return</ span > m< c?m:c;</ div >
< div class = "line" >< a id = "l00071" name = "l00071" ></ a >< span class = "lineno" > 71</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00072" name = "l00072" ></ a >< span class = "lineno" > 72</ span > </ div >
< div class = "line" >< a id = "l00077" name = "l00077" ></ a >< span class = "lineno" > 77</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00078" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00078" name = "l00078" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a601a7e18acb1512a60cd8ef248271c85" > 78</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a601a7e18acb1512a60cd8ef248271c85" > uMax3</ a > ( < span class = "keyword" > const</ span > T& a, < span class = "keyword" > const</ span > T& b, < span class = "keyword" > const</ span > T& c)</ div >
< div class = "line" >< a id = "l00079" name = "l00079" ></ a >< span class = "lineno" > 79</ span > {</ div >
< div class = "line" >< a id = "l00080" name = "l00080" ></ a >< span class = "lineno" > 80</ span > < span class = "keywordtype" > float</ span > m=a> b?a:b;</ div >
< div class = "line" >< a id = "l00081" name = "l00081" ></ a >< span class = "lineno" > 81</ span > < span class = "keywordflow" > return</ span > m> c?m:c;</ div >
< div class = "line" >< a id = "l00082" name = "l00082" ></ a >< span class = "lineno" > 82</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00083" name = "l00083" ></ a >< span class = "lineno" > 83</ span > </ div >
< div class = "line" >< a id = "l00091" name = "l00091" ></ a >< span class = "lineno" > 91</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00092" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00092" name = "l00092" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > 92</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & index)</ div >
< div class = "line" >< a id = "l00093" name = "l00093" ></ a >< span class = "lineno" > 93</ span > {</ div >
< div class = "line" >< a id = "l00094" name = "l00094" ></ a >< span class = "lineno" > 94</ span > T max = 0;</ div >
< div class = "line" >< a id = "l00095" name = "l00095" ></ a >< span class = "lineno" > 95</ span > index = 0;</ div >
< div class = "line" >< a id = "l00096" name = "l00096" ></ a >< span class = "lineno" > 96</ span > < span class = "keywordflow" > if</ span > (!v || size == 0)</ div >
< div class = "line" >< a id = "l00097" name = "l00097" ></ a >< span class = "lineno" > 97</ span > {</ div >
< div class = "line" >< a id = "l00098" name = "l00098" ></ a >< span class = "lineno" > 98</ span > < span class = "keywordflow" > return</ span > max;</ div >
< div class = "line" >< a id = "l00099" name = "l00099" ></ a >< span class = "lineno" > 99</ span > }</ div >
< div class = "line" >< a id = "l00100" name = "l00100" ></ a >< span class = "lineno" > 100</ span > max = v[0];</ div >
< div class = "line" >< a id = "l00101" name = "l00101" ></ a >< span class = "lineno" > 101</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=1; i< size; ++i)</ div >
< div class = "line" >< a id = "l00102" name = "l00102" ></ a >< span class = "lineno" > 102</ span > {</ div >
< div class = "line" >< a id = "l00103" name = "l00103" ></ a >< span class = "lineno" > 103</ span > < span class = "keywordflow" > if</ span > (< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (max) || (max < v[i] && !< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (v[i])))</ div >
< div class = "line" >< a id = "l00104" name = "l00104" ></ a >< span class = "lineno" > 104</ span > {</ div >
< div class = "line" >< a id = "l00105" name = "l00105" ></ a >< span class = "lineno" > 105</ span > max = v[i];</ div >
< div class = "line" >< a id = "l00106" name = "l00106" ></ a >< span class = "lineno" > 106</ span > index = i;</ div >
< div class = "line" >< a id = "l00107" name = "l00107" ></ a >< span class = "lineno" > 107</ span > }</ div >
< div class = "line" >< a id = "l00108" name = "l00108" ></ a >< span class = "lineno" > 108</ span > }</ div >
< div class = "line" >< a id = "l00109" name = "l00109" ></ a >< span class = "lineno" > 109</ span > </ div >
< div class = "line" >< a id = "l00110" name = "l00110" ></ a >< span class = "lineno" > 110</ span > < span class = "keywordflow" > return</ span > max;</ div >
< div class = "line" >< a id = "l00111" name = "l00111" ></ a >< span class = "lineno" > 111</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00112" name = "l00112" ></ a >< span class = "lineno" > 112</ span > </ div >
< div class = "line" >< a id = "l00119" name = "l00119" ></ a >< span class = "lineno" > 119</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00120" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00120" name = "l00120" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a429cc62f1ca3c7a00e0062301ae60bcc" > 120</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a > (< span class = "keyword" > const</ span > std::vector< T> & v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & index)</ div >
< div class = "line" >< a id = "l00121" name = "l00121" ></ a >< span class = "lineno" > 121</ span > {</ div >
< div class = "line" >< a id = "l00122" name = "l00122" ></ a >< span class = "lineno" > 122</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a > (v.data(), v.size(), index);</ div >
< div class = "line" >< a id = "l00123" name = "l00123" ></ a >< span class = "lineno" > 123</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00124" name = "l00124" ></ a >< span class = "lineno" > 124</ span > </ div >
< div class = "line" >< a id = "l00131" name = "l00131" ></ a >< span class = "lineno" > 131</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00132" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00132" name = "l00132" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a387b43468da220548d025010be075476" > 132</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size)</ div >
< div class = "line" >< a id = "l00133" name = "l00133" ></ a >< span class = "lineno" > 133</ span > {</ div >
< div class = "line" >< a id = "l00134" name = "l00134" ></ a >< span class = "lineno" > 134</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > index;</ div >
< div class = "line" >< a id = "l00135" name = "l00135" ></ a >< span class = "lineno" > 135</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a > (v, size, index);</ div >
< div class = "line" >< a id = "l00136" name = "l00136" ></ a >< span class = "lineno" > 136</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00137" name = "l00137" ></ a >< span class = "lineno" > 137</ span > </ div >
< div class = "line" >< a id = "l00143" name = "l00143" ></ a >< span class = "lineno" > 143</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00144" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00144" name = "l00144" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a0aef304a0891fafcef581dcfbf3ac792" > 144</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00145" name = "l00145" ></ a >< span class = "lineno" > 145</ span > {</ div >
< div class = "line" >< a id = "l00146" name = "l00146" ></ a >< span class = "lineno" > 146</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a > (v.data(), v.size());</ div >
< div class = "line" >< a id = "l00147" name = "l00147" ></ a >< span class = "lineno" > 147</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00148" name = "l00148" ></ a >< span class = "lineno" > 148</ span > </ div >
< div class = "line" >< a id = "l00156" name = "l00156" ></ a >< span class = "lineno" > 156</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00157" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00157" name = "l00157" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > 157</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & index)</ div >
< div class = "line" >< a id = "l00158" name = "l00158" ></ a >< span class = "lineno" > 158</ span > {</ div >
< div class = "line" >< a id = "l00159" name = "l00159" ></ a >< span class = "lineno" > 159</ span > T min = 0;</ div >
< div class = "line" >< a id = "l00160" name = "l00160" ></ a >< span class = "lineno" > 160</ span > index = 0;</ div >
< div class = "line" >< a id = "l00161" name = "l00161" ></ a >< span class = "lineno" > 161</ span > < span class = "keywordflow" > if</ span > (!v || size == 0)</ div >
< div class = "line" >< a id = "l00162" name = "l00162" ></ a >< span class = "lineno" > 162</ span > {</ div >
< div class = "line" >< a id = "l00163" name = "l00163" ></ a >< span class = "lineno" > 163</ span > < span class = "keywordflow" > return</ span > min;</ div >
< div class = "line" >< a id = "l00164" name = "l00164" ></ a >< span class = "lineno" > 164</ span > }</ div >
< div class = "line" >< a id = "l00165" name = "l00165" ></ a >< span class = "lineno" > 165</ span > min = v[0];</ div >
< div class = "line" >< a id = "l00166" name = "l00166" ></ a >< span class = "lineno" > 166</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=1; i< size; ++i)</ div >
< div class = "line" >< a id = "l00167" name = "l00167" ></ a >< span class = "lineno" > 167</ span > {</ div >
< div class = "line" >< a id = "l00168" name = "l00168" ></ a >< span class = "lineno" > 168</ span > < span class = "keywordflow" > if</ span > (< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (min) || (min > v[i] && !< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (v[i])))</ div >
< div class = "line" >< a id = "l00169" name = "l00169" ></ a >< span class = "lineno" > 169</ span > {</ div >
< div class = "line" >< a id = "l00170" name = "l00170" ></ a >< span class = "lineno" > 170</ span > min = v[i];</ div >
< div class = "line" >< a id = "l00171" name = "l00171" ></ a >< span class = "lineno" > 171</ span > index = i;</ div >
< div class = "line" >< a id = "l00172" name = "l00172" ></ a >< span class = "lineno" > 172</ span > }</ div >
< div class = "line" >< a id = "l00173" name = "l00173" ></ a >< span class = "lineno" > 173</ span > }</ div >
< div class = "line" >< a id = "l00174" name = "l00174" ></ a >< span class = "lineno" > 174</ span > </ div >
< div class = "line" >< a id = "l00175" name = "l00175" ></ a >< span class = "lineno" > 175</ span > < span class = "keywordflow" > return</ span > min;</ div >
< div class = "line" >< a id = "l00176" name = "l00176" ></ a >< span class = "lineno" > 176</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00177" name = "l00177" ></ a >< span class = "lineno" > 177</ span > </ div >
< div class = "line" >< a id = "l00184" name = "l00184" ></ a >< span class = "lineno" > 184</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00185" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00185" name = "l00185" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a99bd3bc365630c1760432cf810ea5831" > 185</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a > (< span class = "keyword" > const</ span > std::vector< T> & v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & index)</ div >
< div class = "line" >< a id = "l00186" name = "l00186" ></ a >< span class = "lineno" > 186</ span > {</ div >
< div class = "line" >< a id = "l00187" name = "l00187" ></ a >< span class = "lineno" > 187</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a > (v.data(), v.size(), index);</ div >
< div class = "line" >< a id = "l00188" name = "l00188" ></ a >< span class = "lineno" > 188</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00189" name = "l00189" ></ a >< span class = "lineno" > 189</ span > </ div >
< div class = "line" >< a id = "l00196" name = "l00196" ></ a >< span class = "lineno" > 196</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00197" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00197" name = "l00197" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a68e11ea992520b98d4e688f8853b5dc4" > 197</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size)</ div >
< div class = "line" >< a id = "l00198" name = "l00198" ></ a >< span class = "lineno" > 198</ span > {</ div >
< div class = "line" >< a id = "l00199" name = "l00199" ></ a >< span class = "lineno" > 199</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > index;</ div >
< div class = "line" >< a id = "l00200" name = "l00200" ></ a >< span class = "lineno" > 200</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a > (v, size, index);</ div >
< div class = "line" >< a id = "l00201" name = "l00201" ></ a >< span class = "lineno" > 201</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00202" name = "l00202" ></ a >< span class = "lineno" > 202</ span > </ div >
< div class = "line" >< a id = "l00208" name = "l00208" ></ a >< span class = "lineno" > 208</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00209" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00209" name = "l00209" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#aeb0652d64e72d115d751f8186ac9016e" > 209</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00210" name = "l00210" ></ a >< span class = "lineno" > 210</ span > {</ div >
< div class = "line" >< a id = "l00211" name = "l00211" ></ a >< span class = "lineno" > 211</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a > (v.data(), v.size());</ div >
< div class = "line" >< a id = "l00212" name = "l00212" ></ a >< span class = "lineno" > 212</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00213" name = "l00213" ></ a >< span class = "lineno" > 213</ span > </ div >
< div class = "line" >< a id = "l00223" name = "l00223" ></ a >< span class = "lineno" > 223</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00224" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00224" name = "l00224" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > 224</ a ></ span >< span class = "keyword" > inline</ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size, T & min, T & max, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & indexMin, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & indexMax)</ div >
< div class = "line" >< a id = "l00225" name = "l00225" ></ a >< span class = "lineno" > 225</ span > {</ div >
< div class = "line" >< a id = "l00226" name = "l00226" ></ a >< span class = "lineno" > 226</ span > min = 0;</ div >
< div class = "line" >< a id = "l00227" name = "l00227" ></ a >< span class = "lineno" > 227</ span > max = 0;</ div >
< div class = "line" >< a id = "l00228" name = "l00228" ></ a >< span class = "lineno" > 228</ span > indexMin = 0;</ div >
< div class = "line" >< a id = "l00229" name = "l00229" ></ a >< span class = "lineno" > 229</ span > indexMax = 0;</ div >
< div class = "line" >< a id = "l00230" name = "l00230" ></ a >< span class = "lineno" > 230</ span > < span class = "keywordflow" > if</ span > (!v || size == 0)</ div >
< div class = "line" >< a id = "l00231" name = "l00231" ></ a >< span class = "lineno" > 231</ span > {</ div >
< div class = "line" >< a id = "l00232" name = "l00232" ></ a >< span class = "lineno" > 232</ span > < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a id = "l00233" name = "l00233" ></ a >< span class = "lineno" > 233</ span > }</ div >
< div class = "line" >< a id = "l00234" name = "l00234" ></ a >< span class = "lineno" > 234</ span > min = v[0];</ div >
< div class = "line" >< a id = "l00235" name = "l00235" ></ a >< span class = "lineno" > 235</ span > max = v[0];</ div >
< div class = "line" >< a id = "l00236" name = "l00236" ></ a >< span class = "lineno" > 236</ span > </ div >
< div class = "line" >< a id = "l00237" name = "l00237" ></ a >< span class = "lineno" > 237</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=1; i< size; ++i)</ div >
< div class = "line" >< a id = "l00238" name = "l00238" ></ a >< span class = "lineno" > 238</ span > {</ div >
< div class = "line" >< a id = "l00239" name = "l00239" ></ a >< span class = "lineno" > 239</ span > < span class = "keywordflow" > if</ span > (< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (min) || (min > v[i] && !< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (v[i])))</ div >
< div class = "line" >< a id = "l00240" name = "l00240" ></ a >< span class = "lineno" > 240</ span > {</ div >
< div class = "line" >< a id = "l00241" name = "l00241" ></ a >< span class = "lineno" > 241</ span > min = v[i];</ div >
< div class = "line" >< a id = "l00242" name = "l00242" ></ a >< span class = "lineno" > 242</ span > indexMin = i;</ div >
< div class = "line" >< a id = "l00243" name = "l00243" ></ a >< span class = "lineno" > 243</ span > }</ div >
< div class = "line" >< a id = "l00244" name = "l00244" ></ a >< span class = "lineno" > 244</ span > </ div >
< div class = "line" >< a id = "l00245" name = "l00245" ></ a >< span class = "lineno" > 245</ span > < span class = "keywordflow" > if</ span > (< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (max) || (max < v[i] && !< a class = "code hl_function" href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a > (v[i])))</ div >
< div class = "line" >< a id = "l00246" name = "l00246" ></ a >< span class = "lineno" > 246</ span > {</ div >
< div class = "line" >< a id = "l00247" name = "l00247" ></ a >< span class = "lineno" > 247</ span > max = v[i];</ div >
< div class = "line" >< a id = "l00248" name = "l00248" ></ a >< span class = "lineno" > 248</ span > indexMax = i;</ div >
< div class = "line" >< a id = "l00249" name = "l00249" ></ a >< span class = "lineno" > 249</ span > }</ div >
< div class = "line" >< a id = "l00250" name = "l00250" ></ a >< span class = "lineno" > 250</ span > }</ div >
< div class = "line" >< a id = "l00251" name = "l00251" ></ a >< span class = "lineno" > 251</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00252" name = "l00252" ></ a >< span class = "lineno" > 252</ span > </ div >
< div class = "line" >< a id = "l00261" name = "l00261" ></ a >< span class = "lineno" > 261</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00262" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00262" name = "l00262" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a23b93249fbe3eebc9d95104f4f8cafff" > 262</ a ></ span >< span class = "keyword" > inline</ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a > (< span class = "keyword" > const</ span > std::vector< T> & v, T & min, T & max, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & indexMin, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & indexMax)</ div >
< div class = "line" >< a id = "l00263" name = "l00263" ></ a >< span class = "lineno" > 263</ span > {</ div >
< div class = "line" >< a id = "l00264" name = "l00264" ></ a >< span class = "lineno" > 264</ span > < a class = "code hl_function" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a > (v.data(), v.size(), min, max, indexMin, indexMax);</ div >
< div class = "line" >< a id = "l00265" name = "l00265" ></ a >< span class = "lineno" > 265</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00266" name = "l00266" ></ a >< span class = "lineno" > 266</ span > </ div >
< div class = "line" >< a id = "l00274" name = "l00274" ></ a >< span class = "lineno" > 274</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00275" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00275" name = "l00275" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a9cc051a73d402e69919d8fcea51c3098" > 275</ a ></ span >< span class = "keyword" > inline</ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size, T & min, T & max)</ div >
< div class = "line" >< a id = "l00276" name = "l00276" ></ a >< span class = "lineno" > 276</ span > {</ div >
< div class = "line" >< a id = "l00277" name = "l00277" ></ a >< span class = "lineno" > 277</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > indexMin;</ div >
< div class = "line" >< a id = "l00278" name = "l00278" ></ a >< span class = "lineno" > 278</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > indexMax;</ div >
< div class = "line" >< a id = "l00279" name = "l00279" ></ a >< span class = "lineno" > 279</ span > < a class = "code hl_function" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a > (v, size, min, max, indexMin, indexMax);</ div >
< div class = "line" >< a id = "l00280" name = "l00280" ></ a >< span class = "lineno" > 280</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00281" name = "l00281" ></ a >< span class = "lineno" > 281</ span > </ div >
< div class = "line" >< a id = "l00288" name = "l00288" ></ a >< span class = "lineno" > 288</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00289" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00289" name = "l00289" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#af5f7ebda9d440043cd3c57037e81318b" > 289</ a ></ span >< span class = "keyword" > inline</ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a > (< span class = "keyword" > const</ span > std::vector< T> & v, T & min, T & max)</ div >
< div class = "line" >< a id = "l00290" name = "l00290" ></ a >< span class = "lineno" > 290</ span > {</ div >
< div class = "line" >< a id = "l00291" name = "l00291" ></ a >< span class = "lineno" > 291</ span > < a class = "code hl_function" href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a > (v.data(), v.size(), min, max);</ div >
< div class = "line" >< a id = "l00292" name = "l00292" ></ a >< span class = "lineno" > 292</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00293" name = "l00293" ></ a >< span class = "lineno" > 293</ span > </ div >
< div class = "line" >< a id = "l00299" name = "l00299" ></ a >< span class = "lineno" > 299</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00300" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00300" name = "l00300" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a6e100ed2031a529679a93b9b4bf818af" > 300</ a ></ span >< span class = "keyword" > inline</ span > < span class = "keywordtype" > int</ span > < a class = "code hl_function" href = "UMath_8h.html#a6e100ed2031a529679a93b9b4bf818af" > uSign</ a > (< span class = "keyword" > const</ span > T & v)</ div >
< div class = "line" >< a id = "l00301" name = "l00301" ></ a >< span class = "lineno" > 301</ span > {</ div >
< div class = "line" >< a id = "l00302" name = "l00302" ></ a >< span class = "lineno" > 302</ span > < span class = "keywordflow" > if</ span > (v < 0)</ div >
< div class = "line" >< a id = "l00303" name = "l00303" ></ a >< span class = "lineno" > 303</ span > {</ div >
< div class = "line" >< a id = "l00304" name = "l00304" ></ a >< span class = "lineno" > 304</ span > < span class = "keywordflow" > return</ span > -1;</ div >
< div class = "line" >< a id = "l00305" name = "l00305" ></ a >< span class = "lineno" > 305</ span > }</ div >
< div class = "line" >< a id = "l00306" name = "l00306" ></ a >< span class = "lineno" > 306</ span > < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a id = "l00307" name = "l00307" ></ a >< span class = "lineno" > 307</ span > {</ div >
< div class = "line" >< a id = "l00308" name = "l00308" ></ a >< span class = "lineno" > 308</ span > < span class = "keywordflow" > return</ span > 1;</ div >
< div class = "line" >< a id = "l00309" name = "l00309" ></ a >< span class = "lineno" > 309</ span > }</ div >
< div class = "line" >< a id = "l00310" name = "l00310" ></ a >< span class = "lineno" > 310</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00311" name = "l00311" ></ a >< span class = "lineno" > 311</ span > </ div >
< div class = "line" >< a id = "l00317" name = "l00317" ></ a >< span class = "lineno" > 317</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00318" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00318" name = "l00318" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a81a1c24c0229e6c4dc8d8e09497ad114" > 318</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a81a1c24c0229e6c4dc8d8e09497ad114" > uSum</ a > (< span class = "keyword" > const</ span > std::list< T> & list)</ div >
< div class = "line" >< a id = "l00319" name = "l00319" ></ a >< span class = "lineno" > 319</ span > {</ div >
< div class = "line" >< a id = "l00320" name = "l00320" ></ a >< span class = "lineno" > 320</ span > T sum = 0;</ div >
< div class = "line" >< a id = "l00321" name = "l00321" ></ a >< span class = "lineno" > 321</ span > < span class = "keywordflow" > for</ span > (< span class = "keyword" > typename</ span > std::list< T> ::const_iterator i=list.begin(); i!=list.end(); ++i)</ div >
< div class = "line" >< a id = "l00322" name = "l00322" ></ a >< span class = "lineno" > 322</ span > {</ div >
< div class = "line" >< a id = "l00323" name = "l00323" ></ a >< span class = "lineno" > 323</ span > sum += *i;</ div >
< div class = "line" >< a id = "l00324" name = "l00324" ></ a >< span class = "lineno" > 324</ span > }</ div >
< div class = "line" >< a id = "l00325" name = "l00325" ></ a >< span class = "lineno" > 325</ span > < span class = "keywordflow" > return</ span > sum;</ div >
< div class = "line" >< a id = "l00326" name = "l00326" ></ a >< span class = "lineno" > 326</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00327" name = "l00327" ></ a >< span class = "lineno" > 327</ span > </ div >
< div class = "line" >< a id = "l00334" name = "l00334" ></ a >< span class = "lineno" > 334</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00335" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00335" name = "l00335" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a86599e95ecdc91ce2d9497985d5d642b" > 335</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a81a1c24c0229e6c4dc8d8e09497ad114" > uSum</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size)</ div >
< div class = "line" >< a id = "l00336" name = "l00336" ></ a >< span class = "lineno" > 336</ span > {</ div >
< div class = "line" >< a id = "l00337" name = "l00337" ></ a >< span class = "lineno" > 337</ span > T sum = 0;</ div >
< div class = "line" >< a id = "l00338" name = "l00338" ></ a >< span class = "lineno" > 338</ span > < span class = "keywordflow" > if</ span > (v && size)</ div >
< div class = "line" >< a id = "l00339" name = "l00339" ></ a >< span class = "lineno" > 339</ span > {</ div >
< div class = "line" >< a id = "l00340" name = "l00340" ></ a >< span class = "lineno" > 340</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< size; ++i)</ div >
< div class = "line" >< a id = "l00341" name = "l00341" ></ a >< span class = "lineno" > 341</ span > {</ div >
< div class = "line" >< a id = "l00342" name = "l00342" ></ a >< span class = "lineno" > 342</ span > sum += v[i];</ div >
< div class = "line" >< a id = "l00343" name = "l00343" ></ a >< span class = "lineno" > 343</ span > }</ div >
< div class = "line" >< a id = "l00344" name = "l00344" ></ a >< span class = "lineno" > 344</ span > }</ div >
< div class = "line" >< a id = "l00345" name = "l00345" ></ a >< span class = "lineno" > 345</ span > < span class = "keywordflow" > return</ span > sum;</ div >
< div class = "line" >< a id = "l00346" name = "l00346" ></ a >< span class = "lineno" > 346</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00347" name = "l00347" ></ a >< span class = "lineno" > 347</ span > </ div >
< div class = "line" >< a id = "l00353" name = "l00353" ></ a >< span class = "lineno" > 353</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00354" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00354" name = "l00354" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#af15f0fa694931f0f99ba640d52539b09" > 354</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a81a1c24c0229e6c4dc8d8e09497ad114" > uSum</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00355" name = "l00355" ></ a >< span class = "lineno" > 355</ span > {</ div >
< div class = "line" >< a id = "l00356" name = "l00356" ></ a >< span class = "lineno" > 356</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a81a1c24c0229e6c4dc8d8e09497ad114" > uSum</ a > (v.data(), (< span class = "keywordtype" > int</ span > )v.size());</ div >
< div class = "line" >< a id = "l00357" name = "l00357" ></ a >< span class = "lineno" > 357</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00358" name = "l00358" ></ a >< span class = "lineno" > 358</ span > </ div >
< div class = "line" >< a id = "l00366" name = "l00366" ></ a >< span class = "lineno" > 366</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00367" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00367" name = "l00367" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > 367</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size, T subtract = T())</ div >
< div class = "line" >< a id = "l00368" name = "l00368" ></ a >< span class = "lineno" > 368</ span > {</ div >
< div class = "line" >< a id = "l00369" name = "l00369" ></ a >< span class = "lineno" > 369</ span > T sum = 0;</ div >
< div class = "line" >< a id = "l00370" name = "l00370" ></ a >< span class = "lineno" > 370</ span > < span class = "keywordflow" > if</ span > (v && size)</ div >
< div class = "line" >< a id = "l00371" name = "l00371" ></ a >< span class = "lineno" > 371</ span > {</ div >
< div class = "line" >< a id = "l00372" name = "l00372" ></ a >< span class = "lineno" > 372</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< size; ++i)</ div >
< div class = "line" >< a id = "l00373" name = "l00373" ></ a >< span class = "lineno" > 373</ span > {</ div >
< div class = "line" >< a id = "l00374" name = "l00374" ></ a >< span class = "lineno" > 374</ span > sum += (v[i]-subtract)*(v[i]-subtract);</ div >
< div class = "line" >< a id = "l00375" name = "l00375" ></ a >< span class = "lineno" > 375</ span > }</ div >
< div class = "line" >< a id = "l00376" name = "l00376" ></ a >< span class = "lineno" > 376</ span > }</ div >
< div class = "line" >< a id = "l00377" name = "l00377" ></ a >< span class = "lineno" > 377</ span > < span class = "keywordflow" > return</ span > sum;</ div >
< div class = "line" >< a id = "l00378" name = "l00378" ></ a >< span class = "lineno" > 378</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00379" name = "l00379" ></ a >< span class = "lineno" > 379</ span > </ div >
< div class = "line" >< a id = "l00386" name = "l00386" ></ a >< span class = "lineno" > 386</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00387" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00387" name = "l00387" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a94be0f1c509db2f294048e6d5b16a522" > 387</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a > (< span class = "keyword" > const</ span > std::vector< T> & v, T subtract = T())</ div >
< div class = "line" >< a id = "l00388" name = "l00388" ></ a >< span class = "lineno" > 388</ span > {</ div >
< div class = "line" >< a id = "l00389" name = "l00389" ></ a >< span class = "lineno" > 389</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a > (v.data(), v.size(), subtract);</ div >
< div class = "line" >< a id = "l00390" name = "l00390" ></ a >< span class = "lineno" > 390</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00391" name = "l00391" ></ a >< span class = "lineno" > 391</ span > </ div >
< div class = "line" >< a id = "l00398" name = "l00398" ></ a >< span class = "lineno" > 398</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00399" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00399" name = "l00399" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > 399</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size)</ div >
< div class = "line" >< a id = "l00400" name = "l00400" ></ a >< span class = "lineno" > 400</ span > {</ div >
< div class = "line" >< a id = "l00401" name = "l00401" ></ a >< span class = "lineno" > 401</ span > T buf = 0;</ div >
< div class = "line" >< a id = "l00402" name = "l00402" ></ a >< span class = "lineno" > 402</ span > < span class = "keywordflow" > if</ span > (v && size)</ div >
< div class = "line" >< a id = "l00403" name = "l00403" ></ a >< span class = "lineno" > 403</ span > {</ div >
< div class = "line" >< a id = "l00404" name = "l00404" ></ a >< span class = "lineno" > 404</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< size; ++i)</ div >
< div class = "line" >< a id = "l00405" name = "l00405" ></ a >< span class = "lineno" > 405</ span > {</ div >
< div class = "line" >< a id = "l00406" name = "l00406" ></ a >< span class = "lineno" > 406</ span > buf += v[i];</ div >
< div class = "line" >< a id = "l00407" name = "l00407" ></ a >< span class = "lineno" > 407</ span > }</ div >
< div class = "line" >< a id = "l00408" name = "l00408" ></ a >< span class = "lineno" > 408</ span > buf /= size;</ div >
< div class = "line" >< a id = "l00409" name = "l00409" ></ a >< span class = "lineno" > 409</ span > }</ div >
< div class = "line" >< a id = "l00410" name = "l00410" ></ a >< span class = "lineno" > 410</ span > < span class = "keywordflow" > return</ span > buf;</ div >
< div class = "line" >< a id = "l00411" name = "l00411" ></ a >< span class = "lineno" > 411</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00412" name = "l00412" ></ a >< span class = "lineno" > 412</ span > </ div >
< div class = "line" >< a id = "l00418" name = "l00418" ></ a >< span class = "lineno" > 418</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00419" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00419" name = "l00419" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#aa4e1e6cf3df49d68d95bbe9981d1600e" > 419</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (< span class = "keyword" > const</ span > std::list< T> & list)</ div >
< div class = "line" >< a id = "l00420" name = "l00420" ></ a >< span class = "lineno" > 420</ span > {</ div >
< div class = "line" >< a id = "l00421" name = "l00421" ></ a >< span class = "lineno" > 421</ span > T m = 0;</ div >
< div class = "line" >< a id = "l00422" name = "l00422" ></ a >< span class = "lineno" > 422</ span > < span class = "keywordflow" > if</ span > (list.size())</ div >
< div class = "line" >< a id = "l00423" name = "l00423" ></ a >< span class = "lineno" > 423</ span > {</ div >
< div class = "line" >< a id = "l00424" name = "l00424" ></ a >< span class = "lineno" > 424</ span > < span class = "keywordflow" > for</ span > (< span class = "keyword" > typename</ span > std::list< T> ::const_iterator i=list.begin(); i!=list.end(); ++i)</ div >
< div class = "line" >< a id = "l00425" name = "l00425" ></ a >< span class = "lineno" > 425</ span > {</ div >
< div class = "line" >< a id = "l00426" name = "l00426" ></ a >< span class = "lineno" > 426</ span > m += *i;</ div >
< div class = "line" >< a id = "l00427" name = "l00427" ></ a >< span class = "lineno" > 427</ span > }</ div >
< div class = "line" >< a id = "l00428" name = "l00428" ></ a >< span class = "lineno" > 428</ span > m /= list.size();</ div >
< div class = "line" >< a id = "l00429" name = "l00429" ></ a >< span class = "lineno" > 429</ span > }</ div >
< div class = "line" >< a id = "l00430" name = "l00430" ></ a >< span class = "lineno" > 430</ span > < span class = "keywordflow" > return</ span > m;</ div >
< div class = "line" >< a id = "l00431" name = "l00431" ></ a >< span class = "lineno" > 431</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00432" name = "l00432" ></ a >< span class = "lineno" > 432</ span > </ div >
< div class = "line" >< a id = "l00438" name = "l00438" ></ a >< span class = "lineno" > 438</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00439" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00439" name = "l00439" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a8c8cd8ce7b3d8f32847bb57e9f73a625" > 439</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00440" name = "l00440" ></ a >< span class = "lineno" > 440</ span > {</ div >
< div class = "line" >< a id = "l00441" name = "l00441" ></ a >< span class = "lineno" > 441</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (v.data(), v.size());</ div >
< div class = "line" >< a id = "l00442" name = "l00442" ></ a >< span class = "lineno" > 442</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00443" name = "l00443" ></ a >< span class = "lineno" > 443</ span > </ div >
< div class = "line" >< a id = "l00452" name = "l00452" ></ a >< span class = "lineno" > 452</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00453" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00453" name = "l00453" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a28770817787def2a9165ed070fa17a54" > 453</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a28770817787def2a9165ed070fa17a54" > uMeanSquaredError</ a > (< span class = "keyword" > const</ span > T * x, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > sizeX, < span class = "keyword" > const</ span > T * y, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > sizeY)</ div >
< div class = "line" >< a id = "l00454" name = "l00454" ></ a >< span class = "lineno" > 454</ span > {</ div >
< div class = "line" >< a id = "l00455" name = "l00455" ></ a >< span class = "lineno" > 455</ span > T sum = 0;</ div >
< div class = "line" >< a id = "l00456" name = "l00456" ></ a >< span class = "lineno" > 456</ span > < span class = "keywordflow" > if</ span > (x && y && sizeX == sizeY)</ div >
< div class = "line" >< a id = "l00457" name = "l00457" ></ a >< span class = "lineno" > 457</ span > {</ div >
< div class = "line" >< a id = "l00458" name = "l00458" ></ a >< span class = "lineno" > 458</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< sizeX; ++i)</ div >
< div class = "line" >< a id = "l00459" name = "l00459" ></ a >< span class = "lineno" > 459</ span > {</ div >
< div class = "line" >< a id = "l00460" name = "l00460" ></ a >< span class = "lineno" > 460</ span > T diff = x[i]-y[i];</ div >
< div class = "line" >< a id = "l00461" name = "l00461" ></ a >< span class = "lineno" > 461</ span > sum += diff*diff;</ div >
< div class = "line" >< a id = "l00462" name = "l00462" ></ a >< span class = "lineno" > 462</ span > }</ div >
< div class = "line" >< a id = "l00463" name = "l00463" ></ a >< span class = "lineno" > 463</ span > < span class = "keywordflow" > return</ span > sum/(T)sizeX;</ div >
< div class = "line" >< a id = "l00464" name = "l00464" ></ a >< span class = "lineno" > 464</ span > }</ div >
< div class = "line" >< a id = "l00465" name = "l00465" ></ a >< span class = "lineno" > 465</ span > < span class = "keywordflow" > return</ span > (T)-1;</ div >
< div class = "line" >< a id = "l00466" name = "l00466" ></ a >< span class = "lineno" > 466</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00467" name = "l00467" ></ a >< span class = "lineno" > 467</ span > </ div >
< div class = "line" >< a id = "l00474" name = "l00474" ></ a >< span class = "lineno" > 474</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00475" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00475" name = "l00475" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a319bcffddfeab66d5cbb729fa56dd361" > 475</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a28770817787def2a9165ed070fa17a54" > uMeanSquaredError</ a > (< span class = "keyword" > const</ span > std::vector< T> & x, < span class = "keyword" > const</ span > std::vector< T> & y)</ div >
< div class = "line" >< a id = "l00476" name = "l00476" ></ a >< span class = "lineno" > 476</ span > {</ div >
< div class = "line" >< a id = "l00477" name = "l00477" ></ a >< span class = "lineno" > 477</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a28770817787def2a9165ed070fa17a54" > uMeanSquaredError</ a > (x.data(), x.size(), y.data(), y.size());</ div >
< div class = "line" >< a id = "l00478" name = "l00478" ></ a >< span class = "lineno" > 478</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00479" name = "l00479" ></ a >< span class = "lineno" > 479</ span > </ div >
< div class = "line" >< a id = "l00488" name = "l00488" ></ a >< span class = "lineno" > 488</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00489" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00489" name = "l00489" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > 489</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > uVariance</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size, T meanV)</ div >
< div class = "line" >< a id = "l00490" name = "l00490" ></ a >< span class = "lineno" > 490</ span > {</ div >
< div class = "line" >< a id = "l00491" name = "l00491" ></ a >< span class = "lineno" > 491</ span > T buf = 0;</ div >
< div class = "line" >< a id = "l00492" name = "l00492" ></ a >< span class = "lineno" > 492</ span > < span class = "keywordflow" > if</ span > (v && size> 1)</ div >
< div class = "line" >< a id = "l00493" name = "l00493" ></ a >< span class = "lineno" > 493</ span > {</ div >
< div class = "line" >< a id = "l00494" name = "l00494" ></ a >< span class = "lineno" > 494</ span > < span class = "keywordtype" > float</ span > sum = 0;</ div >
< div class = "line" >< a id = "l00495" name = "l00495" ></ a >< span class = "lineno" > 495</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< size; ++i)</ div >
< div class = "line" >< a id = "l00496" name = "l00496" ></ a >< span class = "lineno" > 496</ span > {</ div >
< div class = "line" >< a id = "l00497" name = "l00497" ></ a >< span class = "lineno" > 497</ span > sum += (v[i]-meanV)*(v[i]-meanV);</ div >
< div class = "line" >< a id = "l00498" name = "l00498" ></ a >< span class = "lineno" > 498</ span > }</ div >
< div class = "line" >< a id = "l00499" name = "l00499" ></ a >< span class = "lineno" > 499</ span > buf = sum/(size-1);</ div >
< div class = "line" >< a id = "l00500" name = "l00500" ></ a >< span class = "lineno" > 500</ span > }</ div >
< div class = "line" >< a id = "l00501" name = "l00501" ></ a >< span class = "lineno" > 501</ span > < span class = "keywordflow" > return</ span > buf;</ div >
< div class = "line" >< a id = "l00502" name = "l00502" ></ a >< span class = "lineno" > 502</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00503" name = "l00503" ></ a >< span class = "lineno" > 503</ span > </ div >
< div class = "line" >< a id = "l00511" name = "l00511" ></ a >< span class = "lineno" > 511</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00512" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00512" name = "l00512" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#aa6ea127b567072434a5616bcc1c1f6e3" > 512</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > uVariance</ a > (< span class = "keyword" > const</ span > std::list< T> & list, < span class = "keyword" > const</ span > T & m)</ div >
< div class = "line" >< a id = "l00513" name = "l00513" ></ a >< span class = "lineno" > 513</ span > {</ div >
< div class = "line" >< a id = "l00514" name = "l00514" ></ a >< span class = "lineno" > 514</ span > T buf = 0;</ div >
< div class = "line" >< a id = "l00515" name = "l00515" ></ a >< span class = "lineno" > 515</ span > < span class = "keywordflow" > if</ span > (list.size()> 1)</ div >
< div class = "line" >< a id = "l00516" name = "l00516" ></ a >< span class = "lineno" > 516</ span > {</ div >
< div class = "line" >< a id = "l00517" name = "l00517" ></ a >< span class = "lineno" > 517</ span > < span class = "keywordtype" > float</ span > sum = 0;</ div >
< div class = "line" >< a id = "l00518" name = "l00518" ></ a >< span class = "lineno" > 518</ span > < span class = "keywordflow" > for</ span > (< span class = "keyword" > typename</ span > std::list< T> ::const_iterator i=list.begin(); i!=list.end(); ++i)</ div >
< div class = "line" >< a id = "l00519" name = "l00519" ></ a >< span class = "lineno" > 519</ span > {</ div >
< div class = "line" >< a id = "l00520" name = "l00520" ></ a >< span class = "lineno" > 520</ span > sum += (*i-m)*(*i-m);</ div >
< div class = "line" >< a id = "l00521" name = "l00521" ></ a >< span class = "lineno" > 521</ span > }</ div >
< div class = "line" >< a id = "l00522" name = "l00522" ></ a >< span class = "lineno" > 522</ span > buf = sum/(list.size()-1);</ div >
< div class = "line" >< a id = "l00523" name = "l00523" ></ a >< span class = "lineno" > 523</ span > }</ div >
< div class = "line" >< a id = "l00524" name = "l00524" ></ a >< span class = "lineno" > 524</ span > < span class = "keywordflow" > return</ span > buf;</ div >
< div class = "line" >< a id = "l00525" name = "l00525" ></ a >< span class = "lineno" > 525</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00526" name = "l00526" ></ a >< span class = "lineno" > 526</ span > </ div >
< div class = "line" >< a id = "l00533" name = "l00533" ></ a >< span class = "lineno" > 533</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00534" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00534" name = "l00534" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a0aa8de7d20731bcae07d956256e293f6" > 534</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > uVariance</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size)</ div >
< div class = "line" >< a id = "l00535" name = "l00535" ></ a >< span class = "lineno" > 535</ span > {</ div >
< div class = "line" >< a id = "l00536" name = "l00536" ></ a >< span class = "lineno" > 536</ span > T m = < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (v, size);</ div >
< div class = "line" >< a id = "l00537" name = "l00537" ></ a >< span class = "lineno" > 537</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > uVariance</ a > (v, size, m);</ div >
< div class = "line" >< a id = "l00538" name = "l00538" ></ a >< span class = "lineno" > 538</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00539" name = "l00539" ></ a >< span class = "lineno" > 539</ span > </ div >
< div class = "line" >< a id = "l00547" name = "l00547" ></ a >< span class = "lineno" > 547</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00548" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00548" name = "l00548" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a8d443d065900ca7096d08c9431fef71f" > 548</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > uVariance</ a > (< span class = "keyword" > const</ span > std::vector< T> & v, < span class = "keyword" > const</ span > T & m)</ div >
< div class = "line" >< a id = "l00549" name = "l00549" ></ a >< span class = "lineno" > 549</ span > {</ div >
< div class = "line" >< a id = "l00550" name = "l00550" ></ a >< span class = "lineno" > 550</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > uVariance</ a > (v.data(), v.size(), m);</ div >
< div class = "line" >< a id = "l00551" name = "l00551" ></ a >< span class = "lineno" > 551</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00552" name = "l00552" ></ a >< span class = "lineno" > 552</ span > </ div >
< div class = "line" >< a id = "l00557" name = "l00557" ></ a >< span class = "lineno" > 557</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00558" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00558" name = "l00558" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > 558</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > uNormSquared</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00559" name = "l00559" ></ a >< span class = "lineno" > 559</ span > {</ div >
< div class = "line" >< a id = "l00560" name = "l00560" ></ a >< span class = "lineno" > 560</ span > < span class = "keywordtype" > float</ span > sum = 0.0f;</ div >
< div class = "line" >< a id = "l00561" name = "l00561" ></ a >< span class = "lineno" > 561</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< v.size(); ++i)</ div >
< div class = "line" >< a id = "l00562" name = "l00562" ></ a >< span class = "lineno" > 562</ span > {</ div >
< div class = "line" >< a id = "l00563" name = "l00563" ></ a >< span class = "lineno" > 563</ span > sum += v[i]*v[i];</ div >
< div class = "line" >< a id = "l00564" name = "l00564" ></ a >< span class = "lineno" > 564</ span > }</ div >
< div class = "line" >< a id = "l00565" name = "l00565" ></ a >< span class = "lineno" > 565</ span > < span class = "keywordflow" > return</ span > sum;</ div >
< div class = "line" >< a id = "l00566" name = "l00566" ></ a >< span class = "lineno" > 566</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00567" name = "l00567" ></ a >< span class = "lineno" > 567</ span > </ div >
< div class = "line" >< a id = "l00572" name = "l00572" ></ a >< span class = "lineno" > 572</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00573" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00573" name = "l00573" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#ab5e611c29307d8733cfaebc68bed1ac6" > 573</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#ab5e611c29307d8733cfaebc68bed1ac6" > uNorm</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00574" name = "l00574" ></ a >< span class = "lineno" > 574</ span > {</ div >
< div class = "line" >< a id = "l00575" name = "l00575" ></ a >< span class = "lineno" > 575</ span > < span class = "keywordflow" > return</ span > std::sqrt(< a class = "code hl_function" href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > uNormSquared</ a > (v));</ div >
< div class = "line" >< a id = "l00576" name = "l00576" ></ a >< span class = "lineno" > 576</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00577" name = "l00577" ></ a >< span class = "lineno" > 577</ span > </ div >
< div class = "line" >< a id = "l00582" name = "l00582" ></ a >< span class = "lineno" > 582</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00583" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00583" name = "l00583" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#aea5fd5d0bd9afdb11c765584c89a5f8f" > 583</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > uNormSquared</ a > (< span class = "keyword" > const</ span > T & x1, < span class = "keyword" > const</ span > T & x2)</ div >
< div class = "line" >< a id = "l00584" name = "l00584" ></ a >< span class = "lineno" > 584</ span > {</ div >
< div class = "line" >< a id = "l00585" name = "l00585" ></ a >< span class = "lineno" > 585</ span > < span class = "keywordflow" > return</ span > x1*x1 + x2*x2;</ div >
< div class = "line" >< a id = "l00586" name = "l00586" ></ a >< span class = "lineno" > 586</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00587" name = "l00587" ></ a >< span class = "lineno" > 587</ span > </ div >
< div class = "line" >< a id = "l00592" name = "l00592" ></ a >< span class = "lineno" > 592</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00593" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00593" name = "l00593" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#abe92bd5cba3860759c40c322ab1ac995" > 593</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#ab5e611c29307d8733cfaebc68bed1ac6" > uNorm</ a > (< span class = "keyword" > const</ span > T & x1, < span class = "keyword" > const</ span > T & x2)</ div >
< div class = "line" >< a id = "l00594" name = "l00594" ></ a >< span class = "lineno" > 594</ span > {</ div >
< div class = "line" >< a id = "l00595" name = "l00595" ></ a >< span class = "lineno" > 595</ span > < span class = "keywordflow" > return</ span > std::sqrt(< a class = "code hl_function" href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > uNormSquared</ a > (x1, x2));</ div >
< div class = "line" >< a id = "l00596" name = "l00596" ></ a >< span class = "lineno" > 596</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00597" name = "l00597" ></ a >< span class = "lineno" > 597</ span > </ div >
< div class = "line" >< a id = "l00602" name = "l00602" ></ a >< span class = "lineno" > 602</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00603" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00603" name = "l00603" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a0a3b6871504f5a745f8769492f45871c" > 603</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > uNormSquared</ a > (< span class = "keyword" > const</ span > T & x1, < span class = "keyword" > const</ span > T & x2, < span class = "keyword" > const</ span > T & x3)</ div >
< div class = "line" >< a id = "l00604" name = "l00604" ></ a >< span class = "lineno" > 604</ span > {</ div >
< div class = "line" >< a id = "l00605" name = "l00605" ></ a >< span class = "lineno" > 605</ span > < span class = "keywordflow" > return</ span > x1*x1 + x2*x2 + x3*x3;</ div >
< div class = "line" >< a id = "l00606" name = "l00606" ></ a >< span class = "lineno" > 606</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00607" name = "l00607" ></ a >< span class = "lineno" > 607</ span > </ div >
< div class = "line" >< a id = "l00612" name = "l00612" ></ a >< span class = "lineno" > 612</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00613" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00613" name = "l00613" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a6b6fbb2032ce05eeacdb1b0bc87627e8" > 613</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#ab5e611c29307d8733cfaebc68bed1ac6" > uNorm</ a > (< span class = "keyword" > const</ span > T & x1, < span class = "keyword" > const</ span > T & x2, < span class = "keyword" > const</ span > T & x3)</ div >
< div class = "line" >< a id = "l00614" name = "l00614" ></ a >< span class = "lineno" > 614</ span > {</ div >
< div class = "line" >< a id = "l00615" name = "l00615" ></ a >< span class = "lineno" > 615</ span > < span class = "keywordflow" > return</ span > std::sqrt(< a class = "code hl_function" href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > uNormSquared</ a > (x1, x2, x3));</ div >
< div class = "line" >< a id = "l00616" name = "l00616" ></ a >< span class = "lineno" > 616</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00617" name = "l00617" ></ a >< span class = "lineno" > 617</ span > </ div >
< div class = "line" >< a id = "l00622" name = "l00622" ></ a >< span class = "lineno" > 622</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00623" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00623" name = "l00623" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a2f843f6f6bf0bd59b527aaa8c4731612" > 623</ a ></ span >< span class = "keyword" > inline</ span > std::vector< T> < a class = "code hl_function" href = "UMath_8h.html#a2f843f6f6bf0bd59b527aaa8c4731612" > uNormalize</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00624" name = "l00624" ></ a >< span class = "lineno" > 624</ span > {</ div >
< div class = "line" >< a id = "l00625" name = "l00625" ></ a >< span class = "lineno" > 625</ span > < span class = "keywordtype" > float</ span > norm = < a class = "code hl_function" href = "UMath_8h.html#ab5e611c29307d8733cfaebc68bed1ac6" > uNorm</ a > (v);</ div >
< div class = "line" >< a id = "l00626" name = "l00626" ></ a >< span class = "lineno" > 626</ span > < span class = "keywordflow" > if</ span > (norm == 0)</ div >
< div class = "line" >< a id = "l00627" name = "l00627" ></ a >< span class = "lineno" > 627</ span > {</ div >
< div class = "line" >< a id = "l00628" name = "l00628" ></ a >< span class = "lineno" > 628</ span > < span class = "keywordflow" > return</ span > v;</ div >
< div class = "line" >< a id = "l00629" name = "l00629" ></ a >< span class = "lineno" > 629</ span > }</ div >
< div class = "line" >< a id = "l00630" name = "l00630" ></ a >< span class = "lineno" > 630</ span > < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a id = "l00631" name = "l00631" ></ a >< span class = "lineno" > 631</ span > {</ div >
< div class = "line" >< a id = "l00632" name = "l00632" ></ a >< span class = "lineno" > 632</ span > std::vector< T> r(v.size());</ div >
< div class = "line" >< a id = "l00633" name = "l00633" ></ a >< span class = "lineno" > 633</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< v.size(); ++i)</ div >
< div class = "line" >< a id = "l00634" name = "l00634" ></ a >< span class = "lineno" > 634</ span > {</ div >
< div class = "line" >< a id = "l00635" name = "l00635" ></ a >< span class = "lineno" > 635</ span > r[i] = v[i]/norm;</ div >
< div class = "line" >< a id = "l00636" name = "l00636" ></ a >< span class = "lineno" > 636</ span > }</ div >
< div class = "line" >< a id = "l00637" name = "l00637" ></ a >< span class = "lineno" > 637</ span > < span class = "keywordflow" > return</ span > r;</ div >
< div class = "line" >< a id = "l00638" name = "l00638" ></ a >< span class = "lineno" > 638</ span > }</ div >
< div class = "line" >< a id = "l00639" name = "l00639" ></ a >< span class = "lineno" > 639</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00640" name = "l00640" ></ a >< span class = "lineno" > 640</ span > </ div >
< div class = "line" >< a id = "l00644" name = "l00644" ></ a >< span class = "lineno" > 644</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00645" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00645" name = "l00645" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a2feb416e779b88c4a6a849d609222c99" > 645</ a ></ span >< span class = "keyword" > inline</ span > std::list< unsigned int> < a class = "code hl_function" href = "UMath_8h.html#a2feb416e779b88c4a6a849d609222c99" > uLocalMaxima</ a > (< span class = "keyword" > const</ span > T * v, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size)</ div >
< div class = "line" >< a id = "l00646" name = "l00646" ></ a >< span class = "lineno" > 646</ span > {</ div >
< div class = "line" >< a id = "l00647" name = "l00647" ></ a >< span class = "lineno" > 647</ span > std::list< unsigned int> maxima;</ div >
< div class = "line" >< a id = "l00648" name = "l00648" ></ a >< span class = "lineno" > 648</ span > < span class = "keywordflow" > if</ span > (size)</ div >
< div class = "line" >< a id = "l00649" name = "l00649" ></ a >< span class = "lineno" > 649</ span > {</ div >
< div class = "line" >< a id = "l00650" name = "l00650" ></ a >< span class = "lineno" > 650</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< size; ++i)</ div >
< div class = "line" >< a id = "l00651" name = "l00651" ></ a >< span class = "lineno" > 651</ span > {</ div >
< div class = "line" >< a id = "l00652" name = "l00652" ></ a >< span class = "lineno" > 652</ span > < span class = "keywordflow" > if</ span > (i == 0)</ div >
< div class = "line" >< a id = "l00653" name = "l00653" ></ a >< span class = "lineno" > 653</ span > {</ div >
< div class = "line" >< a id = "l00654" name = "l00654" ></ a >< span class = "lineno" > 654</ span > < span class = "comment" > // first item</ span ></ div >
< div class = "line" >< a id = "l00655" name = "l00655" ></ a >< span class = "lineno" > 655</ span > < span class = "keywordflow" > if</ span > ((i+1 < size && v[i] > v[i+1]) ||</ div >
< div class = "line" >< a id = "l00656" name = "l00656" ></ a >< span class = "lineno" > 656</ span > i+1 > = size)</ div >
< div class = "line" >< a id = "l00657" name = "l00657" ></ a >< span class = "lineno" > 657</ span > {</ div >
< div class = "line" >< a id = "l00658" name = "l00658" ></ a >< span class = "lineno" > 658</ span > maxima.push_back(i);</ div >
< div class = "line" >< a id = "l00659" name = "l00659" ></ a >< span class = "lineno" > 659</ span > }</ div >
< div class = "line" >< a id = "l00660" name = "l00660" ></ a >< span class = "lineno" > 660</ span > }</ div >
< div class = "line" >< a id = "l00661" name = "l00661" ></ a >< span class = "lineno" > 661</ span > < span class = "keywordflow" > else</ span > < span class = "keywordflow" > if</ span > (i == size - 1)</ div >
< div class = "line" >< a id = "l00662" name = "l00662" ></ a >< span class = "lineno" > 662</ span > {</ div >
< div class = "line" >< a id = "l00663" name = "l00663" ></ a >< span class = "lineno" > 663</ span > < span class = "comment" > //last item</ span ></ div >
< div class = "line" >< a id = "l00664" name = "l00664" ></ a >< span class = "lineno" > 664</ span > < span class = "keywordflow" > if</ span > ((i > = 1 && v[i] > v[i-1]) ||</ div >
< div class = "line" >< a id = "l00665" name = "l00665" ></ a >< span class = "lineno" > 665</ span > i == 0)</ div >
< div class = "line" >< a id = "l00666" name = "l00666" ></ a >< span class = "lineno" > 666</ span > {</ div >
< div class = "line" >< a id = "l00667" name = "l00667" ></ a >< span class = "lineno" > 667</ span > maxima.push_back(i);</ div >
< div class = "line" >< a id = "l00668" name = "l00668" ></ a >< span class = "lineno" > 668</ span > }</ div >
< div class = "line" >< a id = "l00669" name = "l00669" ></ a >< span class = "lineno" > 669</ span > }</ div >
< div class = "line" >< a id = "l00670" name = "l00670" ></ a >< span class = "lineno" > 670</ span > < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a id = "l00671" name = "l00671" ></ a >< span class = "lineno" > 671</ span > {</ div >
< div class = "line" >< a id = "l00672" name = "l00672" ></ a >< span class = "lineno" > 672</ span > < span class = "comment" > //all others, check previous and next</ span ></ div >
< div class = "line" >< a id = "l00673" name = "l00673" ></ a >< span class = "lineno" > 673</ span > < span class = "keywordflow" > if</ span > (v[i] > v[i-1] && v[i] > v[i+1])</ div >
< div class = "line" >< a id = "l00674" name = "l00674" ></ a >< span class = "lineno" > 674</ span > {</ div >
< div class = "line" >< a id = "l00675" name = "l00675" ></ a >< span class = "lineno" > 675</ span > maxima.push_back(i);</ div >
< div class = "line" >< a id = "l00676" name = "l00676" ></ a >< span class = "lineno" > 676</ span > }</ div >
< div class = "line" >< a id = "l00677" name = "l00677" ></ a >< span class = "lineno" > 677</ span > }</ div >
< div class = "line" >< a id = "l00678" name = "l00678" ></ a >< span class = "lineno" > 678</ span > }</ div >
< div class = "line" >< a id = "l00679" name = "l00679" ></ a >< span class = "lineno" > 679</ span > }</ div >
< div class = "line" >< a id = "l00680" name = "l00680" ></ a >< span class = "lineno" > 680</ span > < span class = "keywordflow" > return</ span > maxima;</ div >
< div class = "line" >< a id = "l00681" name = "l00681" ></ a >< span class = "lineno" > 681</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00682" name = "l00682" ></ a >< span class = "lineno" > 682</ span > </ div >
< div class = "line" >< a id = "l00686" name = "l00686" ></ a >< span class = "lineno" > 686</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00687" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00687" name = "l00687" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a321ec84227fff8bf26aa85b0d3be5bb7" > 687</ a ></ span >< span class = "keyword" > inline</ span > std::list< unsigned int> < a class = "code hl_function" href = "UMath_8h.html#a2feb416e779b88c4a6a849d609222c99" > uLocalMaxima</ a > (< span class = "keyword" > const</ span > std::vector< T> & v)</ div >
< div class = "line" >< a id = "l00688" name = "l00688" ></ a >< span class = "lineno" > 688</ span > {</ div >
< div class = "line" >< a id = "l00689" name = "l00689" ></ a >< span class = "lineno" > 689</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a2feb416e779b88c4a6a849d609222c99" > uLocalMaxima</ a > (v.data(), v.size());</ div >
< div class = "line" >< a id = "l00690" name = "l00690" ></ a >< span class = "lineno" > 690</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00691" name = "l00691" ></ a >< span class = "lineno" > 691</ span > </ div >
< div class = "line" >< a id = "l00696" name = "l00696" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#ae24d0d5b3a1d44ae8c5e50bb86a15cba" > 696</ a ></ span >< span class = "keyword" > enum</ span > < a class = "code hl_enumeration" href = "UMath_8h.html#ae24d0d5b3a1d44ae8c5e50bb86a15cba" > UXMatchMethod</ a > {UXCorrRaw, UXCorrBiased, UXCorrUnbiased, UXCorrCoeff, UXCovRaw, UXCovBiased, UXCovUnbiased, UXCovCoeff};</ div >
< div class = "line" >< a id = "l00697" name = "l00697" ></ a >< span class = "lineno" > 697</ span > </ div >
< div class = "line" >< a id = "l00707" name = "l00707" ></ a >< span class = "lineno" > 707</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00708" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00708" name = "l00708" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > 708</ a ></ span >< span class = "keyword" > inline</ span > std::vector< T> < a class = "code hl_function" href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > uXMatch</ a > (< span class = "keyword" > const</ span > T * vA, < span class = "keyword" > const</ span > T * vB, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > sizeA, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > sizeB, < a class = "code hl_enumeration" href = "UMath_8h.html#ae24d0d5b3a1d44ae8c5e50bb86a15cba" > UXMatchMethod</ a > method)</ div >
< div class = "line" >< a id = "l00709" name = "l00709" ></ a >< span class = "lineno" > 709</ span > {</ div >
< div class = "line" >< a id = "l00710" name = "l00710" ></ a >< span class = "lineno" > 710</ span > < span class = "keywordflow" > if</ span > (!vA || !vB || sizeA == 0 || sizeB == 0)</ div >
< div class = "line" >< a id = "l00711" name = "l00711" ></ a >< span class = "lineno" > 711</ span > {</ div >
< div class = "line" >< a id = "l00712" name = "l00712" ></ a >< span class = "lineno" > 712</ span > < span class = "keywordflow" > return</ span > std::vector< T> ();</ div >
< div class = "line" >< a id = "l00713" name = "l00713" ></ a >< span class = "lineno" > 713</ span > }</ div >
< div class = "line" >< a id = "l00714" name = "l00714" ></ a >< span class = "lineno" > 714</ span > </ div >
< div class = "line" >< a id = "l00715" name = "l00715" ></ a >< span class = "lineno" > 715</ span > std::vector< T> result(sizeA + sizeB - 1);</ div >
< div class = "line" >< a id = "l00716" name = "l00716" ></ a >< span class = "lineno" > 716</ span > </ div >
< div class = "line" >< a id = "l00717" name = "l00717" ></ a >< span class = "lineno" > 717</ span > T meanA = 0;</ div >
< div class = "line" >< a id = "l00718" name = "l00718" ></ a >< span class = "lineno" > 718</ span > T meanB = 0;</ div >
< div class = "line" >< a id = "l00719" name = "l00719" ></ a >< span class = "lineno" > 719</ span > < span class = "keywordflow" > if</ span > (method > UXCorrCoeff)</ div >
< div class = "line" >< a id = "l00720" name = "l00720" ></ a >< span class = "lineno" > 720</ span > {</ div >
< div class = "line" >< a id = "l00721" name = "l00721" ></ a >< span class = "lineno" > 721</ span > meanA = < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (vA, sizeA);</ div >
< div class = "line" >< a id = "l00722" name = "l00722" ></ a >< span class = "lineno" > 722</ span > meanB = < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (vB, sizeB);</ div >
< div class = "line" >< a id = "l00723" name = "l00723" ></ a >< span class = "lineno" > 723</ span > }</ div >
< div class = "line" >< a id = "l00724" name = "l00724" ></ a >< span class = "lineno" > 724</ span > </ div >
< div class = "line" >< a id = "l00725" name = "l00725" ></ a >< span class = "lineno" > 725</ span > T den = 1;</ div >
< div class = "line" >< a id = "l00726" name = "l00726" ></ a >< span class = "lineno" > 726</ span > < span class = "keywordflow" > if</ span > (method == UXCorrCoeff || method == UXCovCoeff)</ div >
< div class = "line" >< a id = "l00727" name = "l00727" ></ a >< span class = "lineno" > 727</ span > {</ div >
< div class = "line" >< a id = "l00728" name = "l00728" ></ a >< span class = "lineno" > 728</ span > den = std::sqrt(< a class = "code hl_function" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a > (vA, sizeA, meanA) * < a class = "code hl_function" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a > (vB, sizeB, meanB));</ div >
< div class = "line" >< a id = "l00729" name = "l00729" ></ a >< span class = "lineno" > 729</ span > }</ div >
< div class = "line" >< a id = "l00730" name = "l00730" ></ a >< span class = "lineno" > 730</ span > < span class = "keywordflow" > else</ span > < span class = "keywordflow" > if</ span > (method == UXCorrBiased || method == UXCovBiased)</ div >
< div class = "line" >< a id = "l00731" name = "l00731" ></ a >< span class = "lineno" > 731</ span > {</ div >
< div class = "line" >< a id = "l00732" name = "l00732" ></ a >< span class = "lineno" > 732</ span > den = (T)std::max(sizeA, sizeB);</ div >
< div class = "line" >< a id = "l00733" name = "l00733" ></ a >< span class = "lineno" > 733</ span > }</ div >
< div class = "line" >< a id = "l00734" name = "l00734" ></ a >< span class = "lineno" > 734</ span > </ div >
< div class = "line" >< a id = "l00735" name = "l00735" ></ a >< span class = "lineno" > 735</ span > < span class = "keywordflow" > if</ span > (sizeA == sizeB)</ div >
< div class = "line" >< a id = "l00736" name = "l00736" ></ a >< span class = "lineno" > 736</ span > {</ div >
< div class = "line" >< a id = "l00737" name = "l00737" ></ a >< span class = "lineno" > 737</ span > T resultA;</ div >
< div class = "line" >< a id = "l00738" name = "l00738" ></ a >< span class = "lineno" > 738</ span > T resultB;</ div >
< div class = "line" >< a id = "l00739" name = "l00739" ></ a >< span class = "lineno" > 739</ span > </ div >
< div class = "line" >< a id = "l00740" name = "l00740" ></ a >< span class = "lineno" > 740</ span > < span class = "keywordtype" > int</ span > posA;</ div >
< div class = "line" >< a id = "l00741" name = "l00741" ></ a >< span class = "lineno" > 741</ span > < span class = "keywordtype" > int</ span > posB;</ div >
< div class = "line" >< a id = "l00742" name = "l00742" ></ a >< span class = "lineno" > 742</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > j;</ div >
< div class = "line" >< a id = "l00743" name = "l00743" ></ a >< span class = "lineno" > 743</ span > </ div >
< div class = "line" >< a id = "l00744" name = "l00744" ></ a >< span class = "lineno" > 744</ span > < span class = "comment" > // Optimization, filling two results at once</ span ></ div >
< div class = "line" >< a id = "l00745" name = "l00745" ></ a >< span class = "lineno" > 745</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< sizeA; ++i)</ div >
< div class = "line" >< a id = "l00746" name = "l00746" ></ a >< span class = "lineno" > 746</ span > {</ div >
< div class = "line" >< a id = "l00747" name = "l00747" ></ a >< span class = "lineno" > 747</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00748" name = "l00748" ></ a >< span class = "lineno" > 748</ span > {</ div >
< div class = "line" >< a id = "l00749" name = "l00749" ></ a >< span class = "lineno" > 749</ span > den = 0;</ div >
< div class = "line" >< a id = "l00750" name = "l00750" ></ a >< span class = "lineno" > 750</ span > }</ div >
< div class = "line" >< a id = "l00751" name = "l00751" ></ a >< span class = "lineno" > 751</ span > </ div >
< div class = "line" >< a id = "l00752" name = "l00752" ></ a >< span class = "lineno" > 752</ span > posA = sizeA - i - 1;</ div >
< div class = "line" >< a id = "l00753" name = "l00753" ></ a >< span class = "lineno" > 753</ span > posB = sizeB - i - 1;</ div >
< div class = "line" >< a id = "l00754" name = "l00754" ></ a >< span class = "lineno" > 754</ span > resultA = 0;</ div >
< div class = "line" >< a id = "l00755" name = "l00755" ></ a >< span class = "lineno" > 755</ span > resultB = 0;</ div >
< div class = "line" >< a id = "l00756" name = "l00756" ></ a >< span class = "lineno" > 756</ span > < span class = "keywordflow" > for</ span > (j=0; (j + posB) < sizeB && (j + posA) < sizeA; ++j)</ div >
< div class = "line" >< a id = "l00757" name = "l00757" ></ a >< span class = "lineno" > 757</ span > {</ div >
< div class = "line" >< a id = "l00758" name = "l00758" ></ a >< span class = "lineno" > 758</ span > resultA += (vA[j] - meanA) * (vB[j + posB] - meanB);</ div >
< div class = "line" >< a id = "l00759" name = "l00759" ></ a >< span class = "lineno" > 759</ span > resultB += (vA[j + posA] - meanA) * (vB[j] - meanB);</ div >
< div class = "line" >< a id = "l00760" name = "l00760" ></ a >< span class = "lineno" > 760</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00761" name = "l00761" ></ a >< span class = "lineno" > 761</ span > {</ div >
< div class = "line" >< a id = "l00762" name = "l00762" ></ a >< span class = "lineno" > 762</ span > ++den;</ div >
< div class = "line" >< a id = "l00763" name = "l00763" ></ a >< span class = "lineno" > 763</ span > }</ div >
< div class = "line" >< a id = "l00764" name = "l00764" ></ a >< span class = "lineno" > 764</ span > }</ div >
< div class = "line" >< a id = "l00765" name = "l00765" ></ a >< span class = "lineno" > 765</ span > </ div >
< div class = "line" >< a id = "l00766" name = "l00766" ></ a >< span class = "lineno" > 766</ span > result[i] = resultA / den;</ div >
< div class = "line" >< a id = "l00767" name = "l00767" ></ a >< span class = "lineno" > 767</ span > result[result.size()-1 -i] = resultB / den;</ div >
< div class = "line" >< a id = "l00768" name = "l00768" ></ a >< span class = "lineno" > 768</ span > }</ div >
< div class = "line" >< a id = "l00769" name = "l00769" ></ a >< span class = "lineno" > 769</ span > }</ div >
< div class = "line" >< a id = "l00770" name = "l00770" ></ a >< span class = "lineno" > 770</ span > < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a id = "l00771" name = "l00771" ></ a >< span class = "lineno" > 771</ span > {</ div >
< div class = "line" >< a id = "l00772" name = "l00772" ></ a >< span class = "lineno" > 772</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; i< result.size(); ++i)</ div >
< div class = "line" >< a id = "l00773" name = "l00773" ></ a >< span class = "lineno" > 773</ span > {</ div >
< div class = "line" >< a id = "l00774" name = "l00774" ></ a >< span class = "lineno" > 774</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00775" name = "l00775" ></ a >< span class = "lineno" > 775</ span > {</ div >
< div class = "line" >< a id = "l00776" name = "l00776" ></ a >< span class = "lineno" > 776</ span > den = 0;</ div >
< div class = "line" >< a id = "l00777" name = "l00777" ></ a >< span class = "lineno" > 777</ span > }</ div >
< div class = "line" >< a id = "l00778" name = "l00778" ></ a >< span class = "lineno" > 778</ span > </ div >
< div class = "line" >< a id = "l00779" name = "l00779" ></ a >< span class = "lineno" > 779</ span > < span class = "keywordtype" > int</ span > posB = sizeB - i - 1;</ div >
< div class = "line" >< a id = "l00780" name = "l00780" ></ a >< span class = "lineno" > 780</ span > T r = 0;</ div >
< div class = "line" >< a id = "l00781" name = "l00781" ></ a >< span class = "lineno" > 781</ span > < span class = "keywordflow" > if</ span > (posB > = 0)</ div >
< div class = "line" >< a id = "l00782" name = "l00782" ></ a >< span class = "lineno" > 782</ span > {</ div >
< div class = "line" >< a id = "l00783" name = "l00783" ></ a >< span class = "lineno" > 783</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > j=0; (j + posB) < sizeB && j < sizeA; ++j)</ div >
< div class = "line" >< a id = "l00784" name = "l00784" ></ a >< span class = "lineno" > 784</ span > {</ div >
< div class = "line" >< a id = "l00785" name = "l00785" ></ a >< span class = "lineno" > 785</ span > r += (vA[j] - meanA) * (vB[j + posB] - meanB);</ div >
< div class = "line" >< a id = "l00786" name = "l00786" ></ a >< span class = "lineno" > 786</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00787" name = "l00787" ></ a >< span class = "lineno" > 787</ span > {</ div >
< div class = "line" >< a id = "l00788" name = "l00788" ></ a >< span class = "lineno" > 788</ span > ++den;</ div >
< div class = "line" >< a id = "l00789" name = "l00789" ></ a >< span class = "lineno" > 789</ span > }</ div >
< div class = "line" >< a id = "l00790" name = "l00790" ></ a >< span class = "lineno" > 790</ span > }</ div >
< div class = "line" >< a id = "l00791" name = "l00791" ></ a >< span class = "lineno" > 791</ span > }</ div >
< div class = "line" >< a id = "l00792" name = "l00792" ></ a >< span class = "lineno" > 792</ span > < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a id = "l00793" name = "l00793" ></ a >< span class = "lineno" > 793</ span > {</ div >
< div class = "line" >< a id = "l00794" name = "l00794" ></ a >< span class = "lineno" > 794</ span > < span class = "keywordtype" > int</ span > posA = posB*-1;</ div >
< div class = "line" >< a id = "l00795" name = "l00795" ></ a >< span class = "lineno" > 795</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i=0; (i+posA) < sizeA && i < sizeB; ++i)</ div >
< div class = "line" >< a id = "l00796" name = "l00796" ></ a >< span class = "lineno" > 796</ span > {</ div >
< div class = "line" >< a id = "l00797" name = "l00797" ></ a >< span class = "lineno" > 797</ span > r += (vA[i+posA] - meanA) * (vB[i] - meanB);</ div >
< div class = "line" >< a id = "l00798" name = "l00798" ></ a >< span class = "lineno" > 798</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00799" name = "l00799" ></ a >< span class = "lineno" > 799</ span > {</ div >
< div class = "line" >< a id = "l00800" name = "l00800" ></ a >< span class = "lineno" > 800</ span > ++den;</ div >
< div class = "line" >< a id = "l00801" name = "l00801" ></ a >< span class = "lineno" > 801</ span > }</ div >
< div class = "line" >< a id = "l00802" name = "l00802" ></ a >< span class = "lineno" > 802</ span > }</ div >
< div class = "line" >< a id = "l00803" name = "l00803" ></ a >< span class = "lineno" > 803</ span > }</ div >
< div class = "line" >< a id = "l00804" name = "l00804" ></ a >< span class = "lineno" > 804</ span > </ div >
< div class = "line" >< a id = "l00805" name = "l00805" ></ a >< span class = "lineno" > 805</ span > result[i] = r / den;</ div >
< div class = "line" >< a id = "l00806" name = "l00806" ></ a >< span class = "lineno" > 806</ span > }</ div >
< div class = "line" >< a id = "l00807" name = "l00807" ></ a >< span class = "lineno" > 807</ span > }</ div >
< div class = "line" >< a id = "l00808" name = "l00808" ></ a >< span class = "lineno" > 808</ span > </ div >
< div class = "line" >< a id = "l00809" name = "l00809" ></ a >< span class = "lineno" > 809</ span > < span class = "keywordflow" > return</ span > result;</ div >
< div class = "line" >< a id = "l00810" name = "l00810" ></ a >< span class = "lineno" > 810</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00811" name = "l00811" ></ a >< span class = "lineno" > 811</ span > </ div >
< div class = "line" >< a id = "l00819" name = "l00819" ></ a >< span class = "lineno" > 819</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00820" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00820" name = "l00820" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a4694c7d40749b5cb09c596d232720192" > 820</ a ></ span >< span class = "keyword" > inline</ span > std::vector< T> < a class = "code hl_function" href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > uXMatch</ a > (< span class = "keyword" > const</ span > std::vector< T> & vA, < span class = "keyword" > const</ span > std::vector< T> & vB, < a class = "code hl_enumeration" href = "UMath_8h.html#ae24d0d5b3a1d44ae8c5e50bb86a15cba" > UXMatchMethod</ a > method)</ div >
< div class = "line" >< a id = "l00821" name = "l00821" ></ a >< span class = "lineno" > 821</ span > {</ div >
< div class = "line" >< a id = "l00822" name = "l00822" ></ a >< span class = "lineno" > 822</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > uXMatch</ a > (vA.data(), vB.data(), vA.size(), vB.size(), method);</ div >
< div class = "line" >< a id = "l00823" name = "l00823" ></ a >< span class = "lineno" > 823</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00824" name = "l00824" ></ a >< span class = "lineno" > 824</ span > </ div >
< div class = "line" >< a id = "l00835" name = "l00835" ></ a >< span class = "lineno" > 835</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00836" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00836" name = "l00836" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#ac616ce0471d2e35fafd59d88021ccab3" > 836</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > uXMatch</ a > (< span class = "keyword" > const</ span > T * vA, < span class = "keyword" > const</ span > T * vB, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > sizeA, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > sizeB, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > index, < a class = "code hl_enumeration" href = "UMath_8h.html#ae24d0d5b3a1d44ae8c5e50bb86a15cba" > UXMatchMethod</ a > method)</ div >
< div class = "line" >< a id = "l00837" name = "l00837" ></ a >< span class = "lineno" > 837</ span > {</ div >
< div class = "line" >< a id = "l00838" name = "l00838" ></ a >< span class = "lineno" > 838</ span > T result = 0;</ div >
< div class = "line" >< a id = "l00839" name = "l00839" ></ a >< span class = "lineno" > 839</ span > < span class = "keywordflow" > if</ span > (!vA || !vB || sizeA == 0 || sizeB == 0)</ div >
< div class = "line" >< a id = "l00840" name = "l00840" ></ a >< span class = "lineno" > 840</ span > {</ div >
< div class = "line" >< a id = "l00841" name = "l00841" ></ a >< span class = "lineno" > 841</ span > < span class = "keywordflow" > return</ span > result;</ div >
< div class = "line" >< a id = "l00842" name = "l00842" ></ a >< span class = "lineno" > 842</ span > }</ div >
< div class = "line" >< a id = "l00843" name = "l00843" ></ a >< span class = "lineno" > 843</ span > </ div >
< div class = "line" >< a id = "l00844" name = "l00844" ></ a >< span class = "lineno" > 844</ span > T meanA = 0;</ div >
< div class = "line" >< a id = "l00845" name = "l00845" ></ a >< span class = "lineno" > 845</ span > T meanB = 0;</ div >
< div class = "line" >< a id = "l00846" name = "l00846" ></ a >< span class = "lineno" > 846</ span > < span class = "keywordflow" > if</ span > (method > UXCorrCoeff)</ div >
< div class = "line" >< a id = "l00847" name = "l00847" ></ a >< span class = "lineno" > 847</ span > {</ div >
< div class = "line" >< a id = "l00848" name = "l00848" ></ a >< span class = "lineno" > 848</ span > meanA = < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (vA, sizeA);</ div >
< div class = "line" >< a id = "l00849" name = "l00849" ></ a >< span class = "lineno" > 849</ span > meanB = < a class = "code hl_function" href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a > (vB, sizeB);</ div >
< div class = "line" >< a id = "l00850" name = "l00850" ></ a >< span class = "lineno" > 850</ span > }</ div >
< div class = "line" >< a id = "l00851" name = "l00851" ></ a >< span class = "lineno" > 851</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > size = sizeA + sizeB - 1;</ div >
< div class = "line" >< a id = "l00852" name = "l00852" ></ a >< span class = "lineno" > 852</ span > </ div >
< div class = "line" >< a id = "l00853" name = "l00853" ></ a >< span class = "lineno" > 853</ span > T den = 1;</ div >
< div class = "line" >< a id = "l00854" name = "l00854" ></ a >< span class = "lineno" > 854</ span > < span class = "keywordflow" > if</ span > (method == UXCorrCoeff || method == UXCovCoeff)</ div >
< div class = "line" >< a id = "l00855" name = "l00855" ></ a >< span class = "lineno" > 855</ span > {</ div >
< div class = "line" >< a id = "l00856" name = "l00856" ></ a >< span class = "lineno" > 856</ span > den = std::sqrt(< a class = "code hl_function" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a > (vA, sizeA, meanA) * < a class = "code hl_function" href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a > (vB, sizeB, meanB));</ div >
< div class = "line" >< a id = "l00857" name = "l00857" ></ a >< span class = "lineno" > 857</ span > }</ div >
< div class = "line" >< a id = "l00858" name = "l00858" ></ a >< span class = "lineno" > 858</ span > < span class = "keywordflow" > else</ span > < span class = "keywordflow" > if</ span > (method == UXCorrBiased || method == UXCovBiased)</ div >
< div class = "line" >< a id = "l00859" name = "l00859" ></ a >< span class = "lineno" > 859</ span > {</ div >
< div class = "line" >< a id = "l00860" name = "l00860" ></ a >< span class = "lineno" > 860</ span > den = (T)std::max(sizeA, sizeB);</ div >
< div class = "line" >< a id = "l00861" name = "l00861" ></ a >< span class = "lineno" > 861</ span > }</ div >
< div class = "line" >< a id = "l00862" name = "l00862" ></ a >< span class = "lineno" > 862</ span > < span class = "keywordflow" > else</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00863" name = "l00863" ></ a >< span class = "lineno" > 863</ span > {</ div >
< div class = "line" >< a id = "l00864" name = "l00864" ></ a >< span class = "lineno" > 864</ span > den = 0;</ div >
< div class = "line" >< a id = "l00865" name = "l00865" ></ a >< span class = "lineno" > 865</ span > }</ div >
< div class = "line" >< a id = "l00866" name = "l00866" ></ a >< span class = "lineno" > 866</ span > </ div >
< div class = "line" >< a id = "l00867" name = "l00867" ></ a >< span class = "lineno" > 867</ span > < span class = "keywordflow" > if</ span > (index < size)</ div >
< div class = "line" >< a id = "l00868" name = "l00868" ></ a >< span class = "lineno" > 868</ span > {</ div >
< div class = "line" >< a id = "l00869" name = "l00869" ></ a >< span class = "lineno" > 869</ span > < span class = "keywordtype" > int</ span > posB = sizeB - index - 1;</ div >
< div class = "line" >< a id = "l00870" name = "l00870" ></ a >< span class = "lineno" > 870</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > i;</ div >
< div class = "line" >< a id = "l00871" name = "l00871" ></ a >< span class = "lineno" > 871</ span > < span class = "keywordflow" > if</ span > (posB > = 0)</ div >
< div class = "line" >< a id = "l00872" name = "l00872" ></ a >< span class = "lineno" > 872</ span > {</ div >
< div class = "line" >< a id = "l00873" name = "l00873" ></ a >< span class = "lineno" > 873</ span > < span class = "keywordflow" > for</ span > (i=0; (i + posB) < sizeB && i < sizeA; ++i)</ div >
< div class = "line" >< a id = "l00874" name = "l00874" ></ a >< span class = "lineno" > 874</ span > {</ div >
< div class = "line" >< a id = "l00875" name = "l00875" ></ a >< span class = "lineno" > 875</ span > result += (vA[i] - meanA) * (vB[i + posB] - meanB);</ div >
< div class = "line" >< a id = "l00876" name = "l00876" ></ a >< span class = "lineno" > 876</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00877" name = "l00877" ></ a >< span class = "lineno" > 877</ span > {</ div >
< div class = "line" >< a id = "l00878" name = "l00878" ></ a >< span class = "lineno" > 878</ span > ++den;</ div >
< div class = "line" >< a id = "l00879" name = "l00879" ></ a >< span class = "lineno" > 879</ span > }</ div >
< div class = "line" >< a id = "l00880" name = "l00880" ></ a >< span class = "lineno" > 880</ span > }</ div >
< div class = "line" >< a id = "l00881" name = "l00881" ></ a >< span class = "lineno" > 881</ span > }</ div >
< div class = "line" >< a id = "l00882" name = "l00882" ></ a >< span class = "lineno" > 882</ span > < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a id = "l00883" name = "l00883" ></ a >< span class = "lineno" > 883</ span > {</ div >
< div class = "line" >< a id = "l00884" name = "l00884" ></ a >< span class = "lineno" > 884</ span > < span class = "keywordtype" > int</ span > posA = posB*-1;</ div >
< div class = "line" >< a id = "l00885" name = "l00885" ></ a >< span class = "lineno" > 885</ span > < span class = "keywordflow" > for</ span > (i=0; (i+posA) < sizeA && i < sizeB; ++i)</ div >
< div class = "line" >< a id = "l00886" name = "l00886" ></ a >< span class = "lineno" > 886</ span > {</ div >
< div class = "line" >< a id = "l00887" name = "l00887" ></ a >< span class = "lineno" > 887</ span > result += (vA[i+posA] - meanA) * (vB[i] - meanB);</ div >
< div class = "line" >< a id = "l00888" name = "l00888" ></ a >< span class = "lineno" > 888</ span > < span class = "keywordflow" > if</ span > (method == UXCorrUnbiased || method == UXCovUnbiased)</ div >
< div class = "line" >< a id = "l00889" name = "l00889" ></ a >< span class = "lineno" > 889</ span > {</ div >
< div class = "line" >< a id = "l00890" name = "l00890" ></ a >< span class = "lineno" > 890</ span > ++den;</ div >
< div class = "line" >< a id = "l00891" name = "l00891" ></ a >< span class = "lineno" > 891</ span > }</ div >
< div class = "line" >< a id = "l00892" name = "l00892" ></ a >< span class = "lineno" > 892</ span > }</ div >
< div class = "line" >< a id = "l00893" name = "l00893" ></ a >< span class = "lineno" > 893</ span > }</ div >
< div class = "line" >< a id = "l00894" name = "l00894" ></ a >< span class = "lineno" > 894</ span > }</ div >
< div class = "line" >< a id = "l00895" name = "l00895" ></ a >< span class = "lineno" > 895</ span > < span class = "keywordflow" > return</ span > result / den;</ div >
< div class = "line" >< a id = "l00896" name = "l00896" ></ a >< span class = "lineno" > 896</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00897" name = "l00897" ></ a >< span class = "lineno" > 897</ span > </ div >
< div class = "line" >< a id = "l00908" name = "l00908" ></ a >< span class = "lineno" > 908</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > class</ span > T> </ div >
< div class = "foldopen" id = "foldopen00909" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00909" name = "l00909" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#a726f4662efa078be30f5320bbb994c7a" > 909</ a ></ span >< span class = "keyword" > inline</ span > T < a class = "code hl_function" href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > uXMatch</ a > (< span class = "keyword" > const</ span > std::vector< T> & vA, < span class = "keyword" > const</ span > std::vector< T> & vB, < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > index, < a class = "code hl_enumeration" href = "UMath_8h.html#ae24d0d5b3a1d44ae8c5e50bb86a15cba" > UXMatchMethod</ a > method)</ div >
< div class = "line" >< a id = "l00910" name = "l00910" ></ a >< span class = "lineno" > 910</ span > {</ div >
< div class = "line" >< a id = "l00911" name = "l00911" ></ a >< span class = "lineno" > 911</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > uXMatch</ a > (vA.data(), vB.data(), vA.size(), vB.size(), index, method);</ div >
< div class = "line" >< a id = "l00912" name = "l00912" ></ a >< span class = "lineno" > 912</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00913" name = "l00913" ></ a >< span class = "lineno" > 913</ span > </ div >
< div class = "foldopen" id = "foldopen00919" data-start = "{" data-end = "}" >
< div class = "line" >< a id = "l00919" name = "l00919" ></ a >< span class = "lineno" >< a class = "line" href = "UMath_8h.html#add815f68a7ad0f18c667311826a85a52" > 919</ a ></ span >< span class = "keyword" > inline</ span > std::vector< float> < a class = "code hl_function" href = "UMath_8h.html#add815f68a7ad0f18c667311826a85a52" > uHamming</ a > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > L)</ div >
< div class = "line" >< a id = "l00920" name = "l00920" ></ a >< span class = "lineno" > 920</ span > {</ div >
< div class = "line" >< a id = "l00921" name = "l00921" ></ a >< span class = "lineno" > 921</ span > std::vector< float> w(L);</ div >
< div class = "line" >< a id = "l00922" name = "l00922" ></ a >< span class = "lineno" > 922</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > N = L-1;</ div >
< div class = "line" >< a id = "l00923" name = "l00923" ></ a >< span class = "lineno" > 923</ span > < span class = "keywordtype" > float</ span > pi = 3.14159265f;</ div >
< div class = "line" >< a id = "l00924" name = "l00924" ></ a >< span class = "lineno" > 924</ span > < span class = "keywordflow" > for</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > n=0; n< N; ++n)</ div >
< div class = "line" >< a id = "l00925" name = "l00925" ></ a >< span class = "lineno" > 925</ span > {</ div >
< div class = "line" >< a id = "l00926" name = "l00926" ></ a >< span class = "lineno" > 926</ span > w[n] = 0.54f-0.46f*std::cos(2.0f*pi*< span class = "keywordtype" > float</ span > (n)/< span class = "keywordtype" > float</ span > (N));</ div >
< div class = "line" >< a id = "l00927" name = "l00927" ></ a >< span class = "lineno" > 927</ span > }</ div >
< div class = "line" >< a id = "l00928" name = "l00928" ></ a >< span class = "lineno" > 928</ span > < span class = "keywordflow" > return</ span > w;</ div >
< div class = "line" >< a id = "l00929" name = "l00929" ></ a >< span class = "lineno" > 929</ span > }</ div >
</ div >
< div class = "line" >< a id = "l00930" name = "l00930" ></ a >< span class = "lineno" > 930</ span > </ div >
< div class = "line" >< a id = "l00931" name = "l00931" ></ a >< span class = "lineno" > 931</ span >< span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a id = "l00932" name = "l00932" ></ a >< span class = "lineno" > 932</ span >< span class = "keywordtype" > bool</ span > uIsInBounds(< span class = "keyword" > const</ span > T& value, < span class = "keyword" > const</ span > T& low, < span class = "keyword" > const</ span > T& high)</ div >
< div class = "line" >< a id = "l00933" name = "l00933" ></ a >< span class = "lineno" > 933</ span > {</ div >
< div class = "line" >< a id = "l00934" name = "l00934" ></ a >< span class = "lineno" > 934</ span > < span class = "keywordflow" > return</ span > < a class = "code hl_function" href = "UMath_8h.html#abc9c1a676bf1b33a7d2bc0452a04fed3" > uIsFinite</ a > (value) && !(value < low) && !(value > = high);</ div >
< div class = "line" >< a id = "l00935" name = "l00935" ></ a >< span class = "lineno" > 935</ span > }</ div >
< div class = "line" >< a id = "l00936" name = "l00936" ></ a >< span class = "lineno" > 936</ span > </ div >
< div class = "line" >< a id = "l00937" name = "l00937" ></ a >< span class = "lineno" > 937</ span >< span class = "preprocessor" > #endif </ span >< span class = "comment" > // UMATH_H</ span ></ div >
< div class = "ttc" id = "aUMath_8h_html_a0ce262f6e3a80f7efafc73052600d309" >< div class = "ttname" >< a href = "UMath_8h.html#a0ce262f6e3a80f7efafc73052600d309" > uIsNan</ a ></ div >< div class = "ttdeci" > bool uIsNan(const T & value)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00040" > UMath.h:40</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a1362990d0ce7f09ef735292cc480fa23" >< div class = "ttname" >< a href = "UMath_8h.html#a1362990d0ce7f09ef735292cc480fa23" > uMax</ a ></ div >< div class = "ttdeci" > T uMax(const T *v, unsigned int size, unsigned int & index)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00092" > UMath.h:92</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a28770817787def2a9165ed070fa17a54" >< div class = "ttname" >< a href = "UMath_8h.html#a28770817787def2a9165ed070fa17a54" > uMeanSquaredError</ a ></ div >< div class = "ttdeci" > T uMeanSquaredError(const T *x, unsigned int sizeX, const T *y, unsigned int sizeY)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00453" > UMath.h:453</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a2f843f6f6bf0bd59b527aaa8c4731612" >< div class = "ttname" >< a href = "UMath_8h.html#a2f843f6f6bf0bd59b527aaa8c4731612" > uNormalize</ a ></ div >< div class = "ttdeci" > std::vector< T > uNormalize(const std::vector< T > & v)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00623" > UMath.h:623</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a2feb416e779b88c4a6a849d609222c99" >< div class = "ttname" >< a href = "UMath_8h.html#a2feb416e779b88c4a6a849d609222c99" > uLocalMaxima</ a ></ div >< div class = "ttdeci" > std::list< unsigned int > uLocalMaxima(const T *v, unsigned int size)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00645" > UMath.h:645</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a601a7e18acb1512a60cd8ef248271c85" >< div class = "ttname" >< a href = "UMath_8h.html#a601a7e18acb1512a60cd8ef248271c85" > uMax3</ a ></ div >< div class = "ttdeci" > T uMax3(const T & a, const T & b, const T & c)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00078" > UMath.h:78</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a6e100ed2031a529679a93b9b4bf818af" >< div class = "ttname" >< a href = "UMath_8h.html#a6e100ed2031a529679a93b9b4bf818af" > uSign</ a ></ div >< div class = "ttdeci" > int uSign(const T & v)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00300" > UMath.h:300</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a7376638ab6047306c66a357153a47196" >< div class = "ttname" >< a href = "UMath_8h.html#a7376638ab6047306c66a357153a47196" > uMean</ a ></ div >< div class = "ttdeci" > T uMean(const T *v, unsigned int size)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00399" > UMath.h:399</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a81a1c24c0229e6c4dc8d8e09497ad114" >< div class = "ttname" >< a href = "UMath_8h.html#a81a1c24c0229e6c4dc8d8e09497ad114" > uSum</ a ></ div >< div class = "ttdeci" > T uSum(const std::list< T > & list)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00318" > UMath.h:318</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_a913829c5228fabff88e4918111c1d424" >< div class = "ttname" >< a href = "UMath_8h.html#a913829c5228fabff88e4918111c1d424" > uXMatch</ a ></ div >< div class = "ttdeci" > std::vector< T > uXMatch(const T *vA, const T *vB, unsigned int sizeA, unsigned int sizeB, UXMatchMethod method)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00708" > UMath.h:708</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_aa37a66d04825a8834648dbe931bd57e6" >< div class = "ttname" >< a href = "UMath_8h.html#aa37a66d04825a8834648dbe931bd57e6" > uMin</ a ></ div >< div class = "ttdeci" > T uMin(const T *v, unsigned int size, unsigned int & index)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00157" > UMath.h:157</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_ab5e611c29307d8733cfaebc68bed1ac6" >< div class = "ttname" >< a href = "UMath_8h.html#ab5e611c29307d8733cfaebc68bed1ac6" > uNorm</ a ></ div >< div class = "ttdeci" > T uNorm(const std::vector< T > & v)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00573" > UMath.h:573</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_abc9c1a676bf1b33a7d2bc0452a04fed3" >< div class = "ttname" >< a href = "UMath_8h.html#abc9c1a676bf1b33a7d2bc0452a04fed3" > uIsFinite</ a ></ div >< div class = "ttdeci" > bool uIsFinite(const T & value)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00053" > UMath.h:53</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_ad653f26bbf08ce113b5a69a49bb4e41d" >< div class = "ttname" >< a href = "UMath_8h.html#ad653f26bbf08ce113b5a69a49bb4e41d" > uMin3</ a ></ div >< div class = "ttdeci" > T uMin3(const T & a, const T & b, const T & c)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00067" > UMath.h:67</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_add45b750bab7251ba196079289f17d7d" >< div class = "ttname" >< a href = "UMath_8h.html#add45b750bab7251ba196079289f17d7d" > uVariance</ a ></ div >< div class = "ttdeci" > T uVariance(const T *v, unsigned int size, T meanV)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00489" > UMath.h:489</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_add815f68a7ad0f18c667311826a85a52" >< div class = "ttname" >< a href = "UMath_8h.html#add815f68a7ad0f18c667311826a85a52" > uHamming</ a ></ div >< div class = "ttdeci" > std::vector< float > uHamming(unsigned int L)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00919" > UMath.h:919</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_ae24d0d5b3a1d44ae8c5e50bb86a15cba" >< div class = "ttname" >< a href = "UMath_8h.html#ae24d0d5b3a1d44ae8c5e50bb86a15cba" > UXMatchMethod</ a ></ div >< div class = "ttdeci" > UXMatchMethod</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00696" > UMath.h:696</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_aeb6a6517666687e509617e6bfaf274d3" >< div class = "ttname" >< a href = "UMath_8h.html#aeb6a6517666687e509617e6bfaf274d3" > uSumSquared</ a ></ div >< div class = "ttdeci" > T uSumSquared(const T *v, unsigned int size, T subtract=T())</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00367" > UMath.h:367</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_aeed14782b35224f70db6b5435dce06a1" >< div class = "ttname" >< a href = "UMath_8h.html#aeed14782b35224f70db6b5435dce06a1" > uNormSquared</ a ></ div >< div class = "ttdeci" > T uNormSquared(const std::vector< T > & v)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00558" > UMath.h:558</ a ></ div ></ div >
< div class = "ttc" id = "aUMath_8h_html_af9bfdafb6da16f9c6f4691a6d951538b" >< div class = "ttname" >< a href = "UMath_8h.html#af9bfdafb6da16f9c6f4691a6d951538b" > uMinMax</ a ></ div >< div class = "ttdeci" > void uMinMax(const T *v, unsigned int size, T & min, T & max, unsigned int & indexMin, unsigned int & indexMax)</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMath_8h_source.html#l00224" > UMath.h:224</ a ></ div ></ div >
</ div > <!-- fragment --> </ div > <!-- contents -->
2026-08-02 07:56:38 +00:00
</ div > <!-- doc-content -->
2026-08-02 01:36:11 +00:00
<!-- start footer part -->
2026-08-02 07:56:38 +00:00
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "navelem" >< a class = "el" href = "dir_7c77c469ef71e5893c1567cf621a9d83.html" > utilite</ a ></ li >< li class = "navelem" >< a class = "el" href = "dir_5807fd1f37f21884b665e4f5337b2441.html" > include</ a ></ li >< li class = "navelem" >< a class = "el" href = "dir_d5b9494e18cb3ada3ef427a965bb34ab.html" > rtabmap</ a ></ li >< li class = "navelem" >< a class = "el" href = "dir_85e098119c0e838040cd00f42e29c3c2.html" > utilite</ a ></ li >< li class = "navelem" >< a class = "el" href = "UMath_8h.html" > UMath.h</ a ></ li >
< li class = "footer" > Generated by < a href = "https://www.doxygen.org/index.html" >< img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" /></ a > 1.9.8 </ li >
</ ul >
</ div >
2026-08-02 01:36:11 +00:00
</ body >
</ html >