|
| 1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 2 | +<html xmlns="http://www.w3.org/1999/xhtml"> |
| 3 | +<head> |
| 4 | +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| 5 | +<meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| 6 | +<meta name="generator" content="Doxygen 1.12.0"/> |
| 7 | +<meta name="viewport" content="width=device-width, initial-scale=1"/> |
| 8 | +<!-- BEGIN opengraph metadata --> |
| 9 | +<meta property="og:title" content="Doxygen Awesome" /> |
| 10 | +<meta property="og:image" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" /> |
| 11 | +<meta property="og:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." /> |
| 12 | +<meta property="og:url" content="https://jothepro.github.io/doxygen-awesome-css/" /> |
| 13 | +<!-- END opengraph metadata --> |
| 14 | +<!-- BEGIN twitter metadata --> |
| 15 | +<meta name="twitter:image:src" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" /> |
| 16 | +<meta name="twitter:title" content="Doxygen Awesome" /> |
| 17 | +<meta name="twitter:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." /> |
| 18 | +<!-- END twitter metadata --> |
| 19 | +<title>Documentation: 1D Interpolation class</title> |
| 20 | +<link href="tabs.css" rel="stylesheet" type="text/css"/> |
| 21 | +<link rel="icon" type="image/svg+xml" href="logo.drawio.svg"/> |
| 22 | +<script type="text/javascript" src="jquery.js"></script> |
| 23 | +<script type="text/javascript" src="dynsections.js"></script> |
| 24 | +<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script> |
| 25 | +<script type="text/javascript" src="doxygen-awesome-fragment-copy-button.js"></script> |
| 26 | +<script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script> |
| 27 | +<script type="text/javascript" src="doxygen-awesome-interactive-toc.js"></script> |
| 28 | +<script type="text/javascript" src="doxygen-awesome-tabs.js"></script> |
| 29 | +<script type="text/javascript" src="toggle-alternative-theme.js"></script> |
| 30 | +<script type="text/javascript"> |
| 31 | + DoxygenAwesomeFragmentCopyButton.init() |
| 32 | + DoxygenAwesomeDarkModeToggle.init() |
| 33 | + DoxygenAwesomeParagraphLink.init() |
| 34 | + DoxygenAwesomeInteractiveToc.init() |
| 35 | + DoxygenAwesomeTabs.init() |
| 36 | +</script> |
| 37 | +<link href="navtree.css" rel="stylesheet" type="text/css"/> |
| 38 | +<script type="text/javascript" src="navtreedata.js"></script> |
| 39 | +<script type="text/javascript" src="navtree.js"></script> |
| 40 | +<script type="text/javascript" src="resize.js"></script> |
| 41 | +<script type="text/javascript" src="cookie.js"></script> |
| 42 | +<link href="search/search.css" rel="stylesheet" type="text/css"/> |
| 43 | +<script type="text/javascript" src="search/searchdata.js"></script> |
| 44 | +<script type="text/javascript" src="search/search.js"></script> |
| 45 | +<script type="text/x-mathjax-config"> |
| 46 | +MathJax.Hub.Config({ |
| 47 | + extensions: ["tex2jax.js"], |
| 48 | + jax: ["input/TeX","output/HTML-CSS"], |
| 49 | +}); |
| 50 | +</script> |
| 51 | +<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script> |
| 52 | +<link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| 53 | +<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/> |
| 54 | +<link href="custom.css" rel="stylesheet" type="text/css"/> |
| 55 | +<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/> |
| 56 | +<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/> |
| 57 | +<link href="custom-alternative.css" rel="stylesheet" type="text/css"/> |
| 58 | +</head> |
| 59 | +<body> |
| 60 | +<!-- https://tholman.com/github-corners/ --> |
| 61 | +<a href="https://github.com/kmilo17pet/qlibs" class="github-corner" title="View source on GitHub" target="_blank" rel="noopener noreferrer"> |
| 62 | + <svg viewBox="0 0 250 250" width="40" height="40" style="position: absolute; top: 0; border: 0; right: 0; z-index: 99;" aria-hidden="true"> |
| 63 | + <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style> |
| 64 | +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| 65 | +<div id="titlearea"> |
| 66 | +<table cellspacing="0" cellpadding="0"> |
| 67 | + <tbody> |
| 68 | + <tr style="height: 56px;"> |
| 69 | + <td id="projectlogo"><img alt="Logo" src="qlibs_logo.png"/></td> |
| 70 | + <td id="projectalign" style="padding-left: 0.5em;"> |
| 71 | + <div id="projectname">Documentation |
| 72 | + </div> |
| 73 | + <div id="projectbrief">Tools for embedded systems</div> |
| 74 | + </td> |
| 75 | + </tr> |
| 76 | + </tbody> |
| 77 | +</table> |
| 78 | +</div> |
| 79 | +<!-- end header part --> |
| 80 | +<!-- Generated by Doxygen 1.12.0 --> |
| 81 | +<script type="text/javascript"> |
| 82 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 83 | +var searchBox = new SearchBox("searchBox", "search/",'.html'); |
| 84 | +/* @license-end */ |
| 85 | +</script> |
| 86 | +<script type="text/javascript"> |
| 87 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 88 | +$(function() { codefold.init(0); }); |
| 89 | +/* @license-end */ |
| 90 | +</script> |
| 91 | +<script type="text/javascript" src="menudata.js"></script> |
| 92 | +<script type="text/javascript" src="menu.js"></script> |
| 93 | +<script type="text/javascript"> |
| 94 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 95 | +$(function() { |
| 96 | + initMenu('',true,false,'search.php','Search',true); |
| 97 | + $(function() { init_search(); }); |
| 98 | +}); |
| 99 | +/* @license-end */ |
| 100 | +</script> |
| 101 | +<div id="main-nav"></div> |
| 102 | +</div><!-- top --> |
| 103 | +<div id="side-nav" class="ui-resizable side-nav-resizable"> |
| 104 | + <div id="nav-tree"> |
| 105 | + <div id="nav-tree-contents"> |
| 106 | + <div id="nav-sync" class="sync"></div> |
| 107 | + </div> |
| 108 | + </div> |
| 109 | + <div id="splitbar" style="-moz-user-select:none;" |
| 110 | + class="ui-resizable-handle"> |
| 111 | + </div> |
| 112 | +</div> |
| 113 | +<script type="text/javascript"> |
| 114 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 115 | +$(function(){initNavTree('qinterp1_desc.html',''); initResizable(true); }); |
| 116 | +/* @license-end */ |
| 117 | +</script> |
| 118 | +<div id="doc-content"> |
| 119 | +<!-- window showing the filter options --> |
| 120 | +<div id="MSearchSelectWindow" |
| 121 | + onmouseover="return searchBox.OnSearchSelectShow()" |
| 122 | + onmouseout="return searchBox.OnSearchSelectHide()" |
| 123 | + onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| 124 | +</div> |
| 125 | + |
| 126 | +<!-- iframe showing the search results (closed by default) --> |
| 127 | +<div id="MSearchResultsWindow"> |
| 128 | +<div id="MSearchResults"> |
| 129 | +<div class="SRPage"> |
| 130 | +<div id="SRIndex"> |
| 131 | +<div id="SRResults"></div> |
| 132 | +<div class="SRStatus" id="Loading">Loading...</div> |
| 133 | +<div class="SRStatus" id="Searching">Searching...</div> |
| 134 | +<div class="SRStatus" id="NoMatches">No Matches</div> |
| 135 | +</div> |
| 136 | +</div> |
| 137 | +</div> |
| 138 | +</div> |
| 139 | + |
| 140 | +<div><div class="header"> |
| 141 | + <div class="headertitle"><div class="title">1D Interpolation class</div></div> |
| 142 | +</div><!--header--> |
| 143 | +<div class="contents"> |
| 144 | +<div class="textblock"><p>The qInterp1 class provides a simple, consistent interface for a set of one-dimensional interpolators. The class recieves X-Values and Y-Values and the size of this arrays to setup the instance. The user can later pass the X point to interpolate, and the interpolator instance return the estimated Y at the point X using the specified method.</p> |
| 145 | +<p>The current supported methods are:</p><ul> |
| 146 | +<li>QINTERP1_NEXT : Return the next neighbor.</li> |
| 147 | +<li>QINTERP1_PREVIOUS : Return the previous neighbor.</li> |
| 148 | +<li>QINTERP1_NEAREST : Return the nearest neighbor.</li> |
| 149 | +<li>QINTERP1_LINEAR : Linear interpolation from nearest neighbors.</li> |
| 150 | +<li>QINTERP1_SINE : Sine interpolation.</li> |
| 151 | +<li>QINTERP1_CUBIC : Cubic interpolation.</li> |
| 152 | +<li>QINTERP1_HERMITE : Piecewise cubic Hermite interpolation.</li> |
| 153 | +<li>QINTERP1_SPLINE : Catmull spline interpolation.</li> |
| 154 | +<li>QINTERP1_CONSTRAINED_SPLINE : A special kind of spline that doesn't overshoot.</li> |
| 155 | +</ul> |
| 156 | +<p>If value is beyond the endpoints, extrapolation is performed using the current method.</p> |
| 157 | +<h1><a class="anchor" id="qinterp1_ex1"></a> |
| 158 | +Example : Code snippet that demonstrates the spline interpolation .</h1> |
| 159 | +<div class="fragment"><div class="line"><span class="keywordtype">float</span> xdat[] = { 1.0f, 6.0f, 11.0f, 16.0f, 21.0f, 26.0f, 31.0f, 36.0f };</div> |
| 160 | +<div class="line"><span class="keywordtype">float</span> ydat[] = { 59.6870f, 44.5622f, -0.8642f , 0.8725f, -2.3016f, -50.3095f, -54.5966f, 37.9036f };</div> |
| 161 | +<div class="line"><a class="code hl_struct" href="structq_interp1__t.html">qInterp1_t</a> interpolator( xdat, ydat );</div> |
| 162 | +<div class="line"><a class="code hl_function" href="group__qinterp1.html#ga5369a761eea910fea8cdf8ec48debd8c">qInterp1_Setup</a>( &interpolator, xdat, ydat, <span class="keyword">sizeof</span>(xdat)/<span class="keyword">sizeof</span>(xdat[0]) );</div> |
| 163 | +<div class="line"><a class="code hl_function" href="group__qinterp1.html#ga28d258ad80976c5eaa0e7dc5c8663a15">qInterp1_SetMethod</a>( &interpolator, <a class="code hl_enumvalue" href="group__qinterp1.html#ggade2d688f3958e8f1583300d0e3a5558da3fb9cebaaf7705b4d67c560d800dc5f2">QINTERP1_SPLINE</a> );</div> |
| 164 | +<div class="line"><span class="keywordtype">float</span> ye = <a class="code hl_function" href="group__qinterp1.html#ga14d87ce60d9f4c67e79f8588ad16105b">qInterp1_Get</a>( &interpolator, 18.5f ); <span class="comment">//interpolated value at 18.5</span></div> |
| 165 | +<div class="ttc" id="agroup__qinterp1_html_ga14d87ce60d9f4c67e79f8588ad16105b"><div class="ttname"><a href="group__qinterp1.html#ga14d87ce60d9f4c67e79f8588ad16105b">qInterp1_Get</a></div><div class="ttdeci">float qInterp1_Get(qInterp1_t *const i, const float x)</div><div class="ttdoc">Interpolate input point x to determine the value of y at the points xi using the current method....</div><div class="ttdef"><b>Definition</b> qinterp1.c:122</div></div> |
| 166 | +<div class="ttc" id="agroup__qinterp1_html_ga28d258ad80976c5eaa0e7dc5c8663a15"><div class="ttname"><a href="group__qinterp1.html#ga28d258ad80976c5eaa0e7dc5c8663a15">qInterp1_SetMethod</a></div><div class="ttdeci">int qInterp1_SetMethod(qInterp1_t *const i, const qInterp1Method_t m)</div><div class="ttdoc">Specify the interpolation method to use.</div><div class="ttdef"><b>Definition</b> qinterp1.c:98</div></div> |
| 167 | +<div class="ttc" id="agroup__qinterp1_html_ga5369a761eea910fea8cdf8ec48debd8c"><div class="ttname"><a href="group__qinterp1.html#ga5369a761eea910fea8cdf8ec48debd8c">qInterp1_Setup</a></div><div class="ttdeci">int qInterp1_Setup(qInterp1_t *const i, const float *const xTable, const float *const yTable, const size_t sizeTable)</div><div class="ttdoc">Setup and initialize the 1D interpolation instance.</div><div class="ttdef"><b>Definition</b> qinterp1.c:72</div></div> |
| 168 | +<div class="ttc" id="agroup__qinterp1_html_ggade2d688f3958e8f1583300d0e3a5558da3fb9cebaaf7705b4d67c560d800dc5f2"><div class="ttname"><a href="group__qinterp1.html#ggade2d688f3958e8f1583300d0e3a5558da3fb9cebaaf7705b4d67c560d800dc5f2">QINTERP1_SPLINE</a></div><div class="ttdeci">@ QINTERP1_SPLINE</div><div class="ttdef"><b>Definition</b> qinterp1.h:35</div></div> |
| 169 | +<div class="ttc" id="astructq_interp1__t_html"><div class="ttname"><a href="structq_interp1__t.html">qInterp1_t</a></div><div class="ttdef"><b>Definition</b> qinterp1.h:42</div></div> |
| 170 | +</div><!-- fragment --> </div></div><!-- contents --> |
| 171 | +</div><!-- PageDoc --> |
| 172 | +</div><!-- doc-content --> |
| 173 | +<!-- start footer part --> |
| 174 | +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> |
| 175 | + <ul> |
| 176 | + <li class="navelem"><a class="el" href="index.html">qLibs</a></li> |
| 177 | + <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.12.0 </li> |
| 178 | + </ul> |
| 179 | +</div> |
| 180 | +</body> |
| 181 | +</html> |
0 commit comments