PageRenderTime 101ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/lib/lpc/Core/CMSIS/Documentation/DSP_Lib/html/arm__math_8h_source.html

https://bitbucket.org/shadewind/nixiefirmware
HTML | 3817 lines | 3811 code | 2 blank | 4 comment | 0 complexity | f7b3eca46d63f63bd8e5afb289f8226b MD5 | raw file
  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. <title>CMSIS DSP Software Library: arm_math.h Source File</title>
  6. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  7. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  8. <script type="text/javaScript" src="search/search.js"></script>
  9. <link href="doxygen.css" rel="stylesheet" type="text/css"/>
  10. </head>
  11. <body onload='searchBox.OnSelectItem(0);'>
  12. <!-- Generated by Doxygen 1.7.2 -->
  13. <script type="text/javascript"><!--
  14. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  15. --></script>
  16. <div class="navigation" id="top">
  17. <div class="tabs">
  18. <ul class="tablist">
  19. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  20. <li><a href="modules.html"><span>Modules</span></a></li>
  21. <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
  22. <li class="current"><a href="files.html"><span>Files</span></a></li>
  23. <li><a href="examples.html"><span>Examples</span></a></li>
  24. <li id="searchli">
  25. <div id="MSearchBox" class="MSearchBoxInactive">
  26. <span class="left">
  27. <img id="MSearchSelect" src="search/mag_sel.png"
  28. onmouseover="return searchBox.OnSearchSelectShow()"
  29. onmouseout="return searchBox.OnSearchSelectHide()"
  30. alt=""/>
  31. <input type="text" id="MSearchField" value="Search" accesskey="S"
  32. onfocus="searchBox.OnSearchFieldFocus(true)"
  33. onblur="searchBox.OnSearchFieldFocus(false)"
  34. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  35. </span><span class="right">
  36. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  37. </span>
  38. </div>
  39. </li>
  40. </ul>
  41. </div>
  42. <div class="tabs2">
  43. <ul class="tablist">
  44. <li><a href="files.html"><span>File&#160;List</span></a></li>
  45. <li><a href="globals.html"><span>Globals</span></a></li>
  46. </ul>
  47. </div>
  48. <div class="header">
  49. <div class="headertitle">
  50. <h1>arm_math.h</h1> </div>
  51. </div>
  52. <div class="contents">
  53. <a href="arm__math_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* ---------------------------------------------------------------------- </span>
  54. <a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2010 ARM Limited. All rights reserved. </span>
  55. <a name="l00003"></a>00003 <span class="comment"> * </span>
  56. <a name="l00004"></a>00004 <span class="comment"> * $Date: 15. July 2011 </span>
  57. <a name="l00005"></a>00005 <span class="comment"> * $Revision: V1.0.10 </span>
  58. <a name="l00006"></a>00006 <span class="comment"> * </span>
  59. <a name="l00007"></a>00007 <span class="comment"> * Project: CMSIS DSP Library </span>
  60. <a name="l00008"></a>00008 <span class="comment"> * Title: arm_math.h</span>
  61. <a name="l00009"></a>00009 <span class="comment"> * </span>
  62. <a name="l00010"></a>00010 <span class="comment"> * Description: Public header file for CMSIS DSP Library</span>
  63. <a name="l00011"></a>00011 <span class="comment"> * </span>
  64. <a name="l00012"></a>00012 <span class="comment"> * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0</span>
  65. <a name="l00013"></a>00013 <span class="comment"> * </span>
  66. <a name="l00014"></a>00014 <span class="comment"> * Version 1.0.10 2011/7/15 </span>
  67. <a name="l00015"></a>00015 <span class="comment"> * Big Endian support added and Merged M0 and M3/M4 Source code. </span>
  68. <a name="l00016"></a>00016 <span class="comment"> * </span>
  69. <a name="l00017"></a>00017 <span class="comment"> * Version 1.0.3 2010/11/29 </span>
  70. <a name="l00018"></a>00018 <span class="comment"> * Re-organized the CMSIS folders and updated documentation. </span>
  71. <a name="l00019"></a>00019 <span class="comment"> * </span>
  72. <a name="l00020"></a>00020 <span class="comment"> * Version 1.0.2 2010/11/11 </span>
  73. <a name="l00021"></a>00021 <span class="comment"> * Documentation updated. </span>
  74. <a name="l00022"></a>00022 <span class="comment"> * </span>
  75. <a name="l00023"></a>00023 <span class="comment"> * Version 1.0.1 2010/10/05 </span>
  76. <a name="l00024"></a>00024 <span class="comment"> * Production release and review comments incorporated. </span>
  77. <a name="l00025"></a>00025 <span class="comment"> * </span>
  78. <a name="l00026"></a>00026 <span class="comment"> * Version 1.0.0 2010/09/20 </span>
  79. <a name="l00027"></a>00027 <span class="comment"> * Production release and review comments incorporated. </span>
  80. <a name="l00028"></a>00028 <span class="comment"> * -------------------------------------------------------------------- */</span>
  81. <a name="l00029"></a>00029
  82. <a name="l00251"></a>00251 <span class="preprocessor">#ifndef _ARM_MATH_H</span>
  83. <a name="l00252"></a>00252 <span class="preprocessor"></span><span class="preprocessor">#define _ARM_MATH_H</span>
  84. <a name="l00253"></a>00253 <span class="preprocessor"></span>
  85. <a name="l00254"></a><a class="code" href="arm__math_8h.html#a87c3b351c33a90de11a2f23e67867a8a">00254</a> <span class="preprocessor">#define __CMSIS_GENERIC </span><span class="comment">/* disable NVIC and Systick functions */</span>
  86. <a name="l00255"></a>00255
  87. <a name="l00256"></a>00256 <span class="preprocessor">#if defined (ARM_MATH_CM4)</span>
  88. <a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor"> #include &quot;core_cm4.h&quot;</span>
  89. <a name="l00258"></a>00258 <span class="preprocessor">#elif defined (ARM_MATH_CM3)</span>
  90. <a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor"> #include &quot;core_cm3.h&quot;</span>
  91. <a name="l00260"></a>00260 <span class="preprocessor">#elif defined (ARM_MATH_CM0)</span>
  92. <a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor"> #include &quot;core_cm0.h&quot;</span>
  93. <a name="l00262"></a>00262 <span class="preprocessor">#else</span>
  94. <a name="l00263"></a>00263 <span class="preprocessor"></span><span class="preprocessor">#include &quot;ARMCM4.h&quot;</span>
  95. <a name="l00264"></a>00264 <span class="preprocessor">#warning &quot;Define either ARM_MATH_CM4 OR ARM_MATH_CM3...By Default building on ARM_MATH_CM4.....&quot;</span>
  96. <a name="l00265"></a>00265 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
  97. <a name="l00266"></a>00266 <span class="preprocessor"></span>
  98. <a name="l00267"></a>00267 <span class="preprocessor">#undef __CMSIS_GENERIC </span><span class="comment">/* enable NVIC and Systick functions */</span>
  99. <a name="l00268"></a>00268 <span class="preprocessor">#include &quot;string.h&quot;</span>
  100. <a name="l00269"></a>00269 <span class="preprocessor"> #include &quot;math.h&quot;</span>
  101. <a name="l00270"></a>00270 <span class="preprocessor">#ifdef __cplusplus</span>
  102. <a name="l00271"></a>00271 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span>
  103. <a name="l00272"></a>00272 {
  104. <a name="l00273"></a>00273 <span class="preprocessor">#endif</span>
  105. <a name="l00274"></a>00274 <span class="preprocessor"></span>
  106. <a name="l00275"></a>00275
  107. <a name="l00280"></a><a class="code" href="arm__math_8h.html#aad77ae594e95c5af6ae4129bd6a483c2">00280</a> <span class="preprocessor">#define DELTA_Q31 (0x100)</span>
  108. <a name="l00281"></a><a class="code" href="arm__math_8h.html#a663277ff19ad0b409fb98b64b2c2750b">00281</a> <span class="preprocessor"></span><span class="preprocessor">#define DELTA_Q15 0x5</span>
  109. <a name="l00282"></a><a class="code" href="arm__math_8h.html#a29f839928f4752b73c8858d6dbb55294">00282</a> <span class="preprocessor"></span><span class="preprocessor">#define INDEX_MASK 0x0000003F</span>
  110. <a name="l00283"></a><a class="code" href="arm__math_8h.html#a598a3330b3c21701223ee0ca14316eca">00283</a> <span class="preprocessor"></span><span class="preprocessor">#define PI 3.14159265358979f</span>
  111. <a name="l00284"></a>00284 <span class="preprocessor"></span>
  112. <a name="l00289"></a><a class="code" href="arm__math_8h.html#a032503e76d6f69bc67e99e909c8125da">00289</a> <span class="preprocessor">#define TABLE_SIZE 256</span>
  113. <a name="l00290"></a><a class="code" href="arm__math_8h.html#a8407c9e1347d10e3bcf0a7014f1fb2ff">00290</a> <span class="preprocessor"></span><span class="preprocessor">#define TABLE_SPACING_Q31 0x800000</span>
  114. <a name="l00291"></a><a class="code" href="arm__math_8h.html#a60b0142af7be007902142add27919b82">00291</a> <span class="preprocessor"></span><span class="preprocessor">#define TABLE_SPACING_Q15 0x80</span>
  115. <a name="l00292"></a>00292 <span class="preprocessor"></span>
  116. <a name="l00296"></a>00296 <span class="comment">/* 1.31(q31) Fixed value of 2/360 */</span>
  117. <a name="l00297"></a>00297 <span class="comment">/* -1 to +1 is divided into 360 values so total spacing is (2/360) */</span>
  118. <a name="l00298"></a><a class="code" href="arm__math_8h.html#a1339e9abc11a3870e0c04f822a62166a">00298</a> <span class="preprocessor">#define INPUT_SPACING 0xB60B61</span>
  119. <a name="l00299"></a>00299 <span class="preprocessor"></span>
  120. <a name="l00300"></a>00300
  121. <a name="l00305"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6">00305</a> <span class="keyword">typedef</span> <span class="keyword">enum</span>
  122. <a name="l00306"></a>00306 {
  123. <a name="l00307"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">00307</a> <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a> = 0,
  124. <a name="l00308"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a74897e18d4b8f62b12a7d8a01dd2bb35">00308</a> <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a74897e18d4b8f62b12a7d8a01dd2bb35">ARM_MATH_ARGUMENT_ERROR</a> = -1,
  125. <a name="l00309"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9ae74d7f8a53aec0512ae8f0a421e0e1">00309</a> <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9ae74d7f8a53aec0512ae8f0a421e0e1">ARM_MATH_LENGTH_ERROR</a> = -2,
  126. <a name="l00310"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a7071b92f1f6bc3c5c312a237ea91105b">00310</a> <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a7071b92f1f6bc3c5c312a237ea91105b">ARM_MATH_SIZE_MISMATCH</a> = -3,
  127. <a name="l00311"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6ac55996aaf19245238a8f57a91aeaefcc">00311</a> <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6ac55996aaf19245238a8f57a91aeaefcc">ARM_MATH_NANINF</a> = -4,
  128. <a name="l00312"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a91509ea9c819dbd592ac13a6b05382dc">00312</a> <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a91509ea9c819dbd592ac13a6b05382dc">ARM_MATH_SINGULAR</a> = -5,
  129. <a name="l00313"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a09457f2be656b35015fd6d36202fa376">00313</a> <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a09457f2be656b35015fd6d36202fa376">ARM_MATH_TEST_FAILURE</a> = -6
  130. <a name="l00314"></a>00314 } <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a>;
  131. <a name="l00315"></a>00315
  132. <a name="l00319"></a><a class="code" href="arm__math_8h.html#ae541b6f232c305361e9b416fc9eed263">00319</a> <span class="keyword">typedef</span> int8_t <a class="code" href="arm__math_8h.html#ae541b6f232c305361e9b416fc9eed263" title="8-bit fractional data type in 1.7 format.">q7_t</a>;
  133. <a name="l00320"></a>00320
  134. <a name="l00324"></a><a class="code" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">00324</a> <span class="keyword">typedef</span> int16_t <a class="code" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea" title="16-bit fractional data type in 1.15 format.">q15_t</a>;
  135. <a name="l00325"></a>00325
  136. <a name="l00329"></a><a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">00329</a> <span class="keyword">typedef</span> int32_t <a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>;
  137. <a name="l00330"></a>00330
  138. <a name="l00334"></a><a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6">00334</a> <span class="keyword">typedef</span> int64_t <a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>;
  139. <a name="l00335"></a>00335
  140. <a name="l00339"></a><a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">00339</a> <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a>;
  141. <a name="l00340"></a>00340
  142. <a name="l00344"></a><a class="code" href="arm__math_8h.html#ac55f3ae81b5bc9053760baacf57e47f4">00344</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="arm__math_8h.html#ac55f3ae81b5bc9053760baacf57e47f4" title="64-bit floating-point type definition.">float64_t</a>;
  143. <a name="l00345"></a>00345
  144. <a name="l00349"></a><a class="code" href="arm__math_8h.html#a9de2e0a5785be82866bcb96012282248">00349</a> <span class="preprocessor">#define __SIMD32(addr) (*(int32_t **) &amp; (addr))</span>
  145. <a name="l00350"></a>00350 <span class="preprocessor"></span>
  146. <a name="l00351"></a>00351 <span class="preprocessor">#if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0)</span>
  147. <a name="l00352"></a>00352 <span class="preprocessor"></span>
  148. <a name="l00355"></a>00355 <span class="preprocessor">#define __PKHBT(ARG1, ARG2, ARG3) ( (((int32_t)(ARG1) &lt;&lt; 0) &amp; (int32_t)0x0000FFFF) | \</span>
  149. <a name="l00356"></a>00356 <span class="preprocessor"> (((int32_t)(ARG2) &lt;&lt; ARG3) &amp; (int32_t)0xFFFF0000) )</span>
  150. <a name="l00357"></a>00357 <span class="preprocessor"></span>
  151. <a name="l00358"></a>00358 <span class="preprocessor">#endif</span>
  152. <a name="l00359"></a>00359 <span class="preprocessor"></span>
  153. <a name="l00360"></a>00360
  154. <a name="l00364"></a>00364 <span class="preprocessor">#ifndef ARM_MATH_BIG_ENDIAN</span>
  155. <a name="l00365"></a>00365 <span class="preprocessor"></span>
  156. <a name="l00366"></a><a class="code" href="arm__math_8h.html#a3ebff224ad44c217fde9f530342e2960">00366</a> <span class="preprocessor">#define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v0) &lt;&lt; 0) &amp; (int32_t)0x000000FF) | \</span>
  157. <a name="l00367"></a>00367 <span class="preprocessor"> (((int32_t)(v1) &lt;&lt; 8) &amp; (int32_t)0x0000FF00) | \</span>
  158. <a name="l00368"></a>00368 <span class="preprocessor"> (((int32_t)(v2) &lt;&lt; 16) &amp; (int32_t)0x00FF0000) | \</span>
  159. <a name="l00369"></a>00369 <span class="preprocessor"> (((int32_t)(v3) &lt;&lt; 24) &amp; (int32_t)0xFF000000) )</span>
  160. <a name="l00370"></a>00370 <span class="preprocessor"></span><span class="preprocessor">#else </span>
  161. <a name="l00371"></a>00371 <span class="preprocessor"></span>
  162. <a name="l00372"></a>00372 <span class="preprocessor">#define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v3) &lt;&lt; 0) &amp; (int32_t)0x000000FF) | \</span>
  163. <a name="l00373"></a>00373 <span class="preprocessor"> (((int32_t)(v2) &lt;&lt; 8) &amp; (int32_t)0x0000FF00) | \</span>
  164. <a name="l00374"></a>00374 <span class="preprocessor"> (((int32_t)(v1) &lt;&lt; 16) &amp; (int32_t)0x00FF0000) | \</span>
  165. <a name="l00375"></a>00375 <span class="preprocessor"> (((int32_t)(v0) &lt;&lt; 24) &amp; (int32_t)0xFF000000) )</span>
  166. <a name="l00376"></a>00376 <span class="preprocessor"></span>
  167. <a name="l00377"></a>00377 <span class="preprocessor">#endif</span>
  168. <a name="l00378"></a>00378 <span class="preprocessor"></span>
  169. <a name="l00379"></a>00379
  170. <a name="l00383"></a><a class="code" href="arm__math_8h.html#ad7373e53d3c2e1adfeafc8c2e9720b5c">00383</a> <span class="keyword">static</span> __INLINE q31_t <a class="code" href="arm__math_8h.html#ad7373e53d3c2e1adfeafc8c2e9720b5c" title="Clips Q63 to Q31 values.">clip_q63_to_q31</a>(
  171. <a name="l00384"></a>00384 q63_t x)
  172. <a name="l00385"></a>00385 {
  173. <a name="l00386"></a>00386 <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 32) != ((q31_t) x &gt;&gt; 31)) ?
  174. <a name="l00387"></a>00387 ((0x7FFFFFFF ^ ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (x &gt;&gt; 63)))) : (q31_t) x;
  175. <a name="l00388"></a>00388 }
  176. <a name="l00389"></a>00389
  177. <a name="l00393"></a><a class="code" href="arm__math_8h.html#aa6f1e5d0d276f42217e75f071ca84a2e">00393</a> <span class="keyword">static</span> __INLINE q15_t <a class="code" href="arm__math_8h.html#aa6f1e5d0d276f42217e75f071ca84a2e" title="Clips Q63 to Q15 values.">clip_q63_to_q15</a>(
  178. <a name="l00394"></a>00394 q63_t x)
  179. <a name="l00395"></a>00395 {
  180. <a name="l00396"></a>00396 <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 32) != ((q31_t) x &gt;&gt; 31)) ?
  181. <a name="l00397"></a>00397 ((0x7FFF ^ ((<a class="code" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea" title="16-bit fractional data type in 1.15 format.">q15_t</a>) (x &gt;&gt; 63)))) : (q15_t) (x &gt;&gt; 15);
  182. <a name="l00398"></a>00398 }
  183. <a name="l00399"></a>00399
  184. <a name="l00403"></a><a class="code" href="arm__math_8h.html#aa9918ce19228b0d4f072fb84776eabc1">00403</a> <span class="keyword">static</span> __INLINE q7_t <a class="code" href="arm__math_8h.html#aa9918ce19228b0d4f072fb84776eabc1" title="Clips Q31 to Q7 values.">clip_q31_to_q7</a>(
  185. <a name="l00404"></a>00404 q31_t x)
  186. <a name="l00405"></a>00405 {
  187. <a name="l00406"></a>00406 <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 24) != ((q31_t) x &gt;&gt; 23)) ?
  188. <a name="l00407"></a>00407 ((0x7F ^ ((<a class="code" href="arm__math_8h.html#ae541b6f232c305361e9b416fc9eed263" title="8-bit fractional data type in 1.7 format.">q7_t</a>) (x &gt;&gt; 31)))) : (q7_t) x;
  189. <a name="l00408"></a>00408 }
  190. <a name="l00409"></a>00409
  191. <a name="l00413"></a><a class="code" href="arm__math_8h.html#a4af3ca330e14587289518e6565fd04bd">00413</a> <span class="keyword">static</span> __INLINE q15_t <a class="code" href="arm__math_8h.html#a4af3ca330e14587289518e6565fd04bd" title="Clips Q31 to Q15 values.">clip_q31_to_q15</a>(
  192. <a name="l00414"></a>00414 q31_t x)
  193. <a name="l00415"></a>00415 {
  194. <a name="l00416"></a>00416 <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 16) != ((q31_t) x &gt;&gt; 15)) ?
  195. <a name="l00417"></a>00417 ((0x7FFF ^ ((<a class="code" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea" title="16-bit fractional data type in 1.15 format.">q15_t</a>) (x &gt;&gt; 31)))) : (q15_t) x;
  196. <a name="l00418"></a>00418 }
  197. <a name="l00419"></a>00419
  198. <a name="l00424"></a><a class="code" href="arm__math_8h.html#a642a29d71f7951a7f6c0b797c300b711">00424</a> <span class="keyword">static</span> __INLINE q63_t <a class="code" href="arm__math_8h.html#a642a29d71f7951a7f6c0b797c300b711" title="Multiplies 32 X 64 and returns 32 bit result in 2.30 format.">mult32x64</a>(
  199. <a name="l00425"></a>00425 q63_t x,
  200. <a name="l00426"></a>00426 q31_t y)
  201. <a name="l00427"></a>00427 {
  202. <a name="l00428"></a>00428 <span class="keywordflow">return</span> ((((q63_t) (x &amp; 0x00000000FFFFFFFF) * y) &gt;&gt; 32) +
  203. <a name="l00429"></a>00429 (((q63_t) (x &gt;&gt; 32) * y)));
  204. <a name="l00430"></a>00430 }
  205. <a name="l00431"></a>00431
  206. <a name="l00432"></a>00432
  207. <a name="l00433"></a>00433 <span class="preprocessor">#if defined (ARM_MATH_CM0) &amp;&amp; defined ( __CC_ARM )</span>
  208. <a name="l00434"></a>00434 <span class="preprocessor"></span><span class="preprocessor">#define __CLZ __clz</span>
  209. <a name="l00435"></a>00435 <span class="preprocessor"></span><span class="preprocessor">#endif </span>
  210. <a name="l00436"></a>00436 <span class="preprocessor"></span>
  211. <a name="l00437"></a>00437 <span class="preprocessor">#if defined (ARM_MATH_CM0) &amp;&amp; ((defined (__ICCARM__)) ||(defined (__GNUC__)) || defined (__TASKING__) )</span>
  212. <a name="l00438"></a>00438 <span class="preprocessor"></span>
  213. <a name="l00439"></a>00439 uint32_t __CLZ(q31_t data);
  214. <a name="l00440"></a>00440
  215. <a name="l00441"></a>00441
  216. <a name="l00442"></a>00442 <span class="keyword">static</span> __INLINE uint32_t __CLZ(q31_t data)
  217. <a name="l00443"></a>00443 {
  218. <a name="l00444"></a>00444 uint32_t count = 0;
  219. <a name="l00445"></a>00445 uint32_t mask = 0x80000000;
  220. <a name="l00446"></a>00446
  221. <a name="l00447"></a>00447 <span class="keywordflow">while</span>((data &amp; mask) == 0)
  222. <a name="l00448"></a>00448 {
  223. <a name="l00449"></a>00449 count += 1u;
  224. <a name="l00450"></a>00450 mask = mask &gt;&gt; 1u;
  225. <a name="l00451"></a>00451 }
  226. <a name="l00452"></a>00452
  227. <a name="l00453"></a>00453 <span class="keywordflow">return</span>(count);
  228. <a name="l00454"></a>00454
  229. <a name="l00455"></a>00455 }
  230. <a name="l00456"></a>00456
  231. <a name="l00457"></a>00457 <span class="preprocessor">#endif </span>
  232. <a name="l00458"></a>00458 <span class="preprocessor"></span>
  233. <a name="l00463"></a><a class="code" href="arm__math_8h.html#a43140f04ca94c2a7394e7a222e2d8fb4">00463</a> <span class="keyword">static</span> __INLINE uint32_t <a class="code" href="arm__math_8h.html#a43140f04ca94c2a7394e7a222e2d8fb4" title="Function to Calculates 1/in(reciprocal) value of Q31 Data type.">arm_recip_q31</a>(
  234. <a name="l00464"></a>00464 q31_t in,
  235. <a name="l00465"></a>00465 q31_t * dst,
  236. <a name="l00466"></a>00466 q31_t * pRecipTable)
  237. <a name="l00467"></a>00467 {
  238. <a name="l00468"></a>00468
  239. <a name="l00469"></a>00469 uint32_t out, tempVal;
  240. <a name="l00470"></a>00470 uint32_t index, i;
  241. <a name="l00471"></a>00471 uint32_t signBits;
  242. <a name="l00472"></a>00472
  243. <a name="l00473"></a>00473 <span class="keywordflow">if</span>(in &gt; 0)
  244. <a name="l00474"></a>00474 {
  245. <a name="l00475"></a>00475 signBits = __CLZ(in) - 1;
  246. <a name="l00476"></a>00476 }
  247. <a name="l00477"></a>00477 <span class="keywordflow">else</span>
  248. <a name="l00478"></a>00478 {
  249. <a name="l00479"></a>00479 signBits = __CLZ(-in) - 1;
  250. <a name="l00480"></a>00480 }
  251. <a name="l00481"></a>00481
  252. <a name="l00482"></a>00482 <span class="comment">/* Convert input sample to 1.31 format */</span>
  253. <a name="l00483"></a>00483 in = in &lt;&lt; signBits;
  254. <a name="l00484"></a>00484
  255. <a name="l00485"></a>00485 <span class="comment">/* calculation of index for initial approximated Val */</span>
  256. <a name="l00486"></a>00486 index = (uint32_t) (in &gt;&gt; 24u);
  257. <a name="l00487"></a>00487 index = (index &amp; <a class="code" href="arm__math_8h.html#a29f839928f4752b73c8858d6dbb55294">INDEX_MASK</a>);
  258. <a name="l00488"></a>00488
  259. <a name="l00489"></a>00489 <span class="comment">/* 1.31 with exp 1 */</span>
  260. <a name="l00490"></a>00490 out = pRecipTable[index];
  261. <a name="l00491"></a>00491
  262. <a name="l00492"></a>00492 <span class="comment">/* calculation of reciprocal value */</span>
  263. <a name="l00493"></a>00493 <span class="comment">/* running approximation for two iterations */</span>
  264. <a name="l00494"></a>00494 <span class="keywordflow">for</span> (i = 0u; i &lt; 2u; i++)
  265. <a name="l00495"></a>00495 {
  266. <a name="l00496"></a>00496 tempVal = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) in * out) &gt;&gt; 31u);
  267. <a name="l00497"></a>00497 tempVal = 0x7FFFFFFF - tempVal;
  268. <a name="l00498"></a>00498 <span class="comment">/* 1.31 with exp 1 */</span>
  269. <a name="l00499"></a>00499 <span class="comment">//out = (q31_t) (((q63_t) out * tempVal) &gt;&gt; 30u);</span>
  270. <a name="l00500"></a>00500 out = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) <a class="code" href="arm__math_8h.html#ad7373e53d3c2e1adfeafc8c2e9720b5c" title="Clips Q63 to Q31 values.">clip_q63_to_q31</a>(((q63_t) out * tempVal) &gt;&gt; 30u);
  271. <a name="l00501"></a>00501 }
  272. <a name="l00502"></a>00502
  273. <a name="l00503"></a>00503 <span class="comment">/* write output */</span>
  274. <a name="l00504"></a>00504 *dst = out;
  275. <a name="l00505"></a>00505
  276. <a name="l00506"></a>00506 <span class="comment">/* return num of signbits of out = 1/in value */</span>
  277. <a name="l00507"></a>00507 <span class="keywordflow">return</span> (signBits + 1u);
  278. <a name="l00508"></a>00508
  279. <a name="l00509"></a>00509 }
  280. <a name="l00510"></a>00510
  281. <a name="l00514"></a><a class="code" href="arm__math_8h.html#a1c66e370a6ae91aaafbaec5e979198d7">00514</a> <span class="keyword">static</span> __INLINE uint32_t <a class="code" href="arm__math_8h.html#a1c66e370a6ae91aaafbaec5e979198d7" title="Function to Calculates 1/in(reciprocal) value of Q15 Data type.">arm_recip_q15</a>(
  282. <a name="l00515"></a>00515 q15_t in,
  283. <a name="l00516"></a>00516 q15_t * dst,
  284. <a name="l00517"></a>00517 q15_t * pRecipTable)
  285. <a name="l00518"></a>00518 {
  286. <a name="l00519"></a>00519
  287. <a name="l00520"></a>00520 uint32_t out = 0, tempVal = 0;
  288. <a name="l00521"></a>00521 uint32_t index = 0, i = 0;
  289. <a name="l00522"></a>00522 uint32_t signBits = 0;
  290. <a name="l00523"></a>00523
  291. <a name="l00524"></a>00524 <span class="keywordflow">if</span>(in &gt; 0)
  292. <a name="l00525"></a>00525 {
  293. <a name="l00526"></a>00526 signBits = __CLZ(in) - 17;
  294. <a name="l00527"></a>00527 }
  295. <a name="l00528"></a>00528 <span class="keywordflow">else</span>
  296. <a name="l00529"></a>00529 {
  297. <a name="l00530"></a>00530 signBits = __CLZ(-in) - 17;
  298. <a name="l00531"></a>00531 }
  299. <a name="l00532"></a>00532
  300. <a name="l00533"></a>00533 <span class="comment">/* Convert input sample to 1.15 format */</span>
  301. <a name="l00534"></a>00534 in = in &lt;&lt; signBits;
  302. <a name="l00535"></a>00535
  303. <a name="l00536"></a>00536 <span class="comment">/* calculation of index for initial approximated Val */</span>
  304. <a name="l00537"></a>00537 index = in &gt;&gt; 8;
  305. <a name="l00538"></a>00538 index = (index &amp; <a class="code" href="arm__math_8h.html#a29f839928f4752b73c8858d6dbb55294">INDEX_MASK</a>);
  306. <a name="l00539"></a>00539
  307. <a name="l00540"></a>00540 <span class="comment">/* 1.15 with exp 1 */</span>
  308. <a name="l00541"></a>00541 out = pRecipTable[index];
  309. <a name="l00542"></a>00542
  310. <a name="l00543"></a>00543 <span class="comment">/* calculation of reciprocal value */</span>
  311. <a name="l00544"></a>00544 <span class="comment">/* running approximation for two iterations */</span>
  312. <a name="l00545"></a>00545 <span class="keywordflow">for</span> (i = 0; i &lt; 2; i++)
  313. <a name="l00546"></a>00546 {
  314. <a name="l00547"></a>00547 tempVal = (<a class="code" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea" title="16-bit fractional data type in 1.15 format.">q15_t</a>) (((q31_t) in * out) &gt;&gt; 15);
  315. <a name="l00548"></a>00548 tempVal = 0x7FFF - tempVal;
  316. <a name="l00549"></a>00549 <span class="comment">/* 1.15 with exp 1 */</span>
  317. <a name="l00550"></a>00550 out = (<a class="code" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea" title="16-bit fractional data type in 1.15 format.">q15_t</a>) (((q31_t) out * tempVal) &gt;&gt; 14);
  318. <a name="l00551"></a>00551 }
  319. <a name="l00552"></a>00552
  320. <a name="l00553"></a>00553 <span class="comment">/* write output */</span>
  321. <a name="l00554"></a>00554 *dst = out;
  322. <a name="l00555"></a>00555
  323. <a name="l00556"></a>00556 <span class="comment">/* return num of signbits of out = 1/in value */</span>
  324. <a name="l00557"></a>00557 <span class="keywordflow">return</span> (signBits + 1);
  325. <a name="l00558"></a>00558
  326. <a name="l00559"></a>00559 }
  327. <a name="l00560"></a>00560
  328. <a name="l00561"></a>00561
  329. <a name="l00562"></a>00562 <span class="comment">/*</span>
  330. <a name="l00563"></a>00563 <span class="comment"> * @brief C custom defined intrinisic function for only M0 processors</span>
  331. <a name="l00564"></a>00564 <span class="comment"> */</span>
  332. <a name="l00565"></a>00565 <span class="preprocessor">#if defined(ARM_MATH_CM0)</span>
  333. <a name="l00566"></a>00566 <span class="preprocessor"></span>
  334. <a name="l00567"></a>00567 <span class="keyword">static</span> __INLINE q31_t __SSAT(
  335. <a name="l00568"></a>00568 q31_t x,
  336. <a name="l00569"></a>00569 uint32_t y)
  337. <a name="l00570"></a>00570 {
  338. <a name="l00571"></a>00571 int32_t posMax, negMin;
  339. <a name="l00572"></a>00572 uint32_t i;
  340. <a name="l00573"></a>00573
  341. <a name="l00574"></a>00574 posMax = 1;
  342. <a name="l00575"></a>00575 <span class="keywordflow">for</span> (i = 0; i &lt; (y - 1); i++)
  343. <a name="l00576"></a>00576 {
  344. <a name="l00577"></a>00577 posMax = posMax * 2;
  345. <a name="l00578"></a>00578 }
  346. <a name="l00579"></a>00579
  347. <a name="l00580"></a>00580 <span class="keywordflow">if</span>(x &gt; 0)
  348. <a name="l00581"></a>00581 {
  349. <a name="l00582"></a>00582 posMax = (posMax - 1);
  350. <a name="l00583"></a>00583
  351. <a name="l00584"></a>00584 <span class="keywordflow">if</span>(x &gt; posMax)
  352. <a name="l00585"></a>00585 {
  353. <a name="l00586"></a>00586 x = posMax;
  354. <a name="l00587"></a>00587 }
  355. <a name="l00588"></a>00588 }
  356. <a name="l00589"></a>00589 <span class="keywordflow">else</span>
  357. <a name="l00590"></a>00590 {
  358. <a name="l00591"></a>00591 negMin = -posMax;
  359. <a name="l00592"></a>00592
  360. <a name="l00593"></a>00593 <span class="keywordflow">if</span>(x &lt; negMin)
  361. <a name="l00594"></a>00594 {
  362. <a name="l00595"></a>00595 x = negMin;
  363. <a name="l00596"></a>00596 }
  364. <a name="l00597"></a>00597 }
  365. <a name="l00598"></a>00598 <span class="keywordflow">return</span> (x);
  366. <a name="l00599"></a>00599
  367. <a name="l00600"></a>00600
  368. <a name="l00601"></a>00601 }
  369. <a name="l00602"></a>00602
  370. <a name="l00603"></a>00603 <span class="preprocessor">#endif </span><span class="comment">/* end of ARM_MATH_CM0 */</span>
  371. <a name="l00604"></a>00604
  372. <a name="l00605"></a>00605
  373. <a name="l00606"></a>00606
  374. <a name="l00607"></a>00607 <span class="comment">/*</span>
  375. <a name="l00608"></a>00608 <span class="comment"> * @brief C custom defined intrinsic function for M3 and M0 processors</span>
  376. <a name="l00609"></a>00609 <span class="comment"> */</span>
  377. <a name="l00610"></a>00610 <span class="preprocessor">#if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0)</span>
  378. <a name="l00611"></a>00611 <span class="preprocessor"></span>
  379. <a name="l00612"></a>00612 <span class="comment">/*</span>
  380. <a name="l00613"></a>00613 <span class="comment"> * @brief C custom defined QADD8 for M3 and M0 processors</span>
  381. <a name="l00614"></a>00614 <span class="comment"> */</span>
  382. <a name="l00615"></a>00615 <span class="keyword">static</span> __INLINE q31_t __QADD8(
  383. <a name="l00616"></a>00616 q31_t x,
  384. <a name="l00617"></a>00617 q31_t y)
  385. <a name="l00618"></a>00618 {
  386. <a name="l00619"></a>00619
  387. <a name="l00620"></a>00620 q31_t sum;
  388. <a name="l00621"></a>00621 q7_t r, s, t, u;
  389. <a name="l00622"></a>00622
  390. <a name="l00623"></a>00623 r = (char) x;
  391. <a name="l00624"></a>00624 s = (char) y;
  392. <a name="l00625"></a>00625
  393. <a name="l00626"></a>00626 r = __SSAT((q31_t) (r + s), 8);
  394. <a name="l00627"></a>00627 s = __SSAT(((q31_t) (((x &lt;&lt; 16) &gt;&gt; 24) + ((y &lt;&lt; 16) &gt;&gt; 24))), 8);
  395. <a name="l00628"></a>00628 t = __SSAT(((q31_t) (((x &lt;&lt; 8) &gt;&gt; 24) + ((y &lt;&lt; 8) &gt;&gt; 24))), 8);
  396. <a name="l00629"></a>00629 u = __SSAT(((q31_t) ((x &gt;&gt; 24) + (y &gt;&gt; 24))), 8);
  397. <a name="l00630"></a>00630
  398. <a name="l00631"></a>00631 sum = (((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) u &lt;&lt; 24) &amp; 0xFF000000) | (((q31_t) t &lt;&lt; 16) &amp; 0x00FF0000) |
  399. <a name="l00632"></a>00632 (((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) s &lt;&lt; 8) &amp; 0x0000FF00) | (r &amp; 0x000000FF);
  400. <a name="l00633"></a>00633
  401. <a name="l00634"></a>00634 <span class="keywordflow">return</span> sum;
  402. <a name="l00635"></a>00635
  403. <a name="l00636"></a>00636 }
  404. <a name="l00637"></a>00637
  405. <a name="l00638"></a>00638 <span class="comment">/*</span>
  406. <a name="l00639"></a>00639 <span class="comment"> * @brief C custom defined QSUB8 for M3 and M0 processors</span>
  407. <a name="l00640"></a>00640 <span class="comment"> */</span>
  408. <a name="l00641"></a>00641 <span class="keyword">static</span> __INLINE q31_t __QSUB8(
  409. <a name="l00642"></a>00642 q31_t x,
  410. <a name="l00643"></a>00643 q31_t y)
  411. <a name="l00644"></a>00644 {
  412. <a name="l00645"></a>00645
  413. <a name="l00646"></a>00646 q31_t sum;
  414. <a name="l00647"></a>00647 q31_t r, s, t, u;
  415. <a name="l00648"></a>00648
  416. <a name="l00649"></a>00649 r = (char) x;
  417. <a name="l00650"></a>00650 s = (char) y;
  418. <a name="l00651"></a>00651
  419. <a name="l00652"></a>00652 r = __SSAT((r - s), 8);
  420. <a name="l00653"></a>00653 s = __SSAT(((q31_t) (((x &lt;&lt; 16) &gt;&gt; 24) - ((y &lt;&lt; 16) &gt;&gt; 24))), 8) &lt;&lt; 8;
  421. <a name="l00654"></a>00654 t = __SSAT(((q31_t) (((x &lt;&lt; 8) &gt;&gt; 24) - ((y &lt;&lt; 8) &gt;&gt; 24))), 8) &lt;&lt; 16;
  422. <a name="l00655"></a>00655 u = __SSAT(((q31_t) ((x &gt;&gt; 24) - (y &gt;&gt; 24))), 8) &lt;&lt; 24;
  423. <a name="l00656"></a>00656
  424. <a name="l00657"></a>00657 sum =
  425. <a name="l00658"></a>00658 (u &amp; 0xFF000000) | (t &amp; 0x00FF0000) | (s &amp; 0x0000FF00) | (r &amp; 0x000000FF);
  426. <a name="l00659"></a>00659
  427. <a name="l00660"></a>00660 <span class="keywordflow">return</span> sum;
  428. <a name="l00661"></a>00661 }
  429. <a name="l00662"></a>00662
  430. <a name="l00663"></a>00663 <span class="comment">/*</span>
  431. <a name="l00664"></a>00664 <span class="comment"> * @brief C custom defined QADD16 for M3 and M0 processors</span>
  432. <a name="l00665"></a>00665 <span class="comment"> */</span>
  433. <a name="l00666"></a>00666
  434. <a name="l00667"></a>00667 <span class="comment">/*</span>
  435. <a name="l00668"></a>00668 <span class="comment"> * @brief C custom defined QADD16 for M3 and M0 processors</span>
  436. <a name="l00669"></a>00669 <span class="comment"> */</span>
  437. <a name="l00670"></a>00670 <span class="keyword">static</span> __INLINE q31_t __QADD16(
  438. <a name="l00671"></a>00671 q31_t x,
  439. <a name="l00672"></a>00672 q31_t y)
  440. <a name="l00673"></a>00673 {
  441. <a name="l00674"></a>00674
  442. <a name="l00675"></a>00675 q31_t sum;
  443. <a name="l00676"></a>00676 q31_t r, s;
  444. <a name="l00677"></a>00677
  445. <a name="l00678"></a>00678 r = (short) x;
  446. <a name="l00679"></a>00679 s = (short) y;
  447. <a name="l00680"></a>00680
  448. <a name="l00681"></a>00681 r = __SSAT(r + s, 16);
  449. <a name="l00682"></a>00682 s = __SSAT(((q31_t) ((x &gt;&gt; 16) + (y &gt;&gt; 16))), 16) &lt;&lt; 16;
  450. <a name="l00683"></a>00683
  451. <a name="l00684"></a>00684 sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
  452. <a name="l00685"></a>00685
  453. <a name="l00686"></a>00686 <span class="keywordflow">return</span> sum;
  454. <a name="l00687"></a>00687
  455. <a name="l00688"></a>00688 }
  456. <a name="l00689"></a>00689
  457. <a name="l00690"></a>00690 <span class="comment">/*</span>
  458. <a name="l00691"></a>00691 <span class="comment"> * @brief C custom defined SHADD16 for M3 and M0 processors</span>
  459. <a name="l00692"></a>00692 <span class="comment"> */</span>
  460. <a name="l00693"></a>00693 <span class="keyword">static</span> __INLINE q31_t __SHADD16(
  461. <a name="l00694"></a>00694 q31_t x,
  462. <a name="l00695"></a>00695 q31_t y)
  463. <a name="l00696"></a>00696 {
  464. <a name="l00697"></a>00697
  465. <a name="l00698"></a>00698 q31_t sum;
  466. <a name="l00699"></a>00699 q31_t r, s;
  467. <a name="l00700"></a>00700
  468. <a name="l00701"></a>00701 r = (short) x;
  469. <a name="l00702"></a>00702 s = (short) y;
  470. <a name="l00703"></a>00703
  471. <a name="l00704"></a>00704 r = ((r &gt;&gt; 1) + (s &gt;&gt; 1));
  472. <a name="l00705"></a>00705 s = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((x &gt;&gt; 17) + (y &gt;&gt; 17))) &lt;&lt; 16;
  473. <a name="l00706"></a>00706
  474. <a name="l00707"></a>00707 sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
  475. <a name="l00708"></a>00708
  476. <a name="l00709"></a>00709 <span class="keywordflow">return</span> sum;
  477. <a name="l00710"></a>00710
  478. <a name="l00711"></a>00711 }
  479. <a name="l00712"></a>00712
  480. <a name="l00713"></a>00713 <span class="comment">/*</span>
  481. <a name="l00714"></a>00714 <span class="comment"> * @brief C custom defined QSUB16 for M3 and M0 processors</span>
  482. <a name="l00715"></a>00715 <span class="comment"> */</span>
  483. <a name="l00716"></a>00716 <span class="keyword">static</span> __INLINE q31_t __QSUB16(
  484. <a name="l00717"></a>00717 q31_t x,
  485. <a name="l00718"></a>00718 q31_t y)
  486. <a name="l00719"></a>00719 {
  487. <a name="l00720"></a>00720
  488. <a name="l00721"></a>00721 q31_t sum;
  489. <a name="l00722"></a>00722 q31_t r, s;
  490. <a name="l00723"></a>00723
  491. <a name="l00724"></a>00724 r = (short) x;
  492. <a name="l00725"></a>00725 s = (short) y;
  493. <a name="l00726"></a>00726
  494. <a name="l00727"></a>00727 r = __SSAT(r - s, 16);
  495. <a name="l00728"></a>00728 s = __SSAT(((q31_t) ((x &gt;&gt; 16) - (y &gt;&gt; 16))), 16) &lt;&lt; 16;
  496. <a name="l00729"></a>00729
  497. <a name="l00730"></a>00730 sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
  498. <a name="l00731"></a>00731
  499. <a name="l00732"></a>00732 <span class="keywordflow">return</span> sum;
  500. <a name="l00733"></a>00733 }
  501. <a name="l00734"></a>00734
  502. <a name="l00735"></a>00735 <span class="comment">/*</span>
  503. <a name="l00736"></a>00736 <span class="comment"> * @brief C custom defined SHSUB16 for M3 and M0 processors</span>
  504. <a name="l00737"></a>00737 <span class="comment"> */</span>
  505. <a name="l00738"></a>00738 <span class="keyword">static</span> __INLINE q31_t __SHSUB16(
  506. <a name="l00739"></a>00739 q31_t x,
  507. <a name="l00740"></a>00740 q31_t y)
  508. <a name="l00741"></a>00741 {
  509. <a name="l00742"></a>00742
  510. <a name="l00743"></a>00743 q31_t diff;
  511. <a name="l00744"></a>00744 q31_t r, s;
  512. <a name="l00745"></a>00745
  513. <a name="l00746"></a>00746 r = (short) x;
  514. <a name="l00747"></a>00747 s = (short) y;
  515. <a name="l00748"></a>00748
  516. <a name="l00749"></a>00749 r = ((r &gt;&gt; 1) - (s &gt;&gt; 1));
  517. <a name="l00750"></a>00750 s = (((x &gt;&gt; 17) - (y &gt;&gt; 17)) &lt;&lt; 16);
  518. <a name="l00751"></a>00751
  519. <a name="l00752"></a>00752 diff = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
  520. <a name="l00753"></a>00753
  521. <a name="l00754"></a>00754 <span class="keywordflow">return</span> diff;
  522. <a name="l00755"></a>00755 }
  523. <a name="l00756"></a>00756
  524. <a name="l00757"></a>00757 <span class="comment">/*</span>
  525. <a name="l00758"></a>00758 <span class="comment"> * @brief C custom defined QASX for M3 and M0 processors</span>
  526. <a name="l00759"></a>00759 <span class="comment"> */</span>
  527. <a name="l00760"></a>00760 <span class="keyword">static</span> __INLINE q31_t __QASX(
  528. <a name="l00761"></a>00761 q31_t x,
  529. <a name="l00762"></a>00762 q31_t y)
  530. <a name="l00763"></a>00763 {
  531. <a name="l00764"></a>00764
  532. <a name="l00765"></a>00765 q31_t sum = 0;
  533. <a name="l00766"></a>00766
  534. <a name="l00767"></a>00767 sum = ((sum + <a class="code" href="arm__math_8h.html#a4af3ca330e14587289518e6565fd04bd" title="Clips Q31 to Q15 values.">clip_q31_to_q15</a>((q31_t) ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) + (<span class="keywordtype">short</span>) y))) &lt;&lt; 16) +
  535. <a name="l00768"></a>00768 <a class="code" href="arm__math_8h.html#a4af3ca330e14587289518e6565fd04bd" title="Clips Q31 to Q15 values.">clip_q31_to_q15</a>((q31_t) ((<span class="keywordtype">short</span>) x - (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
  536. <a name="l00769"></a>00769
  537. <a name="l00770"></a>00770 <span class="keywordflow">return</span> sum;
  538. <a name="l00771"></a>00771 }
  539. <a name="l00772"></a>00772
  540. <a name="l00773"></a>00773 <span class="comment">/*</span>
  541. <a name="l00774"></a>00774 <span class="comment"> * @brief C custom defined SHASX for M3 and M0 processors</span>
  542. <a name="l00775"></a>00775 <span class="comment"> */</span>
  543. <a name="l00776"></a>00776 <span class="keyword">static</span> __INLINE q31_t __SHASX(
  544. <a name="l00777"></a>00777 q31_t x,
  545. <a name="l00778"></a>00778 q31_t y)
  546. <a name="l00779"></a>00779 {
  547. <a name="l00780"></a>00780
  548. <a name="l00781"></a>00781 q31_t sum;
  549. <a name="l00782"></a>00782 q31_t r, s;
  550. <a name="l00783"></a>00783
  551. <a name="l00784"></a>00784 r = (short) x;
  552. <a name="l00785"></a>00785 s = (short) y;
  553. <a name="l00786"></a>00786
  554. <a name="l00787"></a>00787 r = ((r &gt;&gt; 1) - (y &gt;&gt; 17));
  555. <a name="l00788"></a>00788 s = (((x &gt;&gt; 17) + (s &gt;&gt; 1)) &lt;&lt; 16);
  556. <a name="l00789"></a>00789
  557. <a name="l00790"></a>00790 sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
  558. <a name="l00791"></a>00791
  559. <a name="l00792"></a>00792 <span class="keywordflow">return</span> sum;
  560. <a name="l00793"></a>00793 }
  561. <a name="l00794"></a>00794
  562. <a name="l00795"></a>00795
  563. <a name="l00796"></a>00796 <span class="comment">/*</span>
  564. <a name="l00797"></a>00797 <span class="comment"> * @brief C custom defined QSAX for M3 and M0 processors</span>
  565. <a name="l00798"></a>00798 <span class="comment"> */</span>
  566. <a name="l00799"></a>00799 <span class="keyword">static</span> __INLINE q31_t __QSAX(
  567. <a name="l00800"></a>00800 q31_t x,
  568. <a name="l00801"></a>00801 q31_t y)
  569. <a name="l00802"></a>00802 {
  570. <a name="l00803"></a>00803
  571. <a name="l00804"></a>00804 q31_t sum = 0;
  572. <a name="l00805"></a>00805
  573. <a name="l00806"></a>00806 sum = ((sum + <a class="code" href="arm__math_8h.html#a4af3ca330e14587289518e6565fd04bd" title="Clips Q31 to Q15 values.">clip_q31_to_q15</a>((q31_t) ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) - (<span class="keywordtype">short</span>) y))) &lt;&lt; 16) +
  574. <a name="l00807"></a>00807 <a class="code" href="arm__math_8h.html#a4af3ca330e14587289518e6565fd04bd" title="Clips Q31 to Q15 values.">clip_q31_to_q15</a>((q31_t) ((<span class="keywordtype">short</span>) x + (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
  575. <a name="l00808"></a>00808
  576. <a name="l00809"></a>00809 <span class="keywordflow">return</span> sum;
  577. <a name="l00810"></a>00810 }
  578. <a name="l00811"></a>00811
  579. <a name="l00812"></a>00812 <span class="comment">/*</span>
  580. <a name="l00813"></a>00813 <span class="comment"> * @brief C custom defined SHSAX for M3 and M0 processors</span>
  581. <a name="l00814"></a>00814 <span class="comment"> */</span>
  582. <a name="l00815"></a>00815 <span class="keyword">static</span> __INLINE q31_t __SHSAX(
  583. <a name="l00816"></a>00816 q31_t x,
  584. <a name="l00817"></a>00817 q31_t y)
  585. <a name="l00818"></a>00818 {
  586. <a name="l00819"></a>00819
  587. <a name="l00820"></a>00820 q31_t sum;
  588. <a name="l00821"></a>00821 q31_t r, s;
  589. <a name="l00822"></a>00822
  590. <a name="l00823"></a>00823 r = (short) x;
  591. <a name="l00824"></a>00824 s = (short) y;
  592. <a name="l00825"></a>00825
  593. <a name="l00826"></a>00826 r = ((r &gt;&gt; 1) + (y &gt;&gt; 17));
  594. <a name="l00827"></a>00827 s = (((x &gt;&gt; 17) - (s &gt;&gt; 1)) &lt;&lt; 16);
  595. <a name="l00828"></a>00828
  596. <a name="l00829"></a>00829 sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
  597. <a name="l00830"></a>00830
  598. <a name="l00831"></a>00831 <span class="keywordflow">return</span> sum;
  599. <a name="l00832"></a>00832 }
  600. <a name="l00833"></a>00833
  601. <a name="l00834"></a>00834 <span class="comment">/*</span>
  602. <a name="l00835"></a>00835 <span class="comment"> * @brief C custom defined SMUSDX for M3 and M0 processors</span>
  603. <a name="l00836"></a>00836 <span class="comment"> */</span>
  604. <a name="l00837"></a>00837 <span class="keyword">static</span> __INLINE q31_t __SMUSDX(
  605. <a name="l00838"></a>00838 q31_t x,
  606. <a name="l00839"></a>00839 q31_t y)
  607. <a name="l00840"></a>00840 {
  608. <a name="l00841"></a>00841
  609. <a name="l00842"></a>00842 <span class="keywordflow">return</span> ((q31_t)(((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) -
  610. <a name="l00843"></a>00843 ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) y)));
  611. <a name="l00844"></a>00844 }
  612. <a name="l00845"></a>00845
  613. <a name="l00846"></a>00846 <span class="comment">/*</span>
  614. <a name="l00847"></a>00847 <span class="comment"> * @brief C custom defined SMUADX for M3 and M0 processors</span>
  615. <a name="l00848"></a>00848 <span class="comment"> */</span>
  616. <a name="l00849"></a>00849 <span class="keyword">static</span> __INLINE q31_t __SMUADX(
  617. <a name="l00850"></a>00850 q31_t x,
  618. <a name="l00851"></a>00851 q31_t y)
  619. <a name="l00852"></a>00852 {
  620. <a name="l00853"></a>00853
  621. <a name="l00854"></a>00854 <span class="keywordflow">return</span> ((q31_t)(((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) +
  622. <a name="l00855"></a>00855 ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) y)));
  623. <a name="l00856"></a>00856 }
  624. <a name="l00857"></a>00857
  625. <a name="l00858"></a>00858 <span class="comment">/*</span>
  626. <a name="l00859"></a>00859 <span class="comment"> * @brief C custom defined QADD for M3 and M0 processors</span>
  627. <a name="l00860"></a>00860 <span class="comment"> */</span>
  628. <a name="l00861"></a>00861 <span class="keyword">static</span> __INLINE q31_t __QADD(
  629. <a name="l00862"></a>00862 q31_t x,
  630. <a name="l00863"></a>00863 q31_t y)
  631. <a name="l00864"></a>00864 {
  632. <a name="l00865"></a>00865 <span class="keywordflow">return</span> <a class="code" href="arm__math_8h.html#ad7373e53d3c2e1adfeafc8c2e9720b5c" title="Clips Q63 to Q31 values.">clip_q63_to_q31</a>((q63_t) x + y);
  633. <a name="l00866"></a>00866 }
  634. <a name="l00867"></a>00867
  635. <a name="l00868"></a>00868 <span class="comment">/*</span>
  636. <a name="l00869"></a>00869 <span class="comment"> * @brief C custom defined QSUB for M3 and M0 processors</span>
  637. <a name="l00870"></a>00870 <span class="comment"> */</span>
  638. <a name="l00871"></a>00871 <span class="keyword">static</span> __INLINE q31_t __QSUB(
  639. <a name="l00872"></a>00872 q31_t x,
  640. <a name="l00873"></a>00873 q31_t y)
  641. <a name="l00874"></a>00874 {
  642. <a name="l00875"></a>00875 <span class="keywordflow">return</span> <a class="code" href="arm__math_8h.html#ad7373e53d3c2e1adfeafc8c2e9720b5c" title="Clips Q63 to Q31 values.">clip_q63_to_q31</a>((q63_t) x - y);
  643. <a name="l00876"></a>00876 }
  644. <a name="l00877"></a>00877
  645. <a name="l00878"></a>00878 <span class="comment">/*</span>
  646. <a name="l00879"></a>00879 <span class="comment"> * @brief C custom defined SMLAD for M3 and M0 processors</span>
  647. <a name="l00880"></a>00880 <span class="comment"> */</span>
  648. <a name="l00881"></a>00881 <span class="keyword">static</span> __INLINE q31_t __SMLAD(
  649. <a name="l00882"></a>00882 q31_t x,
  650. <a name="l00883"></a>00883 q31_t y,
  651. <a name="l00884"></a>00884 q31_t sum)
  652. <a name="l00885"></a>00885 {
  653. <a name="l00886"></a>00886
  654. <a name="l00887"></a>00887 <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) +
  655. <a name="l00888"></a>00888 ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) y));
  656. <a name="l00889"></a>00889 }
  657. <a name="l00890"></a>00890
  658. <a name="l00891"></a>00891 <span class="comment">/*</span>
  659. <a name="l00892"></a>00892 <span class="comment"> * @brief C custom defined SMLADX for M3 and M0 processors</span>
  660. <a name="l00893"></a>00893 <span class="comment"> */</span>
  661. <a name="l00894"></a>00894 <span class="keyword">static</span> __INLINE q31_t __SMLADX(
  662. <a name="l00895"></a>00895 q31_t x,
  663. <a name="l00896"></a>00896 q31_t y,
  664. <a name="l00897"></a>00897 q31_t sum)
  665. <a name="l00898"></a>00898 {
  666. <a name="l00899"></a>00899
  667. <a name="l00900"></a>00900 <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y)) +
  668. <a name="l00901"></a>00901 ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
  669. <a name="l00902"></a>00902 }
  670. <a name="l00903"></a>00903
  671. <a name="l00904"></a>00904 <span class="comment">/*</span>
  672. <a name="l00905"></a>00905 <span class="comment"> * @brief C custom defined SMLSDX for M3 and M0 processors</span>
  673. <a name="l00906"></a>00906 <span class="comment"> */</span>
  674. <a name="l00907"></a>00907 <span class="keyword">static</span> __INLINE q31_t __SMLSDX(
  675. <a name="l00908"></a>00908 q31_t x,
  676. <a name="l00909"></a>00909 q31_t y,
  677. <a name="l00910"></a>00910 q31_t sum)
  678. <a name="l00911"></a>00911 {
  679. <a name="l00912"></a>00912
  680. <a name="l00913"></a>00913 <span class="keywordflow">return</span> (sum - ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y)) +
  681. <a name="l00914"></a>00914 ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
  682. <a name="l00915"></a>00915 }
  683. <a name="l00916"></a>00916
  684. <a name="l00917"></a>00917 <span class="comment">/*</span>
  685. <a name="l00918"></a>00918 <span class="comment"> * @brief C custom defined SMLALD for M3 and M0 processors</span>
  686. <a name="l00919"></a>00919 <span class="comment"> */</span>
  687. <a name="l00920"></a>00920 <span class="keyword">static</span> __INLINE q63_t __SMLALD(
  688. <a name="l00921"></a>00921 q31_t x,
  689. <a name="l00922"></a>00922 q31_t y,
  690. <a name="l00923"></a>00923 q63_t sum)
  691. <a name="l00924"></a>00924 {
  692. <a name="l00925"></a>00925
  693. <a name="l00926"></a>00926 <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) +
  694. <a name="l00927"></a>00927 ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) y));
  695. <a name="l00928"></a>00928 }
  696. <a name="l00929"></a>00929
  697. <a name="l00930"></a>00930 <span class="comment">/*</span>
  698. <a name="l00931"></a>00931 <span class="comment"> * @brief C custom defined SMLALDX for M3 and M0 processors</span>
  699. <a name="l00932"></a>00932 <span class="comment"> */</span>
  700. <a name="l00933"></a>00933 <span class="keyword">static</span> __INLINE q63_t __SMLALDX(
  701. <a name="l00934"></a>00934 q31_t x,
  702. <a name="l00935"></a>00935 q31_t y,
  703. <a name="l00936"></a>00936 q63_t sum)
  704. <a name="l00937"></a>00937 {
  705. <a name="l00938"></a>00938
  706. <a name="l00939"></a>00939 <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) y)) +
  707. <a name="l00940"></a>00940 ((short) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16));
  708. <a name="l00941"></a>00941 }
  709. <a name="l00942"></a>00942
  710. <a name="l00943"></a>00943 <span class="comment">/*</span>
  711. <a name="l00944"></a>00944 <span class="comment"> * @brief C custom defined SMUAD for M3 and M0 processors</span>
  712. <a name="l00945"></a>00945 <span class="comment"> */</span>
  713. <a name="l00946"></a>00946 <span class="keyword">static</span> __INLINE q31_t __SMUAD(
  714. <a name="l00947"></a>00947 q31_t x,
  715. <a name="l00948"></a>00948 q31_t y)
  716. <a name="l00949"></a>00949 {
  717. <a name="l00950"></a>00950
  718. <a name="l00951"></a>00951 <span class="keywordflow">return</span> (((x &gt;&gt; 16) * (y &gt;&gt; 16)) +
  719. <a name="l00952"></a>00952 (((x &lt;&lt; 16) &gt;&gt; 16) * ((y &lt;&lt; 16) &gt;&gt; 16)));
  720. <a name="l00953"></a>00953 }
  721. <a name="l00954"></a>00954
  722. <a name="l00955"></a>00955 <span class="comment">/*</span>
  723. <a name="l00956"></a>00956 <span class="comment"> * @brief C custom defined SMUSD for M3 and M0 processors</span>
  724. <a name="l00957"></a>00957 <span class="comment"> */</span>
  725. <a name="l00958"></a>00958 <span class="keyword">static</span> __INLINE q31_t __SMUSD(
  726. <a name="l00959"></a>00959 q31_t x,
  727. <a name="l00960"></a>00960 q31_t y)
  728. <a name="l00961"></a>00961 {
  729. <a name="l00962"></a>00962
  730. <a name="l00963"></a>00963 <span class="keywordflow">return</span> (-((x &gt;&gt; 16) * (y &gt;&gt; 16)) +
  731. <a name="l00964"></a>00964 (((x &lt;&lt; 16) &gt;&gt; 16) * ((y &lt;&lt; 16) &gt;&gt; 16)));
  732. <a name="l00965"></a>00965 }
  733. <a name="l00966"></a>00966
  734. <a name="l00967"></a>00967
  735. <a name="l00968"></a>00968
  736. <a name="l00969"></a>00969
  737. <a name="l00970"></a>00970 <span class="preprocessor">#endif </span><span class="comment">/* (ARM_MATH_CM3) || defined (ARM_MATH_CM0) */</span>
  738. <a name="l00971"></a>00971
  739. <a name="l00972"></a>00972
  740. <a name="l00976"></a><a class="code" href="structarm__fir__instance__q7.html">00976</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  741. <a name="l00977"></a>00977 {
  742. <a name="l00978"></a><a class="code" href="structarm__fir__instance__q7.html#a9b50840e2c5ef5b17e1a584fb4cf0d06">00978</a> uint16_t <a class="code" href="structarm__fir__instance__q7.html#a9b50840e2c5ef5b17e1a584fb4cf0d06">numTaps</a>;
  743. <a name="l00979"></a><a class="code" href="structarm__fir__instance__q7.html#aaddea3b9c7e16ddfd9428b7bf9f9c200">00979</a> q7_t *<a class="code" href="structarm__fir__instance__q7.html#aaddea3b9c7e16ddfd9428b7bf9f9c200">pState</a>;
  744. <a name="l00980"></a><a class="code" href="structarm__fir__instance__q7.html#a0e45aedefc3fffad6cb315c5b6e5bd49">00980</a> q7_t *<a class="code" href="structarm__fir__instance__q7.html#a0e45aedefc3fffad6cb315c5b6e5bd49">pCoeffs</a>;
  745. <a name="l00981"></a>00981 } <a class="code" href="structarm__fir__instance__q7.html" title="Instance structure for the Q7 FIR filter.">arm_fir_instance_q7</a>;
  746. <a name="l00982"></a>00982
  747. <a name="l00986"></a><a class="code" href="structarm__fir__instance__q15.html">00986</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  748. <a name="l00987"></a>00987 {
  749. <a name="l00988"></a><a class="code" href="structarm__fir__instance__q15.html#a0e46f93cf51bfb18b1be808be9c5bfc9">00988</a> uint16_t <a class="code" href="structarm__fir__instance__q15.html#a0e46f93cf51bfb18b1be808be9c5bfc9">numTaps</a>;
  750. <a name="l00989"></a><a class="code" href="structarm__fir__instance__q15.html#aa8d25f44f45b6a6c4cf38c31569b8a01">00989</a> q15_t *<a class="code" href="structarm__fir__instance__q15.html#aa8d25f44f45b6a6c4cf38c31569b8a01">pState</a>;
  751. <a name="l00990"></a><a class="code" href="structarm__fir__instance__q15.html#a6d16db16a5f8f0db54938f2967244d9e">00990</a> q15_t *<a class="code" href="structarm__fir__instance__q15.html#a6d16db16a5f8f0db54938f2967244d9e">pCoeffs</a>;
  752. <a name="l00991"></a>00991 } <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a>;
  753. <a name="l00992"></a>00992
  754. <a name="l00996"></a><a class="code" href="structarm__fir__instance__q31.html">00996</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  755. <a name="l00997"></a>00997 {
  756. <a name="l00998"></a><a class="code" href="structarm__fir__instance__q31.html#a918fadd775b7a0482b21bf34dae2f094">00998</a> uint16_t <a class="code" href="structarm__fir__instance__q31.html#a918fadd775b7a0482b21bf34dae2f094">numTaps</a>;
  757. <a name="l00999"></a><a class="code" href="structarm__fir__instance__q31.html#a409f39c93b744784648bdc365541444d">00999</a> q31_t *<a class="code" href="structarm__fir__instance__q31.html#a409f39c93b744784648bdc365541444d">pState</a>;
  758. <a name="l01000"></a><a class="code" href="structarm__fir__instance__q31.html#afaae4c884bdf11a4ec2f3b9bb2bb51d0">01000</a> q31_t *<a class="code" href="structarm__fir__instance__q31.html#afaae4c884bdf11a4ec2f3b9bb2bb51d0">pCoeffs</a>;
  759. <a name="l01001"></a>01001 } <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a>;
  760. <a name="l01002"></a>01002
  761. <a name="l01006"></a><a class="code" href="structarm__fir__instance__f32.html">01006</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  762. <a name="l01007"></a>01007 {
  763. <a name="l01008"></a><a class="code" href="structarm__fir__instance__f32.html#a20cf98c92b5323799b7881c9ff4d2f7c">01008</a> uint16_t <a class="code" href="structarm__fir__instance__f32.html#a20cf98c92b5323799b7881c9ff4d2f7c">numTaps</a>;
  764. <a name="l01009"></a><a class="code" href="structarm__fir__instance__f32.html#a7afcf4022e8560db9b8fd28b0d090a15">01009</a> float32_t *<a class="code" href="structarm__fir__instance__f32.html#a7afcf4022e8560db9b8fd28b0d090a15">pState</a>;
  765. <a name="l01010"></a><a class="code" href="structarm__fir__instance__f32.html#a1c9cfca901d5902afeb640f2831488f4">01010</a> float32_t *<a class="code" href="structarm__fir__instance__f32.html#a1c9cfca901d5902afeb640f2831488f4">pCoeffs</a>;
  766. <a name="l01011"></a>01011 } <a class="code" href="structarm__fir__instance__f32.html" title="Instance structure for the floating-point FIR filter.">arm_fir_instance_f32</a>;
  767. <a name="l01012"></a>01012
  768. <a name="l01013"></a>01013
  769. <a name="l01022"></a>01022 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#ga31c91a0bf0962327ef8f626fae68ea32" title="Processing function for the Q7 FIR filter.">arm_fir_q7</a>(
  770. <a name="l01023"></a>01023 <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q7.html" title="Instance structure for the Q7 FIR filter.">arm_fir_instance_q7</a> * S,
  771. <a name="l01024"></a>01024 q7_t * pSrc,
  772. <a name="l01025"></a>01025 q7_t * pDst,
  773. <a name="l01026"></a>01026 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  774. <a name="l01027"></a>01027
  775. <a name="l01028"></a>01028
  776. <a name="l01038"></a>01038 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#ga88e48688224d42dc173dbcec702f0c1d" title="Initialization function for the Q7 FIR filter.">arm_fir_init_q7</a>(
  777. <a name="l01039"></a>01039 <a class="code" href="structarm__fir__instance__q7.html" title="Instance structure for the Q7 FIR filter.">arm_fir_instance_q7</a> * S,
  778. <a name="l01040"></a>01040 uint16_t numTaps,
  779. <a name="l01041"></a>01041 q7_t * pCoeffs,
  780. <a name="l01042"></a>01042 q7_t * pState,
  781. <a name="l01043"></a>01043 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  782. <a name="l01044"></a>01044
  783. <a name="l01045"></a>01045
  784. <a name="l01054"></a>01054 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#ga262d173058d6f80fdf60404ba262a8f5" title="Processing function for the Q15 FIR filter.">arm_fir_q15</a>(
  785. <a name="l01055"></a>01055 <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a> * S,
  786. <a name="l01056"></a>01056 q15_t * pSrc,
  787. <a name="l01057"></a>01057 q15_t * pDst,
  788. <a name="l01058"></a>01058 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  789. <a name="l01059"></a>01059
  790. <a name="l01068"></a>01068 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#gac7d35e9472e49ccd88800f37f3476bd3" title="Processing function for the fast Q15 FIR filter for Cortex-M3 and Cortex-M4.">arm_fir_fast_q15</a>(
  791. <a name="l01069"></a>01069 <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a> * S,
  792. <a name="l01070"></a>01070 q15_t * pSrc,
  793. <a name="l01071"></a>01071 q15_t * pDst,
  794. <a name="l01072"></a>01072 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  795. <a name="l01073"></a>01073
  796. <a name="l01085"></a>01085 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___f_i_r.html#gae2a50f692f41ba57e44ed0719b1368bd" title="Initialization function for the Q15 FIR filter.">arm_fir_init_q15</a>(
  797. <a name="l01086"></a>01086 <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a> * S,
  798. <a name="l01087"></a>01087 uint16_t numTaps,
  799. <a name="l01088"></a>01088 q15_t * pCoeffs,
  800. <a name="l01089"></a>01089 q15_t * pState,
  801. <a name="l01090"></a>01090 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  802. <a name="l01091"></a>01091
  803. <a name="l01100"></a>01100 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#gaadd938c68ab08967cbb5fc696f384bb5" title="Processing function for the Q31 FIR filter.">arm_fir_q31</a>(
  804. <a name="l01101"></a>01101 <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a> * S,
  805. <a name="l01102"></a>01102 q31_t * pSrc,
  806. <a name="l01103"></a>01103 q31_t * pDst,
  807. <a name="l01104"></a>01104 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  808. <a name="l01105"></a>01105
  809. <a name="l01114"></a>01114 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#ga55aa292e057b43c376428ea1d9a938cc" title="Processing function for the fast Q31 FIR filter for Cortex-M3 and Cortex-M4.">arm_fir_fast_q31</a>(
  810. <a name="l01115"></a>01115 <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a> * S,
  811. <a name="l01116"></a>01116 q31_t * pSrc,
  812. <a name="l01117"></a>01117 q31_t * pDst,
  813. <a name="l01118"></a>01118 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  814. <a name="l01119"></a>01119
  815. <a name="l01129"></a>01129 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#gac00d53af87684cbbe135767b55e748a5" title="Initialization function for the Q31 FIR filter.">arm_fir_init_q31</a>(
  816. <a name="l01130"></a>01130 <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a> * S,
  817. <a name="l01131"></a>01131 uint16_t numTaps,
  818. <a name="l01132"></a>01132 q31_t * pCoeffs,
  819. <a name="l01133"></a>01133 q31_t * pState,
  820. <a name="l01134"></a>01134 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  821. <a name="l01135"></a>01135
  822. <a name="l01144"></a>01144 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#gae8fb334ea67eb6ecbd31824ddc14cd6a" title="Processing function for the floating-point FIR filter.">arm_fir_f32</a>(
  823. <a name="l01145"></a>01145 <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__f32.html" title="Instance structure for the floating-point FIR filter.">arm_fir_instance_f32</a> * S,
  824. <a name="l01146"></a>01146 float32_t * pSrc,
  825. <a name="l01147"></a>01147 float32_t * pDst,
  826. <a name="l01148"></a>01148 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  827. <a name="l01149"></a>01149
  828. <a name="l01159"></a>01159 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r.html#ga98d13def6427e29522829f945d0967db" title="Initialization function for the floating-point FIR filter.">arm_fir_init_f32</a>(
  829. <a name="l01160"></a>01160 <a class="code" href="structarm__fir__instance__f32.html" title="Instance structure for the floating-point FIR filter.">arm_fir_instance_f32</a> * S,
  830. <a name="l01161"></a>01161 uint16_t numTaps,
  831. <a name="l01162"></a>01162 float32_t * pCoeffs,
  832. <a name="l01163"></a>01163 float32_t * pState,
  833. <a name="l01164"></a>01164 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  834. <a name="l01165"></a>01165
  835. <a name="l01166"></a>01166
  836. <a name="l01170"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html">01170</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  837. <a name="l01171"></a>01171 {
  838. <a name="l01172"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#ad6d95e70abcf4ff1300181415ad92153">01172</a> int8_t <a class="code" href="structarm__biquad__casd__df1__inst__q15.html#ad6d95e70abcf4ff1300181415ad92153">numStages</a>;
  839. <a name="l01173"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a5481104ef2f8f81360b80b47d69ae932">01173</a> q15_t *<a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a5481104ef2f8f81360b80b47d69ae932">pState</a>;
  840. <a name="l01174"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a1edaacdebb5b09d7635bf20c779855fc">01174</a> q15_t *<a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a1edaacdebb5b09d7635bf20c779855fc">pCoeffs</a>;
  841. <a name="l01175"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#ada7e9d6269e6ed4eacf8f68729e9832d">01175</a> int8_t <a class="code" href="structarm__biquad__casd__df1__inst__q15.html#ada7e9d6269e6ed4eacf8f68729e9832d">postShift</a>;
  842. <a name="l01177"></a>01177 } <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a>;
  843. <a name="l01178"></a>01178
  844. <a name="l01179"></a>01179
  845. <a name="l01183"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html">01183</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  846. <a name="l01184"></a>01184 {
  847. <a name="l01185"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a2c2b579f1df1d8273a5d9d945c27e1b2">01185</a> uint32_t <a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a2c2b579f1df1d8273a5d9d945c27e1b2">numStages</a>;
  848. <a name="l01186"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a5dcf4727f58eb4e8e8b392508d8657bb">01186</a> q31_t *<a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a5dcf4727f58eb4e8e8b392508d8657bb">pState</a>;
  849. <a name="l01187"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#aa62366c632f3b5305086f841f079dbd2">01187</a> q31_t *<a class="code" href="structarm__biquad__casd__df1__inst__q31.html#aa62366c632f3b5305086f841f079dbd2">pCoeffs</a>;
  850. <a name="l01188"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a636c7fbe09ec4bef0bc0a4b4e2151cbe">01188</a> uint8_t <a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a636c7fbe09ec4bef0bc0a4b4e2151cbe">postShift</a>;
  851. <a name="l01190"></a>01190 } <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a>;
  852. <a name="l01191"></a>01191
  853. <a name="l01195"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html">01195</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  854. <a name="l01196"></a>01196 {
  855. <a name="l01197"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html#af69820c37a87252c46453e4cfe120585">01197</a> uint32_t <a class="code" href="structarm__biquad__casd__df1__inst__f32.html#af69820c37a87252c46453e4cfe120585">numStages</a>;
  856. <a name="l01198"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html#a8c245d79e0d8cfabc82409d4b54fb682">01198</a> float32_t *<a class="code" href="structarm__biquad__casd__df1__inst__f32.html#a8c245d79e0d8cfabc82409d4b54fb682">pState</a>;
  857. <a name="l01199"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html#af9df3820576fb921809d1462c9c6d16c">01199</a> float32_t *<a class="code" href="structarm__biquad__casd__df1__inst__f32.html#af9df3820576fb921809d1462c9c6d16c">pCoeffs</a>;
  858. <a name="l01202"></a>01202 } <a class="code" href="structarm__biquad__casd__df1__inst__f32.html" title="Instance structure for the floating-point Biquad cascade filter.">arm_biquad_casd_df1_inst_f32</a>;
  859. <a name="l01203"></a>01203
  860. <a name="l01204"></a>01204
  861. <a name="l01205"></a>01205
  862. <a name="l01215"></a>01215 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#gadd66a0aefdc645031d607b0a5b37a942" title="Processing function for the Q15 Biquad cascade filter.">arm_biquad_cascade_df1_q15</a>(
  863. <a name="l01216"></a>01216 <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a> * S,
  864. <a name="l01217"></a>01217 q15_t * pSrc,
  865. <a name="l01218"></a>01218 q15_t * pDst,
  866. <a name="l01219"></a>01219 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  867. <a name="l01220"></a>01220
  868. <a name="l01231"></a>01231 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#gad54c724132f6d742a444eb6df0e9c731" title="Initialization function for the Q15 Biquad cascade filter.">arm_biquad_cascade_df1_init_q15</a>(
  869. <a name="l01232"></a>01232 <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a> * S,
  870. <a name="l01233"></a>01233 uint8_t numStages,
  871. <a name="l01234"></a>01234 q15_t * pCoeffs,
  872. <a name="l01235"></a>01235 q15_t * pState,
  873. <a name="l01236"></a>01236 int8_t postShift);
  874. <a name="l01237"></a>01237
  875. <a name="l01238"></a>01238
  876. <a name="l01248"></a>01248 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#gaffb9792c0220882efd4c58f3c6a05fd7" title="Fast but less precise processing function for the Q15 Biquad cascade filter for Cortex-M3 and Cortex-...">arm_biquad_cascade_df1_fast_q15</a>(
  877. <a name="l01249"></a>01249 <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a> * S,
  878. <a name="l01250"></a>01250 q15_t * pSrc,
  879. <a name="l01251"></a>01251 q15_t * pDst,
  880. <a name="l01252"></a>01252 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  881. <a name="l01253"></a>01253
  882. <a name="l01254"></a>01254
  883. <a name="l01264"></a>01264 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#ga27b0c54da702713976e5202d20b4473f" title="Processing function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_q31</a>(
  884. <a name="l01265"></a>01265 <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> * S,
  885. <a name="l01266"></a>01266 q31_t * pSrc,
  886. <a name="l01267"></a>01267 q31_t * pDst,
  887. <a name="l01268"></a>01268 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  888. <a name="l01269"></a>01269
  889. <a name="l01279"></a>01279 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#ga456390f5e448afad3a38bed7d6e380e3" title="Fast but less precise processing function for the Q31 Biquad cascade filter for Cortex-M3 and Cortex-...">arm_biquad_cascade_df1_fast_q31</a>(
  890. <a name="l01280"></a>01280 <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> * S,
  891. <a name="l01281"></a>01281 q31_t * pSrc,
  892. <a name="l01282"></a>01282 q31_t * pDst,
  893. <a name="l01283"></a>01283 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  894. <a name="l01284"></a>01284
  895. <a name="l01295"></a>01295 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#gaf42a44f9b16d61e636418c83eefe577b" title="Initialization function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_init_q31</a>(
  896. <a name="l01296"></a>01296 <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> * S,
  897. <a name="l01297"></a>01297 uint8_t numStages,
  898. <a name="l01298"></a>01298 q31_t * pCoeffs,
  899. <a name="l01299"></a>01299 q31_t * pState,
  900. <a name="l01300"></a>01300 int8_t postShift);
  901. <a name="l01301"></a>01301
  902. <a name="l01311"></a>01311 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#gaa0dbe330d763e3c1d8030b3ef12d5bdc" title="Processing function for the floating-point Biquad cascade filter.">arm_biquad_cascade_df1_f32</a>(
  903. <a name="l01312"></a>01312 <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__f32.html" title="Instance structure for the floating-point Biquad cascade filter.">arm_biquad_casd_df1_inst_f32</a> * S,
  904. <a name="l01313"></a>01313 float32_t * pSrc,
  905. <a name="l01314"></a>01314 float32_t * pDst,
  906. <a name="l01315"></a>01315 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  907. <a name="l01316"></a>01316
  908. <a name="l01326"></a>01326 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1.html#ga8e73b69a788e681a61bccc8959d823c5" title="Initialization function for the floating-point Biquad cascade filter.">arm_biquad_cascade_df1_init_f32</a>(
  909. <a name="l01327"></a>01327 <a class="code" href="structarm__biquad__casd__df1__inst__f32.html" title="Instance structure for the floating-point Biquad cascade filter.">arm_biquad_casd_df1_inst_f32</a> * S,
  910. <a name="l01328"></a>01328 uint8_t numStages,
  911. <a name="l01329"></a>01329 float32_t * pCoeffs,
  912. <a name="l01330"></a>01330 float32_t * pState);
  913. <a name="l01331"></a>01331
  914. <a name="l01332"></a>01332
  915. <a name="l01337"></a><a class="code" href="structarm__matrix__instance__f32.html">01337</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  916. <a name="l01338"></a>01338 {
  917. <a name="l01339"></a><a class="code" href="structarm__matrix__instance__f32.html#a23f4e34d70a82c9cad7612add5640b7b">01339</a> uint16_t <a class="code" href="structarm__matrix__instance__f32.html#a23f4e34d70a82c9cad7612add5640b7b">numRows</a>;
  918. <a name="l01340"></a><a class="code" href="structarm__matrix__instance__f32.html#acdd1fb73734df68b89565c54f1dd8ae2">01340</a> uint16_t <a class="code" href="structarm__matrix__instance__f32.html#acdd1fb73734df68b89565c54f1dd8ae2">numCols</a>;
  919. <a name="l01341"></a><a class="code" href="structarm__matrix__instance__f32.html#af3917c032600a9dfd5ed4a96f074910a">01341</a> float32_t *<a class="code" href="structarm__matrix__instance__f32.html#af3917c032600a9dfd5ed4a96f074910a">pData</a>;
  920. <a name="l01342"></a>01342 } <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a>;
  921. <a name="l01343"></a>01343
  922. <a name="l01348"></a><a class="code" href="structarm__matrix__instance__q15.html">01348</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  923. <a name="l01349"></a>01349 {
  924. <a name="l01350"></a><a class="code" href="structarm__matrix__instance__q15.html#a9bac6ed54be287c4d4f01a1a28be65f5">01350</a> uint16_t <a class="code" href="structarm__matrix__instance__q15.html#a9bac6ed54be287c4d4f01a1a28be65f5">numRows</a>;
  925. <a name="l01351"></a><a class="code" href="structarm__matrix__instance__q15.html#acbbce67ba058d8e1c867c71d57288c97">01351</a> uint16_t <a class="code" href="structarm__matrix__instance__q15.html#acbbce67ba058d8e1c867c71d57288c97">numCols</a>;
  926. <a name="l01352"></a><a class="code" href="structarm__matrix__instance__q15.html#a6da33a5553e634787d0f515cf8d724af">01352</a> q15_t *<a class="code" href="structarm__matrix__instance__q15.html#a6da33a5553e634787d0f515cf8d724af">pData</a>;
  927. <a name="l01354"></a>01354 } <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a>;
  928. <a name="l01355"></a>01355
  929. <a name="l01360"></a><a class="code" href="structarm__matrix__instance__q31.html">01360</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  930. <a name="l01361"></a>01361 {
  931. <a name="l01362"></a><a class="code" href="structarm__matrix__instance__q31.html#a63bacac158a821c8cfc06088d251598c">01362</a> uint16_t <a class="code" href="structarm__matrix__instance__q31.html#a63bacac158a821c8cfc06088d251598c">numRows</a>;
  932. <a name="l01363"></a><a class="code" href="structarm__matrix__instance__q31.html#abd161da7614eda927157f18b698074b1">01363</a> uint16_t <a class="code" href="structarm__matrix__instance__q31.html#abd161da7614eda927157f18b698074b1">numCols</a>;
  933. <a name="l01364"></a><a class="code" href="structarm__matrix__instance__q31.html#a09a64267c0579fef086efc9059741e56">01364</a> q31_t *<a class="code" href="structarm__matrix__instance__q31.html#a09a64267c0579fef086efc9059741e56">pData</a>;
  934. <a name="l01366"></a>01366 } <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a>;
  935. <a name="l01367"></a>01367
  936. <a name="l01368"></a>01368
  937. <a name="l01369"></a>01369
  938. <a name="l01379"></a>01379 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_add.html#ga04bbf64a5f9c9e57dd1efb26a768aba1" title="Floating-point matrix addition.">arm_mat_add_f32</a>(
  939. <a name="l01380"></a>01380 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcA,
  940. <a name="l01381"></a>01381 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcB,
  941. <a name="l01382"></a>01382 <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
  942. <a name="l01383"></a>01383
  943. <a name="l01393"></a>01393 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_add.html#ga147e90b7c12a162735ab8824127a33ee" title="Q15 matrix addition.">arm_mat_add_q15</a>(
  944. <a name="l01394"></a>01394 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
  945. <a name="l01395"></a>01395 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
  946. <a name="l01396"></a>01396 <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
  947. <a name="l01397"></a>01397
  948. <a name="l01407"></a>01407 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_add.html#ga7d9d7d81a0832a17b831aad1e4a5dc16" title="Q31 matrix addition.">arm_mat_add_q31</a>(
  949. <a name="l01408"></a>01408 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
  950. <a name="l01409"></a>01409 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
  951. <a name="l01410"></a>01410 <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
  952. <a name="l01411"></a>01411
  953. <a name="l01412"></a>01412
  954. <a name="l01421"></a>01421 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_trans.html#gad7dd9f108429da13d3864696ceeec789" title="Floating-point matrix transpose.">arm_mat_trans_f32</a>(
  955. <a name="l01422"></a>01422 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrc,
  956. <a name="l01423"></a>01423 <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
  957. <a name="l01424"></a>01424
  958. <a name="l01425"></a>01425
  959. <a name="l01434"></a>01434 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_trans.html#ga4f4f821cc695fd0ef9061d702e08050a" title="Q15 matrix transpose.">arm_mat_trans_q15</a>(
  960. <a name="l01435"></a>01435 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrc,
  961. <a name="l01436"></a>01436 <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
  962. <a name="l01437"></a>01437
  963. <a name="l01446"></a>01446 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_trans.html#ga30a4d49489ac67ff98a46b9f58f73bf1" title="Q31 matrix transpose.">arm_mat_trans_q31</a>(
  964. <a name="l01447"></a>01447 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrc,
  965. <a name="l01448"></a>01448 <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
  966. <a name="l01449"></a>01449
  967. <a name="l01450"></a>01450
  968. <a name="l01460"></a>01460 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_mult.html#ga917bf0270310c1d3f0eda1fc7c0026a0" title="Floating-point matrix multiplication.">arm_mat_mult_f32</a>(
  969. <a name="l01461"></a>01461 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcA,
  970. <a name="l01462"></a>01462 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcB,
  971. <a name="l01463"></a>01463 <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
  972. <a name="l01464"></a>01464
  973. <a name="l01474"></a>01474 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_mult.html#ga7521d59196189bb6dde26e8cdfb66e21" title="Q15 matrix multiplication.">arm_mat_mult_q15</a>(
  974. <a name="l01475"></a>01475 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
  975. <a name="l01476"></a>01476 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
  976. <a name="l01477"></a>01477 <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst,
  977. <a name="l01478"></a>01478 q15_t * pState);
  978. <a name="l01479"></a>01479
  979. <a name="l01490"></a>01490 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_mult.html#ga08f37d93a5bfef0c5000dc5e0a411f93" title="Q15 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4.">arm_mat_mult_fast_q15</a>(
  980. <a name="l01491"></a>01491 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
  981. <a name="l01492"></a>01492 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
  982. <a name="l01493"></a>01493 <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst,
  983. <a name="l01494"></a>01494 q15_t * pState);
  984. <a name="l01495"></a>01495
  985. <a name="l01505"></a>01505 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_mult.html#ga2ec612a8c2c4916477fb9bc1ab548a6e" title="Q31 matrix multiplication.">arm_mat_mult_q31</a>(
  986. <a name="l01506"></a>01506 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
  987. <a name="l01507"></a>01507 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
  988. <a name="l01508"></a>01508 <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
  989. <a name="l01509"></a>01509
  990. <a name="l01519"></a>01519 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_mult.html#ga2785e8c1b785348b0c439b56aaf585a3" title="Q31 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4.">arm_mat_mult_fast_q31</a>(
  991. <a name="l01520"></a>01520 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
  992. <a name="l01521"></a>01521 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
  993. <a name="l01522"></a>01522 <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
  994. <a name="l01523"></a>01523
  995. <a name="l01524"></a>01524
  996. <a name="l01534"></a>01534 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_sub.html#gac8b72fb70246ccfee3b372002345732c" title="Floating-point matrix subtraction.">arm_mat_sub_f32</a>(
  997. <a name="l01535"></a>01535 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcA,
  998. <a name="l01536"></a>01536 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcB,
  999. <a name="l01537"></a>01537 <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
  1000. <a name="l01538"></a>01538
  1001. <a name="l01548"></a>01548 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_sub.html#gaf647776a425b7f9dd0aca3e11d81f02f" title="Q15 matrix subtraction.">arm_mat_sub_q15</a>(
  1002. <a name="l01549"></a>01549 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
  1003. <a name="l01550"></a>01550 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
  1004. <a name="l01551"></a>01551 <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
  1005. <a name="l01552"></a>01552
  1006. <a name="l01562"></a>01562 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_sub.html#ga39f42e0e3b7f115fbb909d6ff4e1329d" title="Q31 matrix subtraction.">arm_mat_sub_q31</a>(
  1007. <a name="l01563"></a>01563 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
  1008. <a name="l01564"></a>01564 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
  1009. <a name="l01565"></a>01565 <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
  1010. <a name="l01566"></a>01566
  1011. <a name="l01576"></a>01576 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_scale.html#ga9cb4e385b18c9a0b9cbc940c1067ca12" title="Floating-point matrix scaling.">arm_mat_scale_f32</a>(
  1012. <a name="l01577"></a>01577 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrc,
  1013. <a name="l01578"></a>01578 float32_t scale,
  1014. <a name="l01579"></a>01579 <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
  1015. <a name="l01580"></a>01580
  1016. <a name="l01591"></a>01591 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_scale.html#ga7521769e2cf1c3d9c4656138cd2ae2ca" title="Q15 matrix scaling.">arm_mat_scale_q15</a>(
  1017. <a name="l01592"></a>01592 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrc,
  1018. <a name="l01593"></a>01593 q15_t scaleFract,
  1019. <a name="l01594"></a>01594 int32_t shift,
  1020. <a name="l01595"></a>01595 <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
  1021. <a name="l01596"></a>01596
  1022. <a name="l01607"></a>01607 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_scale.html#ga609743821ee81fa8c34c4bcdc1ed9744" title="Q31 matrix scaling.">arm_mat_scale_q31</a>(
  1023. <a name="l01608"></a>01608 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrc,
  1024. <a name="l01609"></a>01609 q31_t scaleFract,
  1025. <a name="l01610"></a>01610 int32_t shift,
  1026. <a name="l01611"></a>01611 <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
  1027. <a name="l01612"></a>01612
  1028. <a name="l01613"></a>01613
  1029. <a name="l01623"></a>01623 <span class="keywordtype">void</span> <a class="code" href="group___matrix_init.html#ga48a5e5d37e1f062cc57fcfaf683343cc" title="Q31 matrix initialization.">arm_mat_init_q31</a>(
  1030. <a name="l01624"></a>01624 <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * S,
  1031. <a name="l01625"></a>01625 uint16_t nRows,
  1032. <a name="l01626"></a>01626 uint16_t nColumns,
  1033. <a name="l01627"></a>01627 q31_t *pData);
  1034. <a name="l01628"></a>01628
  1035. <a name="l01638"></a>01638 <span class="keywordtype">void</span> <a class="code" href="group___matrix_init.html#ga31a7c2b991803d49719393eb2d53dc26" title="Q15 matrix initialization.">arm_mat_init_q15</a>(
  1036. <a name="l01639"></a>01639 <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * S,
  1037. <a name="l01640"></a>01640 uint16_t nRows,
  1038. <a name="l01641"></a>01641 uint16_t nColumns,
  1039. <a name="l01642"></a>01642 q15_t *pData);
  1040. <a name="l01643"></a>01643
  1041. <a name="l01653"></a>01653 <span class="keywordtype">void</span> <a class="code" href="group___matrix_init.html#ga11e3dc41592a6401c13182fef9416a27" title="Floating-point matrix initialization.">arm_mat_init_f32</a>(
  1042. <a name="l01654"></a>01654 <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * S,
  1043. <a name="l01655"></a>01655 uint16_t nRows,
  1044. <a name="l01656"></a>01656 uint16_t nColumns,
  1045. <a name="l01657"></a>01657 float32_t *pData);
  1046. <a name="l01658"></a>01658
  1047. <a name="l01659"></a>01659
  1048. <a name="l01660"></a>01660
  1049. <a name="l01664"></a><a class="code" href="structarm__pid__instance__q15.html">01664</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1050. <a name="l01665"></a>01665 {
  1051. <a name="l01666"></a><a class="code" href="structarm__pid__instance__q15.html#ad77f3a2823c7f96de42c92a3fbf3246b">01666</a> q15_t <a class="code" href="structarm__pid__instance__q15.html#ad77f3a2823c7f96de42c92a3fbf3246b">A0</a>;
  1052. <a name="l01667"></a>01667 <span class="preprocessor"> #ifdef ARM_MATH_CM0 </span>
  1053. <a name="l01668"></a>01668 <span class="preprocessor"></span> q15_t A1;
  1054. <a name="l01669"></a>01669 q15_t A2;
  1055. <a name="l01670"></a>01670 <span class="preprocessor"> #else </span>
  1056. <a name="l01671"></a><a class="code" href="structarm__pid__instance__q15.html#a1b8412c517071962a9acfdc6778906ec">01671</a> <span class="preprocessor"></span> q31_t <a class="code" href="structarm__pid__instance__q15.html#a1b8412c517071962a9acfdc6778906ec">A1</a>;
  1057. <a name="l01672"></a>01672 <span class="preprocessor"> #endif </span>
  1058. <a name="l01673"></a><a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">01673</a> <span class="preprocessor"></span> q15_t state[3];
  1059. <a name="l01674"></a><a class="code" href="structarm__pid__instance__q15.html#ad228aae24a1b6d855c93a8b9bbc1c4f1">01674</a> q15_t <a class="code" href="structarm__pid__instance__q15.html#ad228aae24a1b6d855c93a8b9bbc1c4f1">Kp</a>;
  1060. <a name="l01675"></a><a class="code" href="structarm__pid__instance__q15.html#a0dcc19d5c8f7bc401acea9e8318cd777">01675</a> q15_t <a class="code" href="structarm__pid__instance__q15.html#a0dcc19d5c8f7bc401acea9e8318cd777">Ki</a>;
  1061. <a name="l01676"></a><a class="code" href="structarm__pid__instance__q15.html#af5d4b53091f19eff7536636b7cc43111">01676</a> q15_t <a class="code" href="structarm__pid__instance__q15.html#af5d4b53091f19eff7536636b7cc43111">Kd</a>;
  1062. <a name="l01677"></a>01677 } <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a>;
  1063. <a name="l01678"></a>01678
  1064. <a name="l01682"></a><a class="code" href="structarm__pid__instance__q31.html">01682</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1065. <a name="l01683"></a>01683 {
  1066. <a name="l01684"></a><a class="code" href="structarm__pid__instance__q31.html#aa5332635ce9c7078cdb4c1ecf442eadd">01684</a> q31_t <a class="code" href="structarm__pid__instance__q31.html#aa5332635ce9c7078cdb4c1ecf442eadd">A0</a>;
  1067. <a name="l01685"></a><a class="code" href="structarm__pid__instance__q31.html#a2f7492bd6fb92fae5e2de7fbbec39b0e">01685</a> q31_t <a class="code" href="structarm__pid__instance__q31.html#a2f7492bd6fb92fae5e2de7fbbec39b0e">A1</a>;
  1068. <a name="l01686"></a><a class="code" href="structarm__pid__instance__q31.html#a3e34537c53af4f9ad7bfffa4dff27c82">01686</a> q31_t <a class="code" href="structarm__pid__instance__q31.html#a3e34537c53af4f9ad7bfffa4dff27c82">A2</a>;
  1069. <a name="l01687"></a><a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">01687</a> q31_t state[3];
  1070. <a name="l01688"></a><a class="code" href="structarm__pid__instance__q31.html#ac2410bf7f856d58dc1d773d4983cac8e">01688</a> q31_t <a class="code" href="structarm__pid__instance__q31.html#ac2410bf7f856d58dc1d773d4983cac8e">Kp</a>;
  1071. <a name="l01689"></a><a class="code" href="structarm__pid__instance__q31.html#aa861d69fd398f29aa0b4b455a823ed72">01689</a> q31_t <a class="code" href="structarm__pid__instance__q31.html#aa861d69fd398f29aa0b4b455a823ed72">Ki</a>;
  1072. <a name="l01690"></a><a class="code" href="structarm__pid__instance__q31.html#aab4ff371d14441df501f1169f71cbd17">01690</a> q31_t <a class="code" href="structarm__pid__instance__q31.html#aab4ff371d14441df501f1169f71cbd17">Kd</a>;
  1073. <a name="l01692"></a>01692 } <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a>;
  1074. <a name="l01693"></a>01693
  1075. <a name="l01697"></a><a class="code" href="structarm__pid__instance__f32.html">01697</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1076. <a name="l01698"></a>01698 {
  1077. <a name="l01699"></a><a class="code" href="structarm__pid__instance__f32.html#ad7b0bed64915d0a25a3409fa2dc45556">01699</a> float32_t <a class="code" href="structarm__pid__instance__f32.html#ad7b0bed64915d0a25a3409fa2dc45556">A0</a>;
  1078. <a name="l01700"></a><a class="code" href="structarm__pid__instance__f32.html#a7def89571c50f7137a213326a396e560">01700</a> float32_t <a class="code" href="structarm__pid__instance__f32.html#a7def89571c50f7137a213326a396e560">A1</a>;
  1079. <a name="l01701"></a><a class="code" href="structarm__pid__instance__f32.html#a155acf642ba2f521869f19d694cd7fa0">01701</a> float32_t <a class="code" href="structarm__pid__instance__f32.html#a155acf642ba2f521869f19d694cd7fa0">A2</a>;
  1080. <a name="l01702"></a><a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">01702</a> float32_t state[3];
  1081. <a name="l01703"></a><a class="code" href="structarm__pid__instance__f32.html#aa9b9aa9e413c6cec376a9dddc9f01ebe">01703</a> float32_t <a class="code" href="structarm__pid__instance__f32.html#aa9b9aa9e413c6cec376a9dddc9f01ebe">Kp</a>;
  1082. <a name="l01704"></a><a class="code" href="structarm__pid__instance__f32.html#ac0feffde05fe391eeab3bf78e953830a">01704</a> float32_t <a class="code" href="structarm__pid__instance__f32.html#ac0feffde05fe391eeab3bf78e953830a">Ki</a>;
  1083. <a name="l01705"></a><a class="code" href="structarm__pid__instance__f32.html#ad5b68fbf84d16188ae4747ff91f6f088">01705</a> float32_t <a class="code" href="structarm__pid__instance__f32.html#ad5b68fbf84d16188ae4747ff91f6f088">Kd</a>;
  1084. <a name="l01706"></a>01706 } <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a>;
  1085. <a name="l01707"></a>01707
  1086. <a name="l01708"></a>01708
  1087. <a name="l01709"></a>01709
  1088. <a name="l01716"></a>01716 <span class="keywordtype">void</span> <a class="code" href="group___p_i_d.html#gae31536b19b82b93ed184fb1ab73cfcb3" title="Initialization function for the floating-point PID Control.">arm_pid_init_f32</a>(
  1089. <a name="l01717"></a>01717 <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a> * S,
  1090. <a name="l01718"></a>01718 int32_t resetStateFlag);
  1091. <a name="l01719"></a>01719
  1092. <a name="l01725"></a>01725 <span class="keywordtype">void</span> <a class="code" href="group___p_i_d.html#ga9ec860bcb6f8ca31205bf0f1b51ab723" title="Reset function for the floating-point PID Control.">arm_pid_reset_f32</a>(
  1093. <a name="l01726"></a>01726 <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a> * S);
  1094. <a name="l01727"></a>01727
  1095. <a name="l01728"></a>01728
  1096. <a name="l01735"></a>01735 <span class="keywordtype">void</span> <a class="code" href="group___p_i_d.html#gad9d88485234fa9460b1ce9e64989ac86" title="Initialization function for the Q31 PID Control.">arm_pid_init_q31</a>(
  1097. <a name="l01736"></a>01736 <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a> * S,
  1098. <a name="l01737"></a>01737 int32_t resetStateFlag);
  1099. <a name="l01738"></a>01738
  1100. <a name="l01739"></a>01739
  1101. <a name="l01746"></a>01746 <span class="keywordtype">void</span> <a class="code" href="group___p_i_d.html#gaeecbacd3fb37c608ec25474d3a0dffa9" title="Reset function for the Q31 PID Control.">arm_pid_reset_q31</a>(
  1102. <a name="l01747"></a>01747 <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a> * S);
  1103. <a name="l01748"></a>01748
  1104. <a name="l01755"></a>01755 <span class="keywordtype">void</span> <a class="code" href="group___p_i_d.html#ga2cb1e3d3ebb167348fdabec74653d5c3" title="Initialization function for the Q15 PID Control.">arm_pid_init_q15</a>(
  1105. <a name="l01756"></a>01756 <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a> * S,
  1106. <a name="l01757"></a>01757 int32_t resetStateFlag);
  1107. <a name="l01758"></a>01758
  1108. <a name="l01764"></a>01764 <span class="keywordtype">void</span> <a class="code" href="group___p_i_d.html#ga408566dacb4fa6e0458b2c75672e525f" title="Reset function for the Q15 PID Control.">arm_pid_reset_q15</a>(
  1109. <a name="l01765"></a>01765 <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a> * S);
  1110. <a name="l01766"></a>01766
  1111. <a name="l01767"></a>01767
  1112. <a name="l01771"></a><a class="code" href="structarm__linear__interp__instance__f32.html">01771</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1113. <a name="l01772"></a>01772 {
  1114. <a name="l01773"></a><a class="code" href="structarm__linear__interp__instance__f32.html#a95f02a926b16d35359aca5b31e813b11">01773</a> uint32_t <a class="code" href="structarm__linear__interp__instance__f32.html#a95f02a926b16d35359aca5b31e813b11">nValues</a>;
  1115. <a name="l01774"></a><a class="code" href="structarm__linear__interp__instance__f32.html#a08352dc6ea82fbc0827408e018535481">01774</a> float32_t <a class="code" href="structarm__linear__interp__instance__f32.html#a08352dc6ea82fbc0827408e018535481">x1</a>;
  1116. <a name="l01775"></a><a class="code" href="structarm__linear__interp__instance__f32.html#aa8e2d686b5434a406d390b347b183511">01775</a> float32_t <a class="code" href="structarm__linear__interp__instance__f32.html#aa8e2d686b5434a406d390b347b183511">xSpacing</a>;
  1117. <a name="l01776"></a><a class="code" href="structarm__linear__interp__instance__f32.html#ab373001f6afad0850359c344a4d7eee4">01776</a> float32_t *<a class="code" href="structarm__linear__interp__instance__f32.html#ab373001f6afad0850359c344a4d7eee4">pYData</a>;
  1118. <a name="l01777"></a>01777 } <a class="code" href="structarm__linear__interp__instance__f32.html" title="Instance structure for the floating-point Linear Interpolate function.">arm_linear_interp_instance_f32</a>;
  1119. <a name="l01778"></a>01778
  1120. <a name="l01783"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html">01783</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1121. <a name="l01784"></a>01784 {
  1122. <a name="l01785"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html#a34f2b17cc57b95011960df9718af6ed6">01785</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__f32.html#a34f2b17cc57b95011960df9718af6ed6">numRows</a>;
  1123. <a name="l01786"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html#aede17bebfb1f835b61d71dd813eab3f8">01786</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__f32.html#aede17bebfb1f835b61d71dd813eab3f8">numCols</a>;
  1124. <a name="l01787"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html#afd1e764591c991c212d56c893efb5ea4">01787</a> float32_t *<a class="code" href="structarm__bilinear__interp__instance__f32.html#afd1e764591c991c212d56c893efb5ea4">pData</a>;
  1125. <a name="l01788"></a>01788 } <a class="code" href="structarm__bilinear__interp__instance__f32.html" title="Instance structure for the floating-point bilinear interpolation function.">arm_bilinear_interp_instance_f32</a>;
  1126. <a name="l01789"></a>01789
  1127. <a name="l01794"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html">01794</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1128. <a name="l01795"></a>01795 {
  1129. <a name="l01796"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html#a2082e3eac56354d75291f03e96ce4aa5">01796</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__q31.html#a2082e3eac56354d75291f03e96ce4aa5">numRows</a>;
  1130. <a name="l01797"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html#a6c3eff4eb17ff1d43f170efb84713a2d">01797</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__q31.html#a6c3eff4eb17ff1d43f170efb84713a2d">numCols</a>;
  1131. <a name="l01798"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html#a843eae0c9db5f815e77e1aaf9afea358">01798</a> q31_t *<a class="code" href="structarm__bilinear__interp__instance__q31.html#a843eae0c9db5f815e77e1aaf9afea358">pData</a>;
  1132. <a name="l01799"></a>01799 } <a class="code" href="structarm__bilinear__interp__instance__q31.html" title="Instance structure for the Q31 bilinear interpolation function.">arm_bilinear_interp_instance_q31</a>;
  1133. <a name="l01800"></a>01800
  1134. <a name="l01805"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html">01805</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1135. <a name="l01806"></a>01806 {
  1136. <a name="l01807"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html#a2130ae30a804995a9f5d0e2189e08565">01807</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__q15.html#a2130ae30a804995a9f5d0e2189e08565">numRows</a>;
  1137. <a name="l01808"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html#a7fa8772d01583374ff8ac18205a26a37">01808</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__q15.html#a7fa8772d01583374ff8ac18205a26a37">numCols</a>;
  1138. <a name="l01809"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html#a50d75b1316cee3e0dfad6dcc4c9a2954">01809</a> q15_t *<a class="code" href="structarm__bilinear__interp__instance__q15.html#a50d75b1316cee3e0dfad6dcc4c9a2954">pData</a>;
  1139. <a name="l01810"></a>01810 } <a class="code" href="structarm__bilinear__interp__instance__q15.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q15</a>;
  1140. <a name="l01811"></a>01811
  1141. <a name="l01816"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html">01816</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1142. <a name="l01817"></a>01817 {
  1143. <a name="l01818"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html#ad5a8067cab5f9ea4688b11a623e16607">01818</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__q7.html#ad5a8067cab5f9ea4688b11a623e16607">numRows</a>;
  1144. <a name="l01819"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html#a860dd0d24380ea06cfbb348fb3b12c9a">01819</a> uint16_t <a class="code" href="structarm__bilinear__interp__instance__q7.html#a860dd0d24380ea06cfbb348fb3b12c9a">numCols</a>;
  1145. <a name="l01820"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html#af05194d691bbefb02c34bafb22ca9ef0">01820</a> q7_t *<a class="code" href="structarm__bilinear__interp__instance__q7.html#af05194d691bbefb02c34bafb22ca9ef0">pData</a>;
  1146. <a name="l01821"></a>01821 } <a class="code" href="structarm__bilinear__interp__instance__q7.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q7</a>;
  1147. <a name="l01822"></a>01822
  1148. <a name="l01823"></a>01823
  1149. <a name="l01833"></a>01833 <span class="keywordtype">void</span> <a class="code" href="group___basic_mult.html#ga16677275ed83ff0878da531e875c27ef" title="Q7 vector multiplication.">arm_mult_q7</a>(
  1150. <a name="l01834"></a>01834 q7_t * pSrcA,
  1151. <a name="l01835"></a>01835 q7_t * pSrcB,
  1152. <a name="l01836"></a>01836 q7_t * pDst,
  1153. <a name="l01837"></a>01837 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1154. <a name="l01838"></a>01838
  1155. <a name="l01848"></a>01848 <span class="keywordtype">void</span> <a class="code" href="group___basic_mult.html#gafb0778d27ed98a2a6f2ecb7d48cc8c75" title="Q15 vector multiplication.">arm_mult_q15</a>(
  1156. <a name="l01849"></a>01849 q15_t * pSrcA,
  1157. <a name="l01850"></a>01850 q15_t * pSrcB,
  1158. <a name="l01851"></a>01851 q15_t * pDst,
  1159. <a name="l01852"></a>01852 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1160. <a name="l01853"></a>01853
  1161. <a name="l01863"></a>01863 <span class="keywordtype">void</span> <a class="code" href="group___basic_mult.html#ga3528c0f54a0607acc603f0490d3ca6c6" title="Q31 vector multiplication.">arm_mult_q31</a>(
  1162. <a name="l01864"></a>01864 q31_t * pSrcA,
  1163. <a name="l01865"></a>01865 q31_t * pSrcB,
  1164. <a name="l01866"></a>01866 q31_t * pDst,
  1165. <a name="l01867"></a>01867 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1166. <a name="l01868"></a>01868
  1167. <a name="l01878"></a>01878 <span class="keywordtype">void</span> <a class="code" href="group___basic_mult.html#gaca3f0b8227da431ab29225b88888aa32" title="Floating-point vector multiplication.">arm_mult_f32</a>(
  1168. <a name="l01879"></a>01879 float32_t * pSrcA,
  1169. <a name="l01880"></a>01880 float32_t * pSrcB,
  1170. <a name="l01881"></a>01881 float32_t * pDst,
  1171. <a name="l01882"></a>01882 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1172. <a name="l01883"></a>01883
  1173. <a name="l01884"></a>01884
  1174. <a name="l01889"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html">01889</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1175. <a name="l01890"></a>01890 {
  1176. <a name="l01891"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a5fc543e7d84ca8cb7cf6648970f21ca6">01891</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__q15.html#a5fc543e7d84ca8cb7cf6648970f21ca6">fftLen</a>;
  1177. <a name="l01892"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a2ecff6ea735cb4d22e922d0fd5736655">01892</a> uint8_t <a class="code" href="structarm__cfft__radix4__instance__q15.html#a2ecff6ea735cb4d22e922d0fd5736655">ifftFlag</a>;
  1178. <a name="l01893"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a101e3f7b0bd6b5b14cd5214f23df4133">01893</a> uint8_t <a class="code" href="structarm__cfft__radix4__instance__q15.html#a101e3f7b0bd6b5b14cd5214f23df4133">bitReverseFlag</a>;
  1179. <a name="l01894"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a29dd693537e45421a36891f8439e1fba">01894</a> q15_t *<a class="code" href="structarm__cfft__radix4__instance__q15.html#a29dd693537e45421a36891f8439e1fba">pTwiddle</a>;
  1180. <a name="l01895"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a4acf704ae0cf30b53bf0fbfae8e34a59">01895</a> uint16_t *<a class="code" href="structarm__cfft__radix4__instance__q15.html#a4acf704ae0cf30b53bf0fbfae8e34a59">pBitRevTable</a>;
  1181. <a name="l01896"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#af32fdc78bcc27ca385f9b76a0a1f71c3">01896</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__q15.html#af32fdc78bcc27ca385f9b76a0a1f71c3">twidCoefModifier</a>;
  1182. <a name="l01897"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a6b010e5f02d1130c621e3d2e26b95df1">01897</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__q15.html#a6b010e5f02d1130c621e3d2e26b95df1">bitRevFactor</a>;
  1183. <a name="l01898"></a>01898 } <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a>;
  1184. <a name="l01899"></a>01899
  1185. <a name="l01904"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html">01904</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1186. <a name="l01905"></a>01905 {
  1187. <a name="l01906"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#ab413d2a5d3f45fa187d93813bf3bf81b">01906</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__q31.html#ab413d2a5d3f45fa187d93813bf3bf81b">fftLen</a>;
  1188. <a name="l01907"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#adc0a62ba669ad2282ecbe43d5d96abab">01907</a> uint8_t <a class="code" href="structarm__cfft__radix4__instance__q31.html#adc0a62ba669ad2282ecbe43d5d96abab">ifftFlag</a>;
  1189. <a name="l01908"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a5a7c4f4c7b3fb655cbb2bc11ef160a2a">01908</a> uint8_t <a class="code" href="structarm__cfft__radix4__instance__q31.html#a5a7c4f4c7b3fb655cbb2bc11ef160a2a">bitReverseFlag</a>;
  1190. <a name="l01909"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a561c22dee4cbdcfa0fd5f15106ecc306">01909</a> q31_t *<a class="code" href="structarm__cfft__radix4__instance__q31.html#a561c22dee4cbdcfa0fd5f15106ecc306">pTwiddle</a>;
  1191. <a name="l01910"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a33a3bc774c97373261699463c05dfe54">01910</a> uint16_t *<a class="code" href="structarm__cfft__radix4__instance__q31.html#a33a3bc774c97373261699463c05dfe54">pBitRevTable</a>;
  1192. <a name="l01911"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a8cf8187b8232815cf17ee82bf572ecf9">01911</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__q31.html#a8cf8187b8232815cf17ee82bf572ecf9">twidCoefModifier</a>;
  1193. <a name="l01912"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a94d2fead4efa4d5eaae142bbe30b0e15">01912</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__q31.html#a94d2fead4efa4d5eaae142bbe30b0e15">bitRevFactor</a>;
  1194. <a name="l01913"></a>01913 } <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a>;
  1195. <a name="l01914"></a>01914
  1196. <a name="l01919"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html">01919</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1197. <a name="l01920"></a>01920 {
  1198. <a name="l01921"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#a7e6a6d290ce158ce9a15a45e364b021a">01921</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__f32.html#a7e6a6d290ce158ce9a15a45e364b021a">fftLen</a>;
  1199. <a name="l01922"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#a25d1da64dd6487c291f04d226f9acc66">01922</a> uint8_t <a class="code" href="structarm__cfft__radix4__instance__f32.html#a25d1da64dd6487c291f04d226f9acc66">ifftFlag</a>;
  1200. <a name="l01923"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#ac10927a1620195a88649ce63dab66120">01923</a> uint8_t <a class="code" href="structarm__cfft__radix4__instance__f32.html#ac10927a1620195a88649ce63dab66120">bitReverseFlag</a>;
  1201. <a name="l01924"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#a14860c7544911702ca1fa0bf78204ef3">01924</a> float32_t *<a class="code" href="structarm__cfft__radix4__instance__f32.html#a14860c7544911702ca1fa0bf78204ef3">pTwiddle</a>;
  1202. <a name="l01925"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#a8da0d2ca69749fde8cbb95caeac6fe6a">01925</a> uint16_t *<a class="code" href="structarm__cfft__radix4__instance__f32.html#a8da0d2ca69749fde8cbb95caeac6fe6a">pBitRevTable</a>;
  1203. <a name="l01926"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#abe31ea2157dfa233e389cdfd3b9993ee">01926</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__f32.html#abe31ea2157dfa233e389cdfd3b9993ee">twidCoefModifier</a>;
  1204. <a name="l01927"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#acc8cb18a8b901b8321ab9d86491e41a3">01927</a> uint16_t <a class="code" href="structarm__cfft__radix4__instance__f32.html#acc8cb18a8b901b8321ab9d86491e41a3">bitRevFactor</a>;
  1205. <a name="l01928"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#ab9eed39e40b8d7c16381fbccf84467cd">01928</a> float32_t <a class="code" href="structarm__cfft__radix4__instance__f32.html#ab9eed39e40b8d7c16381fbccf84467cd">onebyfftLen</a>;
  1206. <a name="l01929"></a>01929 } <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a>;
  1207. <a name="l01930"></a>01930
  1208. <a name="l01938"></a>01938 <span class="keywordtype">void</span> <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#ga8d66cdac41b8bf6cefdb895456eee84a" title="Processing function for the Q15 CFFT/CIFFT.">arm_cfft_radix4_q15</a>(
  1209. <a name="l01939"></a>01939 <span class="keyword">const</span> <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S,
  1210. <a name="l01940"></a>01940 q15_t * pSrc);
  1211. <a name="l01941"></a>01941
  1212. <a name="l01951"></a>01951 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#ga0c2acfda3126c452e75b81669e8ad9ef" title="Initialization function for the Q15 CFFT/CIFFT.">arm_cfft_radix4_init_q15</a>(
  1213. <a name="l01952"></a>01952 <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S,
  1214. <a name="l01953"></a>01953 uint16_t fftLen,
  1215. <a name="l01954"></a>01954 uint8_t <a class="code" href="arm__fft__bin__example__f32_8c.html#a379ccb99013d369a41b49619083c16ef">ifftFlag</a>,
  1216. <a name="l01955"></a>01955 uint8_t bitReverseFlag);
  1217. <a name="l01956"></a>01956
  1218. <a name="l01964"></a>01964 <span class="keywordtype">void</span> <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#gafde3ee1f58cf393b45a9073174fff548" title="Processing function for the Q31 CFFT/CIFFT.">arm_cfft_radix4_q31</a>(
  1219. <a name="l01965"></a>01965 <span class="keyword">const</span> <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S,
  1220. <a name="l01966"></a>01966 q31_t * pSrc);
  1221. <a name="l01967"></a>01967
  1222. <a name="l01977"></a>01977 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#gad5caaafeec900c8ff72321c01bbd462c" title="Initialization function for the Q31 CFFT/CIFFT.">arm_cfft_radix4_init_q31</a>(
  1223. <a name="l01978"></a>01978 <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S,
  1224. <a name="l01979"></a>01979 uint16_t fftLen,
  1225. <a name="l01980"></a>01980 uint8_t <a class="code" href="arm__fft__bin__example__f32_8c.html#a379ccb99013d369a41b49619083c16ef">ifftFlag</a>,
  1226. <a name="l01981"></a>01981 uint8_t bitReverseFlag);
  1227. <a name="l01982"></a>01982
  1228. <a name="l01990"></a>01990 <span class="keywordtype">void</span> <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#ga521f670cd9c571bc61aff9bec89f4c26" title="Processing function for the floating-point CFFT/CIFFT.">arm_cfft_radix4_f32</a>(
  1229. <a name="l01991"></a>01991 <span class="keyword">const</span> <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S,
  1230. <a name="l01992"></a>01992 float32_t * pSrc);
  1231. <a name="l01993"></a>01993
  1232. <a name="l02003"></a>02003 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#gaf336459f684f0b17bfae539ef1b1b78a" title="Initialization function for the floating-point CFFT/CIFFT.">arm_cfft_radix4_init_f32</a>(
  1233. <a name="l02004"></a>02004 <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S,
  1234. <a name="l02005"></a>02005 uint16_t fftLen,
  1235. <a name="l02006"></a>02006 uint8_t <a class="code" href="arm__fft__bin__example__f32_8c.html#a379ccb99013d369a41b49619083c16ef">ifftFlag</a>,
  1236. <a name="l02007"></a>02007 uint8_t bitReverseFlag);
  1237. <a name="l02008"></a>02008
  1238. <a name="l02009"></a>02009
  1239. <a name="l02010"></a>02010
  1240. <a name="l02011"></a>02011 <span class="comment">/*----------------------------------------------------------------------</span>
  1241. <a name="l02012"></a>02012 <span class="comment"> * Internal functions prototypes FFT function</span>
  1242. <a name="l02013"></a>02013 <span class="comment"> ----------------------------------------------------------------------*/</span>
  1243. <a name="l02014"></a>02014
  1244. <a name="l02024"></a>02024 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__f32_8c.html#ae239ddf995d1607115f9e84d5c069b9c" title="Core function for the floating-point CFFT butterfly process.">arm_radix4_butterfly_f32</a>(
  1245. <a name="l02025"></a>02025 float32_t * pSrc,
  1246. <a name="l02026"></a>02026 uint16_t fftLen,
  1247. <a name="l02027"></a>02027 float32_t * pCoef,
  1248. <a name="l02028"></a>02028 uint16_t twidCoefModifier);
  1249. <a name="l02029"></a>02029
  1250. <a name="l02040"></a>02040 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__f32_8c.html#a2a78df6e4bbf080624f2b6349224ec93" title="Core function for the floating-point CIFFT butterfly process.">arm_radix4_butterfly_inverse_f32</a>(
  1251. <a name="l02041"></a>02041 float32_t * pSrc,
  1252. <a name="l02042"></a>02042 uint16_t fftLen,
  1253. <a name="l02043"></a>02043 float32_t * pCoef,
  1254. <a name="l02044"></a>02044 uint16_t twidCoefModifier,
  1255. <a name="l02045"></a>02045 float32_t onebyfftLen);
  1256. <a name="l02046"></a>02046
  1257. <a name="l02056"></a>02056 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__f32_8c.html#a3d4062fdfa6aaa3f51f41cab868e508b" title="In-place bit reversal function.">arm_bitreversal_f32</a>(
  1258. <a name="l02057"></a>02057 float32_t *pSrc,
  1259. <a name="l02058"></a>02058 uint16_t <a class="code" href="arm__fft__bin__example__f32_8c.html#a9b500899c581f6df3ffc0a9f3a9ef6aa">fftSize</a>,
  1260. <a name="l02059"></a>02059 uint16_t bitRevFactor,
  1261. <a name="l02060"></a>02060 uint16_t *pBitRevTab);
  1262. <a name="l02061"></a>02061
  1263. <a name="l02071"></a>02071 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__q31_8c.html#ac12f1e7f159d5741358cdc36830a0395" title="Core function for the Q31 CFFT butterfly process.">arm_radix4_butterfly_q31</a>(
  1264. <a name="l02072"></a>02072 q31_t *pSrc,
  1265. <a name="l02073"></a>02073 uint32_t fftLen,
  1266. <a name="l02074"></a>02074 q31_t *pCoef,
  1267. <a name="l02075"></a>02075 uint32_t twidCoefModifier);
  1268. <a name="l02076"></a>02076
  1269. <a name="l02086"></a>02086 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__q31_8c.html#ac9c7c553114c1201a3a987a11b8a6d01" title="Core function for the Q31 CIFFT butterfly process.">arm_radix4_butterfly_inverse_q31</a>(
  1270. <a name="l02087"></a>02087 q31_t * pSrc,
  1271. <a name="l02088"></a>02088 uint32_t fftLen,
  1272. <a name="l02089"></a>02089 q31_t * pCoef,
  1273. <a name="l02090"></a>02090 uint32_t twidCoefModifier);
  1274. <a name="l02091"></a>02091
  1275. <a name="l02101"></a>02101 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__q31_8c.html#a27618705158b5c42db5fb0a381f8efc1" title="In-place bit reversal function.">arm_bitreversal_q31</a>(
  1276. <a name="l02102"></a>02102 q31_t * pSrc,
  1277. <a name="l02103"></a>02103 uint32_t fftLen,
  1278. <a name="l02104"></a>02104 uint16_t bitRevFactor,
  1279. <a name="l02105"></a>02105 uint16_t *pBitRevTab);
  1280. <a name="l02106"></a>02106
  1281. <a name="l02116"></a>02116 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__q15_8c.html#a2d01d2045f280c32036da97d33c52440" title="Core function for the Q15 CFFT butterfly process.">arm_radix4_butterfly_q15</a>(
  1282. <a name="l02117"></a>02117 q15_t *pSrc16,
  1283. <a name="l02118"></a>02118 uint32_t fftLen,
  1284. <a name="l02119"></a>02119 q15_t *pCoef16,
  1285. <a name="l02120"></a>02120 uint32_t twidCoefModifier);
  1286. <a name="l02121"></a>02121
  1287. <a name="l02131"></a>02131 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__q15_8c.html#aad04e8439d17dab5617bf1be268bb391" title="Core function for the Q15 CIFFT butterfly process.">arm_radix4_butterfly_inverse_q15</a>(
  1288. <a name="l02132"></a>02132 q15_t *pSrc16,
  1289. <a name="l02133"></a>02133 uint32_t fftLen,
  1290. <a name="l02134"></a>02134 q15_t *pCoef16,
  1291. <a name="l02135"></a>02135 uint32_t twidCoefModifier);
  1292. <a name="l02136"></a>02136
  1293. <a name="l02146"></a>02146 <span class="keywordtype">void</span> <a class="code" href="arm__cfft__radix4__q15_8c.html#a12a07b49948c354172ae07358309a4a5" title="In-place bit reversal function.">arm_bitreversal_q15</a>(
  1294. <a name="l02147"></a>02147 q15_t * pSrc,
  1295. <a name="l02148"></a>02148 uint32_t fftLen,
  1296. <a name="l02149"></a>02149 uint16_t bitRevFactor,
  1297. <a name="l02150"></a>02150 uint16_t *pBitRevTab);
  1298. <a name="l02151"></a>02151
  1299. <a name="l02156"></a><a class="code" href="structarm__rfft__instance__q15.html">02156</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1300. <a name="l02157"></a>02157 {
  1301. <a name="l02158"></a><a class="code" href="structarm__rfft__instance__q15.html#aac5cf9e825917cbb14f439e56bb86ab3">02158</a> uint32_t <a class="code" href="structarm__rfft__instance__q15.html#aac5cf9e825917cbb14f439e56bb86ab3">fftLenReal</a>;
  1302. <a name="l02159"></a><a class="code" href="structarm__rfft__instance__q15.html#afef95bc722f5929d5e63ecba14fa3ca1">02159</a> uint32_t <a class="code" href="structarm__rfft__instance__q15.html#afef95bc722f5929d5e63ecba14fa3ca1">fftLenBy2</a>;
  1303. <a name="l02160"></a><a class="code" href="structarm__rfft__instance__q15.html#a8051ffe268c147e431e1bea7bb4c4258">02160</a> uint8_t <a class="code" href="structarm__rfft__instance__q15.html#a8051ffe268c147e431e1bea7bb4c4258">ifftFlagR</a>;
  1304. <a name="l02161"></a><a class="code" href="structarm__rfft__instance__q15.html#a4c65cd40e0098ec2f5c0dc31488b9bc6">02161</a> uint8_t <a class="code" href="structarm__rfft__instance__q15.html#a4c65cd40e0098ec2f5c0dc31488b9bc6">bitReverseFlagR</a>;
  1305. <a name="l02162"></a><a class="code" href="structarm__rfft__instance__q15.html#afd444d05858c5f419980e94e8240d5c3">02162</a> uint32_t <a class="code" href="structarm__rfft__instance__q15.html#afd444d05858c5f419980e94e8240d5c3">twidCoefRModifier</a>;
  1306. <a name="l02163"></a><a class="code" href="structarm__rfft__instance__q15.html#affbf2de522ac029432d98e8373c0ec53">02163</a> q15_t *<a class="code" href="structarm__rfft__instance__q15.html#affbf2de522ac029432d98e8373c0ec53">pTwiddleAReal</a>;
  1307. <a name="l02164"></a><a class="code" href="structarm__rfft__instance__q15.html#a937d815022adc557b435ba8c6cd58b0d">02164</a> q15_t *<a class="code" href="structarm__rfft__instance__q15.html#a937d815022adc557b435ba8c6cd58b0d">pTwiddleBReal</a>;
  1308. <a name="l02165"></a><a class="code" href="structarm__rfft__instance__q15.html#acd8f28f777f3417280212ce799ebef46">02165</a> <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> *<a class="code" href="structarm__rfft__instance__q15.html#acd8f28f777f3417280212ce799ebef46">pCfft</a>;
  1309. <a name="l02166"></a>02166 } <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a>;
  1310. <a name="l02167"></a>02167
  1311. <a name="l02172"></a><a class="code" href="structarm__rfft__instance__q31.html">02172</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1312. <a name="l02173"></a>02173 {
  1313. <a name="l02174"></a><a class="code" href="structarm__rfft__instance__q31.html#af777b0cadd5abaf064323692c2e6693b">02174</a> uint32_t <a class="code" href="structarm__rfft__instance__q31.html#af777b0cadd5abaf064323692c2e6693b">fftLenReal</a>;
  1314. <a name="l02175"></a><a class="code" href="structarm__rfft__instance__q31.html#a7d1a948bb8a23bf5419bb6f9ef43dd76">02175</a> uint32_t <a class="code" href="structarm__rfft__instance__q31.html#a7d1a948bb8a23bf5419bb6f9ef43dd76">fftLenBy2</a>;
  1315. <a name="l02176"></a><a class="code" href="structarm__rfft__instance__q31.html#af5c2615e6cde15524df38fa57ea32d94">02176</a> uint8_t <a class="code" href="structarm__rfft__instance__q31.html#af5c2615e6cde15524df38fa57ea32d94">ifftFlagR</a>;
  1316. <a name="l02177"></a><a class="code" href="structarm__rfft__instance__q31.html#a3cb90cdc928a88b0203917dcb3dc1b71">02177</a> uint8_t <a class="code" href="structarm__rfft__instance__q31.html#a3cb90cdc928a88b0203917dcb3dc1b71">bitReverseFlagR</a>;
  1317. <a name="l02178"></a><a class="code" href="structarm__rfft__instance__q31.html#a6fc90252b579f7c29e01bd279334fc43">02178</a> uint32_t <a class="code" href="structarm__rfft__instance__q31.html#a6fc90252b579f7c29e01bd279334fc43">twidCoefRModifier</a>;
  1318. <a name="l02179"></a><a class="code" href="structarm__rfft__instance__q31.html#a2a0c944e66bab92fcbe19d1c29153250">02179</a> q31_t *<a class="code" href="structarm__rfft__instance__q31.html#a2a0c944e66bab92fcbe19d1c29153250">pTwiddleAReal</a>;
  1319. <a name="l02180"></a><a class="code" href="structarm__rfft__instance__q31.html#ae5070be4c2e0327e618f5e1f4c5b9d80">02180</a> q31_t *<a class="code" href="structarm__rfft__instance__q31.html#ae5070be4c2e0327e618f5e1f4c5b9d80">pTwiddleBReal</a>;
  1320. <a name="l02181"></a><a class="code" href="structarm__rfft__instance__q31.html#ac6bf12707e1985818d161616adf27977">02181</a> <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> *<a class="code" href="structarm__rfft__instance__q31.html#ac6bf12707e1985818d161616adf27977">pCfft</a>;
  1321. <a name="l02182"></a>02182 } <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a>;
  1322. <a name="l02183"></a>02183
  1323. <a name="l02188"></a><a class="code" href="structarm__rfft__instance__f32.html">02188</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1324. <a name="l02189"></a>02189 {
  1325. <a name="l02190"></a><a class="code" href="structarm__rfft__instance__f32.html#a4219d4669699e4efdcb150ed7a0d9a57">02190</a> uint32_t <a class="code" href="structarm__rfft__instance__f32.html#a4219d4669699e4efdcb150ed7a0d9a57">fftLenReal</a>;
  1326. <a name="l02191"></a><a class="code" href="structarm__rfft__instance__f32.html#a075076e07ebb8521d8e3b49a31db6c57">02191</a> uint16_t <a class="code" href="structarm__rfft__instance__f32.html#a075076e07ebb8521d8e3b49a31db6c57">fftLenBy2</a>;
  1327. <a name="l02192"></a><a class="code" href="structarm__rfft__instance__f32.html#a5ee6d10a934ab4b666e0bb286c3d633f">02192</a> uint8_t <a class="code" href="structarm__rfft__instance__f32.html#a5ee6d10a934ab4b666e0bb286c3d633f">ifftFlagR</a>;
  1328. <a name="l02193"></a><a class="code" href="structarm__rfft__instance__f32.html#ac342f3248157cbbd2f04a3c8ec9fc9eb">02193</a> uint8_t <a class="code" href="structarm__rfft__instance__f32.html#ac342f3248157cbbd2f04a3c8ec9fc9eb">bitReverseFlagR</a>;
  1329. <a name="l02194"></a><a class="code" href="structarm__rfft__instance__f32.html#aede85350fb5ae6baa1b3e8bfa15b18d6">02194</a> uint32_t <a class="code" href="structarm__rfft__instance__f32.html#aede85350fb5ae6baa1b3e8bfa15b18d6">twidCoefRModifier</a>;
  1330. <a name="l02195"></a><a class="code" href="structarm__rfft__instance__f32.html#a534cc7e6e9b3e3dd022fad611c762142">02195</a> float32_t *<a class="code" href="structarm__rfft__instance__f32.html#a534cc7e6e9b3e3dd022fad611c762142">pTwiddleAReal</a>;
  1331. <a name="l02196"></a><a class="code" href="structarm__rfft__instance__f32.html#a23543ecfd027fea2477fe1eea23c3c4d">02196</a> float32_t *<a class="code" href="structarm__rfft__instance__f32.html#a23543ecfd027fea2477fe1eea23c3c4d">pTwiddleBReal</a>;
  1332. <a name="l02197"></a><a class="code" href="structarm__rfft__instance__f32.html#a9f47ba9f50c81e4445ae3827b981bc05">02197</a> <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> *<a class="code" href="structarm__rfft__instance__f32.html#a9f47ba9f50c81e4445ae3827b981bc05">pCfft</a>;
  1333. <a name="l02198"></a>02198 } <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a>;
  1334. <a name="l02199"></a>02199
  1335. <a name="l02208"></a>02208 <span class="keywordtype">void</span> <a class="code" href="group___r_f_f_t___r_i_f_f_t.html#ga00e615f5db21736ad5b27fb6146f3fc5" title="Processing function for the Q15 RFFT/RIFFT.">arm_rfft_q15</a>(
  1336. <a name="l02209"></a>02209 <span class="keyword">const</span> <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> * S,
  1337. <a name="l02210"></a>02210 q15_t * pSrc,
  1338. <a name="l02211"></a>02211 q15_t * pDst);
  1339. <a name="l02212"></a>02212
  1340. <a name="l02223"></a>02223 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___r_f_f_t___r_i_f_f_t.html#ga2530ebf44b7f5b559b191ff7265a9120" title="Initialization function for the Q15 RFFT/RIFFT.">arm_rfft_init_q15</a>(
  1341. <a name="l02224"></a>02224 <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> * S,
  1342. <a name="l02225"></a>02225 <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S_CFFT,
  1343. <a name="l02226"></a>02226 uint32_t fftLenReal,
  1344. <a name="l02227"></a>02227 uint32_t ifftFlagR,
  1345. <a name="l02228"></a>02228 uint32_t bitReverseFlag);
  1346. <a name="l02229"></a>02229
  1347. <a name="l02238"></a>02238 <span class="keywordtype">void</span> <a class="code" href="group___r_f_f_t___r_i_f_f_t.html#gabaeab5646aeea9844e6d42ca8c73fe3a" title="Processing function for the Q31 RFFT/RIFFT.">arm_rfft_q31</a>(
  1348. <a name="l02239"></a>02239 <span class="keyword">const</span> <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> * S,
  1349. <a name="l02240"></a>02240 q31_t * pSrc,
  1350. <a name="l02241"></a>02241 q31_t * pDst);
  1351. <a name="l02242"></a>02242
  1352. <a name="l02253"></a>02253 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___r_f_f_t___r_i_f_f_t.html#ga8b9c7f99f3c368c82048cd1899acbbd5" title="Initialization function for the Q31 RFFT/RIFFT.">arm_rfft_init_q31</a>(
  1353. <a name="l02254"></a>02254 <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> * S,
  1354. <a name="l02255"></a>02255 <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S_CFFT,
  1355. <a name="l02256"></a>02256 uint32_t fftLenReal,
  1356. <a name="l02257"></a>02257 uint32_t ifftFlagR,
  1357. <a name="l02258"></a>02258 uint32_t bitReverseFlag);
  1358. <a name="l02259"></a>02259
  1359. <a name="l02270"></a>02270 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___r_f_f_t___r_i_f_f_t.html#ga10717ee326bf50832ef1c25b85a23068" title="Initialization function for the floating-point RFFT/RIFFT.">arm_rfft_init_f32</a>(
  1360. <a name="l02271"></a>02271 <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> * S,
  1361. <a name="l02272"></a>02272 <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S_CFFT,
  1362. <a name="l02273"></a>02273 uint32_t fftLenReal,
  1363. <a name="l02274"></a>02274 uint32_t ifftFlagR,
  1364. <a name="l02275"></a>02275 uint32_t bitReverseFlag);
  1365. <a name="l02276"></a>02276
  1366. <a name="l02285"></a>02285 <span class="keywordtype">void</span> <a class="code" href="group___r_f_f_t___r_i_f_f_t.html#ga3df1766d230532bc068fc4ed69d0fcdc" title="Processing function for the floating-point RFFT/RIFFT.">arm_rfft_f32</a>(
  1367. <a name="l02286"></a>02286 <span class="keyword">const</span> <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> * S,
  1368. <a name="l02287"></a>02287 float32_t * pSrc,
  1369. <a name="l02288"></a>02288 float32_t * pDst);
  1370. <a name="l02289"></a>02289
  1371. <a name="l02294"></a><a class="code" href="structarm__dct4__instance__f32.html">02294</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1372. <a name="l02295"></a>02295 {
  1373. <a name="l02296"></a><a class="code" href="structarm__dct4__instance__f32.html#a262b29a51c371b46efc89120e31ccf37">02296</a> uint16_t <a class="code" href="structarm__dct4__instance__f32.html#a262b29a51c371b46efc89120e31ccf37">N</a>;
  1374. <a name="l02297"></a><a class="code" href="structarm__dct4__instance__f32.html#adb1ef2739ddbe62e5cdadc47455a4147">02297</a> uint16_t <a class="code" href="structarm__dct4__instance__f32.html#adb1ef2739ddbe62e5cdadc47455a4147">Nby2</a>;
  1375. <a name="l02298"></a><a class="code" href="structarm__dct4__instance__f32.html#a61ce8c967b2e998a9c0041cca73cdef8">02298</a> float32_t <a class="code" href="structarm__dct4__instance__f32.html#a61ce8c967b2e998a9c0041cca73cdef8">normalize</a>;
  1376. <a name="l02299"></a><a class="code" href="structarm__dct4__instance__f32.html#ad13544aafad268588c62e3eb35ae662c">02299</a> float32_t *<a class="code" href="structarm__dct4__instance__f32.html#ad13544aafad268588c62e3eb35ae662c">pTwiddle</a>;
  1377. <a name="l02300"></a><a class="code" href="structarm__dct4__instance__f32.html#a6da1187e070801e011ce5e0582efa861">02300</a> float32_t *<a class="code" href="structarm__dct4__instance__f32.html#a6da1187e070801e011ce5e0582efa861">pCosFactor</a>;
  1378. <a name="l02301"></a><a class="code" href="structarm__dct4__instance__f32.html#a978f37fc19add31af243ab5c63ae502f">02301</a> <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> *<a class="code" href="structarm__dct4__instance__f32.html#a978f37fc19add31af243ab5c63ae502f">pRfft</a>;
  1379. <a name="l02302"></a><a class="code" href="structarm__dct4__instance__f32.html#a018f7860b6e070af533fb7d76c7cdc32">02302</a> <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> *<a class="code" href="structarm__dct4__instance__f32.html#a018f7860b6e070af533fb7d76c7cdc32">pCfft</a>;
  1380. <a name="l02303"></a>02303 } <a class="code" href="structarm__dct4__instance__f32.html" title="Instance structure for the floating-point DCT4/IDCT4 function.">arm_dct4_instance_f32</a>;
  1381. <a name="l02304"></a>02304
  1382. <a name="l02316"></a>02316 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___d_c_t4___i_d_c_t4.html#gab094ad3bc6fa1b84e8b12a24e1850a06" title="Initialization function for the floating-point DCT4/IDCT4.">arm_dct4_init_f32</a>(
  1383. <a name="l02317"></a>02317 <a class="code" href="structarm__dct4__instance__f32.html" title="Instance structure for the floating-point DCT4/IDCT4 function.">arm_dct4_instance_f32</a> * S,
  1384. <a name="l02318"></a>02318 <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> * S_RFFT,
  1385. <a name="l02319"></a>02319 <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S_CFFT,
  1386. <a name="l02320"></a>02320 uint16_t N,
  1387. <a name="l02321"></a>02321 uint16_t Nby2,
  1388. <a name="l02322"></a>02322 float32_t normalize);
  1389. <a name="l02323"></a>02323
  1390. <a name="l02332"></a>02332 <span class="keywordtype">void</span> <a class="code" href="group___d_c_t4___i_d_c_t4.html#gafd538d68886848bc090ec2b0d364cc81" title="Processing function for the floating-point DCT4/IDCT4.">arm_dct4_f32</a>(
  1391. <a name="l02333"></a>02333 <span class="keyword">const</span> <a class="code" href="structarm__dct4__instance__f32.html" title="Instance structure for the floating-point DCT4/IDCT4 function.">arm_dct4_instance_f32</a> * S,
  1392. <a name="l02334"></a>02334 float32_t * pState,
  1393. <a name="l02335"></a>02335 float32_t * pInlineBuffer);
  1394. <a name="l02336"></a>02336
  1395. <a name="l02341"></a><a class="code" href="structarm__dct4__instance__q31.html">02341</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1396. <a name="l02342"></a>02342 {
  1397. <a name="l02343"></a><a class="code" href="structarm__dct4__instance__q31.html#a46a9f136457350676e2bfd3768ff9d6d">02343</a> uint16_t <a class="code" href="structarm__dct4__instance__q31.html#a46a9f136457350676e2bfd3768ff9d6d">N</a>;
  1398. <a name="l02344"></a><a class="code" href="structarm__dct4__instance__q31.html#a32d3268ba4629908dba056599f0a904d">02344</a> uint16_t <a class="code" href="structarm__dct4__instance__q31.html#a32d3268ba4629908dba056599f0a904d">Nby2</a>;
  1399. <a name="l02345"></a><a class="code" href="structarm__dct4__instance__q31.html#ac80ff7b28fca36aeef74dea12e8312dd">02345</a> q31_t <a class="code" href="structarm__dct4__instance__q31.html#ac80ff7b28fca36aeef74dea12e8312dd">normalize</a>;
  1400. <a name="l02346"></a><a class="code" href="structarm__dct4__instance__q31.html#a7db236e22673146bb1d2c962f0713f08">02346</a> q31_t *<a class="code" href="structarm__dct4__instance__q31.html#a7db236e22673146bb1d2c962f0713f08">pTwiddle</a>;
  1401. <a name="l02347"></a><a class="code" href="structarm__dct4__instance__q31.html#af97204d1838925621fc82021a0c2d6c1">02347</a> q31_t *<a class="code" href="structarm__dct4__instance__q31.html#af97204d1838925621fc82021a0c2d6c1">pCosFactor</a>;
  1402. <a name="l02348"></a><a class="code" href="structarm__dct4__instance__q31.html#af1487dab5e7963b85dc0fdc6bf492542">02348</a> <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> *<a class="code" href="structarm__dct4__instance__q31.html#af1487dab5e7963b85dc0fdc6bf492542">pRfft</a>;
  1403. <a name="l02349"></a><a class="code" href="structarm__dct4__instance__q31.html#ac96579cfb28d08bb11dd2fe4c6303833">02349</a> <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> *<a class="code" href="structarm__dct4__instance__q31.html#ac96579cfb28d08bb11dd2fe4c6303833">pCfft</a>;
  1404. <a name="l02350"></a>02350 } <a class="code" href="structarm__dct4__instance__q31.html" title="Instance structure for the Q31 DCT4/IDCT4 function.">arm_dct4_instance_q31</a>;
  1405. <a name="l02351"></a>02351
  1406. <a name="l02363"></a>02363 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___d_c_t4___i_d_c_t4.html#ga631bb59c7c97c814ff7147ecba6a716a" title="Initialization function for the Q31 DCT4/IDCT4.">arm_dct4_init_q31</a>(
  1407. <a name="l02364"></a>02364 <a class="code" href="structarm__dct4__instance__q31.html" title="Instance structure for the Q31 DCT4/IDCT4 function.">arm_dct4_instance_q31</a> * S,
  1408. <a name="l02365"></a>02365 <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> * S_RFFT,
  1409. <a name="l02366"></a>02366 <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S_CFFT,
  1410. <a name="l02367"></a>02367 uint16_t N,
  1411. <a name="l02368"></a>02368 uint16_t Nby2,
  1412. <a name="l02369"></a>02369 q31_t normalize);
  1413. <a name="l02370"></a>02370
  1414. <a name="l02379"></a>02379 <span class="keywordtype">void</span> <a class="code" href="group___d_c_t4___i_d_c_t4.html#gad04d0baab6ed081d8e8afe02538eb80b" title="Processing function for the Q31 DCT4/IDCT4.">arm_dct4_q31</a>(
  1415. <a name="l02380"></a>02380 <span class="keyword">const</span> <a class="code" href="structarm__dct4__instance__q31.html" title="Instance structure for the Q31 DCT4/IDCT4 function.">arm_dct4_instance_q31</a> * S,
  1416. <a name="l02381"></a>02381 q31_t * pState,
  1417. <a name="l02382"></a>02382 q31_t * pInlineBuffer);
  1418. <a name="l02383"></a>02383
  1419. <a name="l02388"></a><a class="code" href="structarm__dct4__instance__q15.html">02388</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1420. <a name="l02389"></a>02389 {
  1421. <a name="l02390"></a><a class="code" href="structarm__dct4__instance__q15.html#a53d24009bb9b2e93d0aa07db7f1a6c25">02390</a> uint16_t <a class="code" href="structarm__dct4__instance__q15.html#a53d24009bb9b2e93d0aa07db7f1a6c25">N</a>;
  1422. <a name="l02391"></a><a class="code" href="structarm__dct4__instance__q15.html#af43dcbbc2fc661ffbc525afe3dcbd7da">02391</a> uint16_t <a class="code" href="structarm__dct4__instance__q15.html#af43dcbbc2fc661ffbc525afe3dcbd7da">Nby2</a>;
  1423. <a name="l02392"></a><a class="code" href="structarm__dct4__instance__q15.html#a197098140d68e89a08f7a249003a0b86">02392</a> q15_t <a class="code" href="structarm__dct4__instance__q15.html#a197098140d68e89a08f7a249003a0b86">normalize</a>;
  1424. <a name="l02393"></a><a class="code" href="structarm__dct4__instance__q15.html#abc6c847e9f906781e1d5da40e9aafa76">02393</a> q15_t *<a class="code" href="structarm__dct4__instance__q15.html#abc6c847e9f906781e1d5da40e9aafa76">pTwiddle</a>;
  1425. <a name="l02394"></a><a class="code" href="structarm__dct4__instance__q15.html#ac76df681b1bd502fb4874c06f055dded">02394</a> q15_t *<a class="code" href="structarm__dct4__instance__q15.html#ac76df681b1bd502fb4874c06f055dded">pCosFactor</a>;
  1426. <a name="l02395"></a><a class="code" href="structarm__dct4__instance__q15.html#a11cf95c1cd9dd2dd5e4b81b8f88dc208">02395</a> <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> *<a class="code" href="structarm__dct4__instance__q15.html#a11cf95c1cd9dd2dd5e4b81b8f88dc208">pRfft</a>;
  1427. <a name="l02396"></a><a class="code" href="structarm__dct4__instance__q15.html#a7284932ee8c36107c33815eb62eadffc">02396</a> <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> *<a class="code" href="structarm__dct4__instance__q15.html#a7284932ee8c36107c33815eb62eadffc">pCfft</a>;
  1428. <a name="l02397"></a>02397 } <a class="code" href="structarm__dct4__instance__q15.html" title="Instance structure for the Q15 DCT4/IDCT4 function.">arm_dct4_instance_q15</a>;
  1429. <a name="l02398"></a>02398
  1430. <a name="l02410"></a>02410 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___d_c_t4___i_d_c_t4.html#ga966fd1b66a80873964533703ab5dc054" title="Initialization function for the Q15 DCT4/IDCT4.">arm_dct4_init_q15</a>(
  1431. <a name="l02411"></a>02411 <a class="code" href="structarm__dct4__instance__q15.html" title="Instance structure for the Q15 DCT4/IDCT4 function.">arm_dct4_instance_q15</a> * S,
  1432. <a name="l02412"></a>02412 <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> * S_RFFT,
  1433. <a name="l02413"></a>02413 <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S_CFFT,
  1434. <a name="l02414"></a>02414 uint16_t N,
  1435. <a name="l02415"></a>02415 uint16_t Nby2,
  1436. <a name="l02416"></a>02416 q15_t normalize);
  1437. <a name="l02417"></a>02417
  1438. <a name="l02426"></a>02426 <span class="keywordtype">void</span> <a class="code" href="group___d_c_t4___i_d_c_t4.html#ga114cb9635059f678df291fcc887aaf2b" title="Processing function for the Q15 DCT4/IDCT4.">arm_dct4_q15</a>(
  1439. <a name="l02427"></a>02427 <span class="keyword">const</span> <a class="code" href="structarm__dct4__instance__q15.html" title="Instance structure for the Q15 DCT4/IDCT4 function.">arm_dct4_instance_q15</a> * S,
  1440. <a name="l02428"></a>02428 q15_t * pState,
  1441. <a name="l02429"></a>02429 q15_t * pInlineBuffer);
  1442. <a name="l02430"></a>02430
  1443. <a name="l02440"></a>02440 <span class="keywordtype">void</span> <a class="code" href="group___basic_add.html#ga6a904a547413b10565dd1d251c6bafbd" title="Floating-point vector addition.">arm_add_f32</a>(
  1444. <a name="l02441"></a>02441 float32_t * pSrcA,
  1445. <a name="l02442"></a>02442 float32_t * pSrcB,
  1446. <a name="l02443"></a>02443 float32_t * pDst,
  1447. <a name="l02444"></a>02444 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1448. <a name="l02445"></a>02445
  1449. <a name="l02455"></a>02455 <span class="keywordtype">void</span> <a class="code" href="group___basic_add.html#gaed633f415a7840a66861debca2dfb96b" title="Q7 vector addition.">arm_add_q7</a>(
  1450. <a name="l02456"></a>02456 q7_t * pSrcA,
  1451. <a name="l02457"></a>02457 q7_t * pSrcB,
  1452. <a name="l02458"></a>02458 q7_t * pDst,
  1453. <a name="l02459"></a>02459 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1454. <a name="l02460"></a>02460
  1455. <a name="l02470"></a>02470 <span class="keywordtype">void</span> <a class="code" href="group___basic_add.html#gabb51285a41f511670bbff62fc0e1bf62" title="Q15 vector addition.">arm_add_q15</a>(
  1456. <a name="l02471"></a>02471 q15_t * pSrcA,
  1457. <a name="l02472"></a>02472 q15_t * pSrcB,
  1458. <a name="l02473"></a>02473 q15_t * pDst,
  1459. <a name="l02474"></a>02474 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1460. <a name="l02475"></a>02475
  1461. <a name="l02485"></a>02485 <span class="keywordtype">void</span> <a class="code" href="group___basic_add.html#ga24d6c3f7f8b9fae4847c0c3f26a39a3b" title="Q31 vector addition.">arm_add_q31</a>(
  1462. <a name="l02486"></a>02486 q31_t * pSrcA,
  1463. <a name="l02487"></a>02487 q31_t * pSrcB,
  1464. <a name="l02488"></a>02488 q31_t * pDst,
  1465. <a name="l02489"></a>02489 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1466. <a name="l02490"></a>02490
  1467. <a name="l02500"></a>02500 <span class="keywordtype">void</span> <a class="code" href="group___basic_sub.html#ga7f975a472de286331134227c08aad826" title="Floating-point vector subtraction.">arm_sub_f32</a>(
  1468. <a name="l02501"></a>02501 float32_t * pSrcA,
  1469. <a name="l02502"></a>02502 float32_t * pSrcB,
  1470. <a name="l02503"></a>02503 float32_t * pDst,
  1471. <a name="l02504"></a>02504 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1472. <a name="l02505"></a>02505
  1473. <a name="l02515"></a>02515 <span class="keywordtype">void</span> <a class="code" href="group___basic_sub.html#gab09941de7dfeb247e5c29b406a435fcc" title="Q7 vector subtraction.">arm_sub_q7</a>(
  1474. <a name="l02516"></a>02516 q7_t * pSrcA,
  1475. <a name="l02517"></a>02517 q7_t * pSrcB,
  1476. <a name="l02518"></a>02518 q7_t * pDst,
  1477. <a name="l02519"></a>02519 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1478. <a name="l02520"></a>02520
  1479. <a name="l02530"></a>02530 <span class="keywordtype">void</span> <a class="code" href="group___basic_sub.html#ga997a8ee93088d15bda23c325d455b588" title="Q15 vector subtraction.">arm_sub_q15</a>(
  1480. <a name="l02531"></a>02531 q15_t * pSrcA,
  1481. <a name="l02532"></a>02532 q15_t * pSrcB,
  1482. <a name="l02533"></a>02533 q15_t * pDst,
  1483. <a name="l02534"></a>02534 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1484. <a name="l02535"></a>02535
  1485. <a name="l02545"></a>02545 <span class="keywordtype">void</span> <a class="code" href="group___basic_sub.html#ga28aa6908d092752144413e21933dc878" title="Q31 vector subtraction.">arm_sub_q31</a>(
  1486. <a name="l02546"></a>02546 q31_t * pSrcA,
  1487. <a name="l02547"></a>02547 q31_t * pSrcB,
  1488. <a name="l02548"></a>02548 q31_t * pDst,
  1489. <a name="l02549"></a>02549 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1490. <a name="l02550"></a>02550
  1491. <a name="l02560"></a>02560 <span class="keywordtype">void</span> <a class="code" href="group__scale.html#ga3487af88b112f682ee90589cd419e123" title="Multiplies a floating-point vector by a scalar.">arm_scale_f32</a>(
  1492. <a name="l02561"></a>02561 float32_t * pSrc,
  1493. <a name="l02562"></a>02562 float32_t scale,
  1494. <a name="l02563"></a>02563 float32_t * pDst,
  1495. <a name="l02564"></a>02564 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1496. <a name="l02565"></a>02565
  1497. <a name="l02576"></a>02576 <span class="keywordtype">void</span> <a class="code" href="group__scale.html#gabc9fd3d37904c58df56492b351d21fb0" title="Multiplies a Q7 vector by a scalar.">arm_scale_q7</a>(
  1498. <a name="l02577"></a>02577 q7_t * pSrc,
  1499. <a name="l02578"></a>02578 q7_t scaleFract,
  1500. <a name="l02579"></a>02579 int8_t shift,
  1501. <a name="l02580"></a>02580 q7_t * pDst,
  1502. <a name="l02581"></a>02581 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1503. <a name="l02582"></a>02582
  1504. <a name="l02593"></a>02593 <span class="keywordtype">void</span> <a class="code" href="group__scale.html#gafaac0e1927daffeb68a42719b53ea780" title="Multiplies a Q15 vector by a scalar.">arm_scale_q15</a>(
  1505. <a name="l02594"></a>02594 q15_t * pSrc,
  1506. <a name="l02595"></a>02595 q15_t scaleFract,
  1507. <a name="l02596"></a>02596 int8_t shift,
  1508. <a name="l02597"></a>02597 q15_t * pDst,
  1509. <a name="l02598"></a>02598 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1510. <a name="l02599"></a>02599
  1511. <a name="l02610"></a>02610 <span class="keywordtype">void</span> <a class="code" href="group__scale.html#ga83e36cd82bf51ce35406a199e477d47c" title="Multiplies a Q31 vector by a scalar.">arm_scale_q31</a>(
  1512. <a name="l02611"></a>02611 q31_t * pSrc,
  1513. <a name="l02612"></a>02612 q31_t scaleFract,
  1514. <a name="l02613"></a>02613 int8_t shift,
  1515. <a name="l02614"></a>02614 q31_t * pDst,
  1516. <a name="l02615"></a>02615 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1517. <a name="l02616"></a>02616
  1518. <a name="l02625"></a>02625 <span class="keywordtype">void</span> <a class="code" href="group___basic_abs.html#gadc30985e33fbf96802a5a7954dece3b1" title="Q7 vector absolute value.">arm_abs_q7</a>(
  1519. <a name="l02626"></a>02626 q7_t * pSrc,
  1520. <a name="l02627"></a>02627 q7_t * pDst,
  1521. <a name="l02628"></a>02628 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1522. <a name="l02629"></a>02629
  1523. <a name="l02638"></a>02638 <span class="keywordtype">void</span> <a class="code" href="group___basic_abs.html#ga421b6275f9d35f50286c0ff3beceff02" title="Floating-point vector absolute value.">arm_abs_f32</a>(
  1524. <a name="l02639"></a>02639 float32_t * pSrc,
  1525. <a name="l02640"></a>02640 float32_t * pDst,
  1526. <a name="l02641"></a>02641 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1527. <a name="l02642"></a>02642
  1528. <a name="l02651"></a>02651 <span class="keywordtype">void</span> <a class="code" href="group___basic_abs.html#ga39f92964c9b649ba252e26ebe7b95594" title="Q15 vector absolute value.">arm_abs_q15</a>(
  1529. <a name="l02652"></a>02652 q15_t * pSrc,
  1530. <a name="l02653"></a>02653 q15_t * pDst,
  1531. <a name="l02654"></a>02654 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1532. <a name="l02655"></a>02655
  1533. <a name="l02664"></a>02664 <span class="keywordtype">void</span> <a class="code" href="group___basic_abs.html#ga59eafcdcdb52da60d37f20aec6ff4577" title="Q31 vector absolute value.">arm_abs_q31</a>(
  1534. <a name="l02665"></a>02665 q31_t * pSrc,
  1535. <a name="l02666"></a>02666 q31_t * pDst,
  1536. <a name="l02667"></a>02667 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1537. <a name="l02668"></a>02668
  1538. <a name="l02678"></a>02678 <span class="keywordtype">void</span> <a class="code" href="group__dot__prod.html#ga55418d4362f6ba84c327f9b4f089a8c3" title="Dot product of floating-point vectors.">arm_dot_prod_f32</a>(
  1539. <a name="l02679"></a>02679 float32_t * pSrcA,
  1540. <a name="l02680"></a>02680 float32_t * pSrcB,
  1541. <a name="l02681"></a>02681 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  1542. <a name="l02682"></a>02682 float32_t * result);
  1543. <a name="l02683"></a>02683
  1544. <a name="l02693"></a>02693 <span class="keywordtype">void</span> <a class="code" href="group__dot__prod.html#ga9c3293a50ac7ec8ba928bf8e3aaea6c1" title="Dot product of Q7 vectors.">arm_dot_prod_q7</a>(
  1545. <a name="l02694"></a>02694 q7_t * pSrcA,
  1546. <a name="l02695"></a>02695 q7_t * pSrcB,
  1547. <a name="l02696"></a>02696 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  1548. <a name="l02697"></a>02697 q31_t * result);
  1549. <a name="l02698"></a>02698
  1550. <a name="l02708"></a>02708 <span class="keywordtype">void</span> <a class="code" href="group__dot__prod.html#ga436d5bed28a4b73b24acbde436a3044b" title="Dot product of Q15 vectors.">arm_dot_prod_q15</a>(
  1551. <a name="l02709"></a>02709 q15_t * pSrcA,
  1552. <a name="l02710"></a>02710 q15_t * pSrcB,
  1553. <a name="l02711"></a>02711 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  1554. <a name="l02712"></a>02712 q63_t * result);
  1555. <a name="l02713"></a>02713
  1556. <a name="l02723"></a>02723 <span class="keywordtype">void</span> <a class="code" href="group__dot__prod.html#gab15d8fa060fc85b4d948d091b7deaa11" title="Dot product of Q31 vectors.">arm_dot_prod_q31</a>(
  1557. <a name="l02724"></a>02724 q31_t * pSrcA,
  1558. <a name="l02725"></a>02725 q31_t * pSrcB,
  1559. <a name="l02726"></a>02726 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  1560. <a name="l02727"></a>02727 q63_t * result);
  1561. <a name="l02728"></a>02728
  1562. <a name="l02738"></a>02738 <span class="keywordtype">void</span> <a class="code" href="group__shift.html#ga47295d08a685f7de700a48dafb4db6fb" title="Shifts the elements of a Q7 vector a specified number of bits.">arm_shift_q7</a>(
  1563. <a name="l02739"></a>02739 q7_t * pSrc,
  1564. <a name="l02740"></a>02740 int8_t shiftBits,
  1565. <a name="l02741"></a>02741 q7_t * pDst,
  1566. <a name="l02742"></a>02742 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1567. <a name="l02743"></a>02743
  1568. <a name="l02753"></a>02753 <span class="keywordtype">void</span> <a class="code" href="group__shift.html#gaa1757e53279780107acc92cf100adb61" title="Shifts the elements of a Q15 vector a specified number of bits.">arm_shift_q15</a>(
  1569. <a name="l02754"></a>02754 q15_t * pSrc,
  1570. <a name="l02755"></a>02755 int8_t shiftBits,
  1571. <a name="l02756"></a>02756 q15_t * pDst,
  1572. <a name="l02757"></a>02757 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1573. <a name="l02758"></a>02758
  1574. <a name="l02768"></a>02768 <span class="keywordtype">void</span> <a class="code" href="group__shift.html#ga387dd8b7b87377378280978f16cdb13d" title="Shifts the elements of a Q31 vector a specified number of bits.">arm_shift_q31</a>(
  1575. <a name="l02769"></a>02769 q31_t * pSrc,
  1576. <a name="l02770"></a>02770 int8_t shiftBits,
  1577. <a name="l02771"></a>02771 q31_t * pDst,
  1578. <a name="l02772"></a>02772 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1579. <a name="l02773"></a>02773
  1580. <a name="l02783"></a>02783 <span class="keywordtype">void</span> <a class="code" href="group__offset.html#ga989dfae15235799d82f62ef9d356abb4" title="Adds a constant offset to a floating-point vector.">arm_offset_f32</a>(
  1581. <a name="l02784"></a>02784 float32_t * pSrc,
  1582. <a name="l02785"></a>02785 float32_t offset,
  1583. <a name="l02786"></a>02786 float32_t * pDst,
  1584. <a name="l02787"></a>02787 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1585. <a name="l02788"></a>02788
  1586. <a name="l02798"></a>02798 <span class="keywordtype">void</span> <a class="code" href="group__offset.html#ga00bd9cc17c5bf905e76c91ad50886393" title="Adds a constant offset to a Q7 vector.">arm_offset_q7</a>(
  1587. <a name="l02799"></a>02799 q7_t * pSrc,
  1588. <a name="l02800"></a>02800 q7_t offset,
  1589. <a name="l02801"></a>02801 q7_t * pDst,
  1590. <a name="l02802"></a>02802 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1591. <a name="l02803"></a>02803
  1592. <a name="l02813"></a>02813 <span class="keywordtype">void</span> <a class="code" href="group__offset.html#gab4c1d2391b599549e5a06fdfbc2747bf" title="Adds a constant offset to a Q15 vector.">arm_offset_q15</a>(
  1593. <a name="l02814"></a>02814 q15_t * pSrc,
  1594. <a name="l02815"></a>02815 q15_t offset,
  1595. <a name="l02816"></a>02816 q15_t * pDst,
  1596. <a name="l02817"></a>02817 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1597. <a name="l02818"></a>02818
  1598. <a name="l02828"></a>02828 <span class="keywordtype">void</span> <a class="code" href="group__offset.html#gac84ec42cbbebc5c197a87d0221819acf" title="Adds a constant offset to a Q31 vector.">arm_offset_q31</a>(
  1599. <a name="l02829"></a>02829 q31_t * pSrc,
  1600. <a name="l02830"></a>02830 q31_t offset,
  1601. <a name="l02831"></a>02831 q31_t * pDst,
  1602. <a name="l02832"></a>02832 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1603. <a name="l02833"></a>02833
  1604. <a name="l02842"></a>02842 <span class="keywordtype">void</span> <a class="code" href="group__negate.html#ga2e169c4de6cc6e3ba4be9473531e6657" title="Negates the elements of a floating-point vector.">arm_negate_f32</a>(
  1605. <a name="l02843"></a>02843 float32_t * pSrc,
  1606. <a name="l02844"></a>02844 float32_t * pDst,
  1607. <a name="l02845"></a>02845 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1608. <a name="l02846"></a>02846
  1609. <a name="l02855"></a>02855 <span class="keywordtype">void</span> <a class="code" href="group__negate.html#gaae78fc079a43bdaa3055f9b32e2a1f4c" title="Negates the elements of a Q7 vector.">arm_negate_q7</a>(
  1610. <a name="l02856"></a>02856 q7_t * pSrc,
  1611. <a name="l02857"></a>02857 q7_t * pDst,
  1612. <a name="l02858"></a>02858 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1613. <a name="l02859"></a>02859
  1614. <a name="l02868"></a>02868 <span class="keywordtype">void</span> <a class="code" href="group__negate.html#ga0239a833d72cf00290b9723c394e5042" title="Negates the elements of a Q15 vector.">arm_negate_q15</a>(
  1615. <a name="l02869"></a>02869 q15_t * pSrc,
  1616. <a name="l02870"></a>02870 q15_t * pDst,
  1617. <a name="l02871"></a>02871 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1618. <a name="l02872"></a>02872
  1619. <a name="l02881"></a>02881 <span class="keywordtype">void</span> <a class="code" href="group__negate.html#ga2784c6887686a73dc7c364e2e41c776c" title="Negates the elements of a Q31 vector.">arm_negate_q31</a>(
  1620. <a name="l02882"></a>02882 q31_t * pSrc,
  1621. <a name="l02883"></a>02883 q31_t * pDst,
  1622. <a name="l02884"></a>02884 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1623. <a name="l02892"></a>02892 <span class="keywordtype">void</span> <a class="code" href="group__copy.html#gadd1f737e677e0e6ca31767c7001417b3" title="Copies the elements of a floating-point vector.">arm_copy_f32</a>(
  1624. <a name="l02893"></a>02893 float32_t * pSrc,
  1625. <a name="l02894"></a>02894 float32_t * pDst,
  1626. <a name="l02895"></a>02895 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1627. <a name="l02896"></a>02896
  1628. <a name="l02904"></a>02904 <span class="keywordtype">void</span> <a class="code" href="group__copy.html#ga467579beda492aa92797529d794c88fb" title="Copies the elements of a Q7 vector.">arm_copy_q7</a>(
  1629. <a name="l02905"></a>02905 q7_t * pSrc,
  1630. <a name="l02906"></a>02906 q7_t * pDst,
  1631. <a name="l02907"></a>02907 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1632. <a name="l02908"></a>02908
  1633. <a name="l02916"></a>02916 <span class="keywordtype">void</span> <a class="code" href="group__copy.html#ga872ca4cfc18c680b8991ccd569a5fda0" title="Copies the elements of a Q15 vector.">arm_copy_q15</a>(
  1634. <a name="l02917"></a>02917 q15_t * pSrc,
  1635. <a name="l02918"></a>02918 q15_t * pDst,
  1636. <a name="l02919"></a>02919 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1637. <a name="l02920"></a>02920
  1638. <a name="l02928"></a>02928 <span class="keywordtype">void</span> <a class="code" href="group__copy.html#gaddf70be7e3f87e535c324862b501f3f9" title="Copies the elements of a Q31 vector.">arm_copy_q31</a>(
  1639. <a name="l02929"></a>02929 q31_t * pSrc,
  1640. <a name="l02930"></a>02930 q31_t * pDst,
  1641. <a name="l02931"></a>02931 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1642. <a name="l02939"></a>02939 <span class="keywordtype">void</span> <a class="code" href="group___fill.html#ga2248e8d3901b4afb7827163132baad94" title="Fills a constant value into a floating-point vector.">arm_fill_f32</a>(
  1643. <a name="l02940"></a>02940 float32_t value,
  1644. <a name="l02941"></a>02941 float32_t * pDst,
  1645. <a name="l02942"></a>02942 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1646. <a name="l02943"></a>02943
  1647. <a name="l02951"></a>02951 <span class="keywordtype">void</span> <a class="code" href="group___fill.html#ga0465cf326ada039ed792f94b033d9ec5" title="Fills a constant value into a Q7 vector.">arm_fill_q7</a>(
  1648. <a name="l02952"></a>02952 q7_t value,
  1649. <a name="l02953"></a>02953 q7_t * pDst,
  1650. <a name="l02954"></a>02954 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1651. <a name="l02955"></a>02955
  1652. <a name="l02963"></a>02963 <span class="keywordtype">void</span> <a class="code" href="group___fill.html#ga76b21c32a3783a2b3334d930a646e5d8" title="Fills a constant value into a Q15 vector.">arm_fill_q15</a>(
  1653. <a name="l02964"></a>02964 q15_t value,
  1654. <a name="l02965"></a>02965 q15_t * pDst,
  1655. <a name="l02966"></a>02966 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1656. <a name="l02967"></a>02967
  1657. <a name="l02975"></a>02975 <span class="keywordtype">void</span> <a class="code" href="group___fill.html#ga69cc781cf337bd0a31bb85c772a35f7f" title="Fills a constant value into a Q31 vector.">arm_fill_q31</a>(
  1658. <a name="l02976"></a>02976 q31_t value,
  1659. <a name="l02977"></a>02977 q31_t * pDst,
  1660. <a name="l02978"></a>02978 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1661. <a name="l02979"></a>02979
  1662. <a name="l02990"></a>02990 <span class="keywordtype">void</span> <a class="code" href="group___conv.html#ga3f860dc98c6fc4cafc421e4a2aed3c89" title="Convolution of floating-point sequences.">arm_conv_f32</a>(
  1663. <a name="l02991"></a>02991 float32_t * pSrcA,
  1664. <a name="l02992"></a>02992 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1665. <a name="l02993"></a>02993 float32_t * pSrcB,
  1666. <a name="l02994"></a>02994 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1667. <a name="l02995"></a>02995 float32_t * pDst);
  1668. <a name="l02996"></a>02996
  1669. <a name="l03007"></a>03007 <span class="keywordtype">void</span> <a class="code" href="group___conv.html#gaccd6a89b0ff7a94df64610598e6e6893" title="Convolution of Q15 sequences.">arm_conv_q15</a>(
  1670. <a name="l03008"></a>03008 q15_t * pSrcA,
  1671. <a name="l03009"></a>03009 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1672. <a name="l03010"></a>03010 q15_t * pSrcB,
  1673. <a name="l03011"></a>03011 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1674. <a name="l03012"></a>03012 q15_t * pDst);
  1675. <a name="l03013"></a>03013
  1676. <a name="l03024"></a>03024 <span class="keywordtype">void</span> <a class="code" href="group___conv.html#gad75ca978ce906e04abdf86a8d76306d4" title="Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.">arm_conv_fast_q15</a>(
  1677. <a name="l03025"></a>03025 q15_t * pSrcA,
  1678. <a name="l03026"></a>03026 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1679. <a name="l03027"></a>03027 q15_t * pSrcB,
  1680. <a name="l03028"></a>03028 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1681. <a name="l03029"></a>03029 q15_t * pDst);
  1682. <a name="l03030"></a>03030
  1683. <a name="l03041"></a>03041 <span class="keywordtype">void</span> <a class="code" href="group___conv.html#ga946b58da734f1e4e78c91fcaab4b12b6" title="Convolution of Q31 sequences.">arm_conv_q31</a>(
  1684. <a name="l03042"></a>03042 q31_t * pSrcA,
  1685. <a name="l03043"></a>03043 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1686. <a name="l03044"></a>03044 q31_t * pSrcB,
  1687. <a name="l03045"></a>03045 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1688. <a name="l03046"></a>03046 q31_t * pDst);
  1689. <a name="l03047"></a>03047
  1690. <a name="l03058"></a>03058 <span class="keywordtype">void</span> <a class="code" href="group___conv.html#ga51112dcdf9b3624eb05182cdc4da9ec0" title="Convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4.">arm_conv_fast_q31</a>(
  1691. <a name="l03059"></a>03059 q31_t * pSrcA,
  1692. <a name="l03060"></a>03060 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1693. <a name="l03061"></a>03061 q31_t * pSrcB,
  1694. <a name="l03062"></a>03062 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1695. <a name="l03063"></a>03063 q31_t * pDst);
  1696. <a name="l03064"></a>03064
  1697. <a name="l03075"></a>03075 <span class="keywordtype">void</span> <a class="code" href="group___conv.html#gae2070cb792a167e78dbad8d06b97cdab" title="Convolution of Q7 sequences.">arm_conv_q7</a>(
  1698. <a name="l03076"></a>03076 q7_t * pSrcA,
  1699. <a name="l03077"></a>03077 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1700. <a name="l03078"></a>03078 q7_t * pSrcB,
  1701. <a name="l03079"></a>03079 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1702. <a name="l03080"></a>03080 q7_t * pDst);
  1703. <a name="l03081"></a>03081
  1704. <a name="l03094"></a>03094 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___partial_conv.html#ga16d10f32072cd79fc5fb6e785df45f5e" title="Partial convolution of floating-point sequences.">arm_conv_partial_f32</a>(
  1705. <a name="l03095"></a>03095 float32_t * pSrcA,
  1706. <a name="l03096"></a>03096 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1707. <a name="l03097"></a>03097 float32_t * pSrcB,
  1708. <a name="l03098"></a>03098 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1709. <a name="l03099"></a>03099 float32_t * pDst,
  1710. <a name="l03100"></a>03100 uint32_t firstIndex,
  1711. <a name="l03101"></a>03101 uint32_t numPoints);
  1712. <a name="l03102"></a>03102
  1713. <a name="l03115"></a>03115 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___partial_conv.html#ga209a2a913a0c5e5679c5988da8f46b03" title="Partial convolution of Q15 sequences.">arm_conv_partial_q15</a>(
  1714. <a name="l03116"></a>03116 q15_t * pSrcA,
  1715. <a name="l03117"></a>03117 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1716. <a name="l03118"></a>03118 q15_t * pSrcB,
  1717. <a name="l03119"></a>03119 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1718. <a name="l03120"></a>03120 q15_t * pDst,
  1719. <a name="l03121"></a>03121 uint32_t firstIndex,
  1720. <a name="l03122"></a>03122 uint32_t numPoints);
  1721. <a name="l03123"></a>03123
  1722. <a name="l03136"></a>03136 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___partial_conv.html#ga1e4d43385cb62262a78c6752fe1fafb2" title="Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.">arm_conv_partial_fast_q15</a>(
  1723. <a name="l03137"></a>03137 q15_t * pSrcA,
  1724. <a name="l03138"></a>03138 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1725. <a name="l03139"></a>03139 q15_t * pSrcB,
  1726. <a name="l03140"></a>03140 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1727. <a name="l03141"></a>03141 q15_t * pDst,
  1728. <a name="l03142"></a>03142 uint32_t firstIndex,
  1729. <a name="l03143"></a>03143 uint32_t numPoints);
  1730. <a name="l03144"></a>03144
  1731. <a name="l03157"></a>03157 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___partial_conv.html#ga78e73a5f02d103168a09821fb461e77a" title="Partial convolution of Q31 sequences.">arm_conv_partial_q31</a>(
  1732. <a name="l03158"></a>03158 q31_t * pSrcA,
  1733. <a name="l03159"></a>03159 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1734. <a name="l03160"></a>03160 q31_t * pSrcB,
  1735. <a name="l03161"></a>03161 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1736. <a name="l03162"></a>03162 q31_t * pDst,
  1737. <a name="l03163"></a>03163 uint32_t firstIndex,
  1738. <a name="l03164"></a>03164 uint32_t numPoints);
  1739. <a name="l03165"></a>03165
  1740. <a name="l03166"></a>03166
  1741. <a name="l03179"></a>03179 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___partial_conv.html#ga10c5294cda8c4985386f4e3944be7650" title="Partial convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4.">arm_conv_partial_fast_q31</a>(
  1742. <a name="l03180"></a>03180 q31_t * pSrcA,
  1743. <a name="l03181"></a>03181 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1744. <a name="l03182"></a>03182 q31_t * pSrcB,
  1745. <a name="l03183"></a>03183 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1746. <a name="l03184"></a>03184 q31_t * pDst,
  1747. <a name="l03185"></a>03185 uint32_t firstIndex,
  1748. <a name="l03186"></a>03186 uint32_t numPoints);
  1749. <a name="l03187"></a>03187
  1750. <a name="l03200"></a>03200 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___partial_conv.html#ga8567259fe18396dd972242c41741ebf4" title="Partial convolution of Q7 sequences.">arm_conv_partial_q7</a>(
  1751. <a name="l03201"></a>03201 q7_t * pSrcA,
  1752. <a name="l03202"></a>03202 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  1753. <a name="l03203"></a>03203 q7_t * pSrcB,
  1754. <a name="l03204"></a>03204 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  1755. <a name="l03205"></a>03205 q7_t * pDst,
  1756. <a name="l03206"></a>03206 uint32_t firstIndex,
  1757. <a name="l03207"></a>03207 uint32_t numPoints);
  1758. <a name="l03208"></a>03208
  1759. <a name="l03209"></a>03209
  1760. <a name="l03214"></a><a class="code" href="structarm__fir__decimate__instance__q15.html">03214</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1761. <a name="l03215"></a>03215 {
  1762. <a name="l03216"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#aad9320284218b3aa378527ea518cf093">03216</a> uint8_t <a class="code" href="structarm__fir__decimate__instance__q15.html#aad9320284218b3aa378527ea518cf093">M</a>;
  1763. <a name="l03217"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#ac1e9844488ec717da334fbd4c4f41990">03217</a> uint16_t <a class="code" href="structarm__fir__decimate__instance__q15.html#ac1e9844488ec717da334fbd4c4f41990">numTaps</a>;
  1764. <a name="l03218"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#a01cacab67e73945e8289075598ede14d">03218</a> q15_t *<a class="code" href="structarm__fir__decimate__instance__q15.html#a01cacab67e73945e8289075598ede14d">pCoeffs</a>;
  1765. <a name="l03219"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#a3f7b5184bb28853ef401b001df121047">03219</a> q15_t *<a class="code" href="structarm__fir__decimate__instance__q15.html#a3f7b5184bb28853ef401b001df121047">pState</a>;
  1766. <a name="l03220"></a>03220 } <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a>;
  1767. <a name="l03221"></a>03221
  1768. <a name="l03226"></a><a class="code" href="structarm__fir__decimate__instance__q31.html">03226</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1769. <a name="l03227"></a>03227 {
  1770. <a name="l03228"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#ad3d6936c36303b30dd38f1eddf248ae5">03228</a> uint8_t <a class="code" href="structarm__fir__decimate__instance__q31.html#ad3d6936c36303b30dd38f1eddf248ae5">M</a>;
  1771. <a name="l03229"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#a37915d42b0dc5e3057ebe83110798482">03229</a> uint16_t <a class="code" href="structarm__fir__decimate__instance__q31.html#a37915d42b0dc5e3057ebe83110798482">numTaps</a>;
  1772. <a name="l03230"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#a030d0391538c2481c5b348fd09a952ff">03230</a> q31_t *<a class="code" href="structarm__fir__decimate__instance__q31.html#a030d0391538c2481c5b348fd09a952ff">pCoeffs</a>;
  1773. <a name="l03231"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#a0ef0ef9e265f7ab873cfc6daa7593fdb">03231</a> q31_t *<a class="code" href="structarm__fir__decimate__instance__q31.html#a0ef0ef9e265f7ab873cfc6daa7593fdb">pState</a>;
  1774. <a name="l03233"></a>03233 } <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a>;
  1775. <a name="l03234"></a>03234
  1776. <a name="l03239"></a><a class="code" href="structarm__fir__decimate__instance__f32.html">03239</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1777. <a name="l03240"></a>03240 {
  1778. <a name="l03241"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#a76a8b2161731638eb3d67f277919f95d">03241</a> uint8_t <a class="code" href="structarm__fir__decimate__instance__f32.html#a76a8b2161731638eb3d67f277919f95d">M</a>;
  1779. <a name="l03242"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#a2aa2986129db8affef03ede88dd45a03">03242</a> uint16_t <a class="code" href="structarm__fir__decimate__instance__f32.html#a2aa2986129db8affef03ede88dd45a03">numTaps</a>;
  1780. <a name="l03243"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#a268a8b0e80a3d9764baf33e4bc10dde2">03243</a> float32_t *<a class="code" href="structarm__fir__decimate__instance__f32.html#a268a8b0e80a3d9764baf33e4bc10dde2">pCoeffs</a>;
  1781. <a name="l03244"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#a5bddf29aaaf2011d2e3bcec59a83f633">03244</a> float32_t *<a class="code" href="structarm__fir__decimate__instance__f32.html#a5bddf29aaaf2011d2e3bcec59a83f633">pState</a>;
  1782. <a name="l03246"></a>03246 } <a class="code" href="structarm__fir__decimate__instance__f32.html" title="Instance structure for the floating-point FIR decimator.">arm_fir_decimate_instance_f32</a>;
  1783. <a name="l03247"></a>03247
  1784. <a name="l03248"></a>03248
  1785. <a name="l03249"></a>03249
  1786. <a name="l03259"></a>03259 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r__decimate.html#ga25aa3d58a90bf91b6a82272a0bc518f7" title="Processing function for the floating-point FIR decimator.">arm_fir_decimate_f32</a>(
  1787. <a name="l03260"></a>03260 <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__f32.html" title="Instance structure for the floating-point FIR decimator.">arm_fir_decimate_instance_f32</a> * S,
  1788. <a name="l03261"></a>03261 float32_t * pSrc,
  1789. <a name="l03262"></a>03262 float32_t * pDst,
  1790. <a name="l03263"></a>03263 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1791. <a name="l03264"></a>03264
  1792. <a name="l03265"></a>03265
  1793. <a name="l03278"></a>03278 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___f_i_r__decimate.html#gaaa2524b08220fd6c3f753e692ffc7d3b" title="Initialization function for the floating-point FIR decimator.">arm_fir_decimate_init_f32</a>(
  1794. <a name="l03279"></a>03279 <a class="code" href="structarm__fir__decimate__instance__f32.html" title="Instance structure for the floating-point FIR decimator.">arm_fir_decimate_instance_f32</a> * S,
  1795. <a name="l03280"></a>03280 uint16_t numTaps,
  1796. <a name="l03281"></a>03281 uint8_t M,
  1797. <a name="l03282"></a>03282 float32_t * pCoeffs,
  1798. <a name="l03283"></a>03283 float32_t * pState,
  1799. <a name="l03284"></a>03284 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1800. <a name="l03285"></a>03285
  1801. <a name="l03295"></a>03295 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r__decimate.html#gab8bef6d0f6a26fdbfce9485727713ce5" title="Processing function for the Q15 FIR decimator.">arm_fir_decimate_q15</a>(
  1802. <a name="l03296"></a>03296 <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a> * S,
  1803. <a name="l03297"></a>03297 q15_t * pSrc,
  1804. <a name="l03298"></a>03298 q15_t * pDst,
  1805. <a name="l03299"></a>03299 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1806. <a name="l03300"></a>03300
  1807. <a name="l03310"></a>03310 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r__decimate.html#ga3f434c9a5d3b4e68061feac0714ea2ac" title="Processing function for the Q15 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4.">arm_fir_decimate_fast_q15</a>(
  1808. <a name="l03311"></a>03311 <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a> * S,
  1809. <a name="l03312"></a>03312 q15_t * pSrc,
  1810. <a name="l03313"></a>03313 q15_t * pDst,
  1811. <a name="l03314"></a>03314 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1812. <a name="l03315"></a>03315
  1813. <a name="l03316"></a>03316
  1814. <a name="l03317"></a>03317
  1815. <a name="l03330"></a>03330 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___f_i_r__decimate.html#gada660e54b93d5d32178c6f5e1c6f368d" title="Initialization function for the Q15 FIR decimator.">arm_fir_decimate_init_q15</a>(
  1816. <a name="l03331"></a>03331 <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a> * S,
  1817. <a name="l03332"></a>03332 uint16_t numTaps,
  1818. <a name="l03333"></a>03333 uint8_t M,
  1819. <a name="l03334"></a>03334 q15_t * pCoeffs,
  1820. <a name="l03335"></a>03335 q15_t * pState,
  1821. <a name="l03336"></a>03336 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1822. <a name="l03337"></a>03337
  1823. <a name="l03347"></a>03347 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r__decimate.html#gaef8e86add28f15fdc5ecc484e9dd7a4e" title="Processing function for the Q31 FIR decimator.">arm_fir_decimate_q31</a>(
  1824. <a name="l03348"></a>03348 <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a> * S,
  1825. <a name="l03349"></a>03349 q31_t * pSrc,
  1826. <a name="l03350"></a>03350 q31_t * pDst,
  1827. <a name="l03351"></a>03351 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1828. <a name="l03352"></a>03352
  1829. <a name="l03362"></a>03362 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r__decimate.html#ga3c18cc3d0548a410c577f1bead9582b7" title="Processing function for the Q31 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4.">arm_fir_decimate_fast_q31</a>(
  1830. <a name="l03363"></a>03363 <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a> * S,
  1831. <a name="l03364"></a>03364 q31_t * pSrc,
  1832. <a name="l03365"></a>03365 q31_t * pDst,
  1833. <a name="l03366"></a>03366 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1834. <a name="l03367"></a>03367
  1835. <a name="l03368"></a>03368
  1836. <a name="l03381"></a>03381 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___f_i_r__decimate.html#ga9ed47c4e0f58affa935d84e0508a7f39" title="Initialization function for the Q31 FIR decimator.">arm_fir_decimate_init_q31</a>(
  1837. <a name="l03382"></a>03382 <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a> * S,
  1838. <a name="l03383"></a>03383 uint16_t numTaps,
  1839. <a name="l03384"></a>03384 uint8_t M,
  1840. <a name="l03385"></a>03385 q31_t * pCoeffs,
  1841. <a name="l03386"></a>03386 q31_t * pState,
  1842. <a name="l03387"></a>03387 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1843. <a name="l03388"></a>03388
  1844. <a name="l03389"></a>03389
  1845. <a name="l03390"></a>03390
  1846. <a name="l03395"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html">03395</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1847. <a name="l03396"></a>03396 {
  1848. <a name="l03397"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#a5431bdc079e72a973b51d359f7f13603">03397</a> uint8_t <a class="code" href="structarm__fir__interpolate__instance__q15.html#a5431bdc079e72a973b51d359f7f13603">L</a>;
  1849. <a name="l03398"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#ad5178a02a697a77e0d0e60705d9f0a19">03398</a> uint16_t <a class="code" href="structarm__fir__interpolate__instance__q15.html#ad5178a02a697a77e0d0e60705d9f0a19">phaseLength</a>;
  1850. <a name="l03399"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#a767d91d61d4c0beeddd4325d28d28e24">03399</a> q15_t *<a class="code" href="structarm__fir__interpolate__instance__q15.html#a767d91d61d4c0beeddd4325d28d28e24">pCoeffs</a>;
  1851. <a name="l03400"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#a26b864363fa47954248f2590e3a82a3c">03400</a> q15_t *<a class="code" href="structarm__fir__interpolate__instance__q15.html#a26b864363fa47954248f2590e3a82a3c">pState</a>;
  1852. <a name="l03401"></a>03401 } <a class="code" href="structarm__fir__interpolate__instance__q15.html" title="Instance structure for the Q15 FIR interpolator.">arm_fir_interpolate_instance_q15</a>;
  1853. <a name="l03402"></a>03402
  1854. <a name="l03407"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html">03407</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1855. <a name="l03408"></a>03408 {
  1856. <a name="l03409"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#a5cdf0a631cb74e0e9588c388abe5235c">03409</a> uint8_t <a class="code" href="structarm__fir__interpolate__instance__q31.html#a5cdf0a631cb74e0e9588c388abe5235c">L</a>;
  1857. <a name="l03410"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#a5d243796584afc7cd6c557f00b7acca5">03410</a> uint16_t <a class="code" href="structarm__fir__interpolate__instance__q31.html#a5d243796584afc7cd6c557f00b7acca5">phaseLength</a>;
  1858. <a name="l03411"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#afa719433687e1936ec3403d0d32f06e6">03411</a> q31_t *<a class="code" href="structarm__fir__interpolate__instance__q31.html#afa719433687e1936ec3403d0d32f06e6">pCoeffs</a>;
  1859. <a name="l03412"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#addde04514b6e6ac72be3d609f0398b1a">03412</a> q31_t *<a class="code" href="structarm__fir__interpolate__instance__q31.html#addde04514b6e6ac72be3d609f0398b1a">pState</a>;
  1860. <a name="l03413"></a>03413 } <a class="code" href="structarm__fir__interpolate__instance__q31.html" title="Instance structure for the Q31 FIR interpolator.">arm_fir_interpolate_instance_q31</a>;
  1861. <a name="l03414"></a>03414
  1862. <a name="l03419"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html">03419</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1863. <a name="l03420"></a>03420 {
  1864. <a name="l03421"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#ae6f94dcc0ccd8aa4bc699b20985d9df5">03421</a> uint8_t <a class="code" href="structarm__fir__interpolate__instance__f32.html#ae6f94dcc0ccd8aa4bc699b20985d9df5">L</a>;
  1865. <a name="l03422"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#a389e669e13ec56292a70db8e92194b12">03422</a> uint16_t <a class="code" href="structarm__fir__interpolate__instance__f32.html#a389e669e13ec56292a70db8e92194b12">phaseLength</a>;
  1866. <a name="l03423"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#a86053b715980a93c9df630d6de5bb63c">03423</a> float32_t *<a class="code" href="structarm__fir__interpolate__instance__f32.html#a86053b715980a93c9df630d6de5bb63c">pCoeffs</a>;
  1867. <a name="l03424"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#a42a8ba1bda85fa86d7b6c84d3da4c75b">03424</a> float32_t *<a class="code" href="structarm__fir__interpolate__instance__f32.html#a42a8ba1bda85fa86d7b6c84d3da4c75b">pState</a>;
  1868. <a name="l03425"></a>03425 } <a class="code" href="structarm__fir__interpolate__instance__f32.html" title="Instance structure for the floating-point FIR interpolator.">arm_fir_interpolate_instance_f32</a>;
  1869. <a name="l03426"></a>03426
  1870. <a name="l03427"></a>03427
  1871. <a name="l03437"></a>03437 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___interpolate.html#ga7962b5f9636e54899f75d0c5936800b5" title="Processing function for the Q15 FIR interpolator.">arm_fir_interpolate_q15</a>(
  1872. <a name="l03438"></a>03438 <span class="keyword">const</span> <a class="code" href="structarm__fir__interpolate__instance__q15.html" title="Instance structure for the Q15 FIR interpolator.">arm_fir_interpolate_instance_q15</a> * S,
  1873. <a name="l03439"></a>03439 q15_t * pSrc,
  1874. <a name="l03440"></a>03440 q15_t * pDst,
  1875. <a name="l03441"></a>03441 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1876. <a name="l03442"></a>03442
  1877. <a name="l03443"></a>03443
  1878. <a name="l03456"></a>03456 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___f_i_r___interpolate.html#ga18e8c4a74ff1d0f88876cc63f675288f" title="Initialization function for the Q15 FIR interpolator.">arm_fir_interpolate_init_q15</a>(
  1879. <a name="l03457"></a>03457 <a class="code" href="structarm__fir__interpolate__instance__q15.html" title="Instance structure for the Q15 FIR interpolator.">arm_fir_interpolate_instance_q15</a> * S,
  1880. <a name="l03458"></a>03458 uint8_t L,
  1881. <a name="l03459"></a>03459 uint16_t numTaps,
  1882. <a name="l03460"></a>03460 q15_t * pCoeffs,
  1883. <a name="l03461"></a>03461 q15_t * pState,
  1884. <a name="l03462"></a>03462 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1885. <a name="l03463"></a>03463
  1886. <a name="l03473"></a>03473 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___interpolate.html#gaac9c0f01ed91c53f7083995d7411f5ee" title="Processing function for the Q31 FIR interpolator.">arm_fir_interpolate_q31</a>(
  1887. <a name="l03474"></a>03474 <span class="keyword">const</span> <a class="code" href="structarm__fir__interpolate__instance__q31.html" title="Instance structure for the Q31 FIR interpolator.">arm_fir_interpolate_instance_q31</a> * S,
  1888. <a name="l03475"></a>03475 q31_t * pSrc,
  1889. <a name="l03476"></a>03476 q31_t * pDst,
  1890. <a name="l03477"></a>03477 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1891. <a name="l03478"></a>03478
  1892. <a name="l03491"></a>03491 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___f_i_r___interpolate.html#ga9d0ba38ce9f12a850dd242731d307476" title="Initialization function for the Q31 FIR interpolator.">arm_fir_interpolate_init_q31</a>(
  1893. <a name="l03492"></a>03492 <a class="code" href="structarm__fir__interpolate__instance__q31.html" title="Instance structure for the Q31 FIR interpolator.">arm_fir_interpolate_instance_q31</a> * S,
  1894. <a name="l03493"></a>03493 uint8_t L,
  1895. <a name="l03494"></a>03494 uint16_t numTaps,
  1896. <a name="l03495"></a>03495 q31_t * pCoeffs,
  1897. <a name="l03496"></a>03496 q31_t * pState,
  1898. <a name="l03497"></a>03497 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1899. <a name="l03498"></a>03498
  1900. <a name="l03499"></a>03499
  1901. <a name="l03509"></a>03509 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___interpolate.html#ga9cae104c5cf60b4e7671c82264a8c12e" title="Processing function for the floating-point FIR interpolator.">arm_fir_interpolate_f32</a>(
  1902. <a name="l03510"></a>03510 <span class="keyword">const</span> <a class="code" href="structarm__fir__interpolate__instance__f32.html" title="Instance structure for the floating-point FIR interpolator.">arm_fir_interpolate_instance_f32</a> * S,
  1903. <a name="l03511"></a>03511 float32_t * pSrc,
  1904. <a name="l03512"></a>03512 float32_t * pDst,
  1905. <a name="l03513"></a>03513 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1906. <a name="l03514"></a>03514
  1907. <a name="l03527"></a>03527 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___f_i_r___interpolate.html#ga0f857457a815946f7e4dca989ebf6ff6" title="Initialization function for the floating-point FIR interpolator.">arm_fir_interpolate_init_f32</a>(
  1908. <a name="l03528"></a>03528 <a class="code" href="structarm__fir__interpolate__instance__f32.html" title="Instance structure for the floating-point FIR interpolator.">arm_fir_interpolate_instance_f32</a> * S,
  1909. <a name="l03529"></a>03529 uint8_t L,
  1910. <a name="l03530"></a>03530 uint16_t numTaps,
  1911. <a name="l03531"></a>03531 float32_t * pCoeffs,
  1912. <a name="l03532"></a>03532 float32_t * pState,
  1913. <a name="l03533"></a>03533 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1914. <a name="l03534"></a>03534
  1915. <a name="l03539"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html">03539</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1916. <a name="l03540"></a>03540 {
  1917. <a name="l03541"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#ad7cb9a9f5df8f4fcfc7a0b633672e574">03541</a> uint8_t <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#ad7cb9a9f5df8f4fcfc7a0b633672e574">numStages</a>;
  1918. <a name="l03542"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a4c899cdfaf2bb955323e93637bd662e0">03542</a> q63_t *<a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a4c899cdfaf2bb955323e93637bd662e0">pState</a>;
  1919. <a name="l03543"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a490462d6ebe0fecfb6acbf51bed22ecf">03543</a> q31_t *<a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a490462d6ebe0fecfb6acbf51bed22ecf">pCoeffs</a>;
  1920. <a name="l03544"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a8e9d58e8dba5aa3b2fc4f36d2ed07996">03544</a> uint8_t <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a8e9d58e8dba5aa3b2fc4f36d2ed07996">postShift</a>;
  1921. <a name="l03546"></a>03546 } <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a>;
  1922. <a name="l03547"></a>03547
  1923. <a name="l03548"></a>03548
  1924. <a name="l03557"></a>03557 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1__32x64.html#ga953a83e69685de6575cff37feb358a93">arm_biquad_cas_df1_32x64_q31</a>(
  1925. <a name="l03558"></a>03558 <span class="keyword">const</span> <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a> * S,
  1926. <a name="l03559"></a>03559 q31_t * pSrc,
  1927. <a name="l03560"></a>03560 q31_t * pDst,
  1928. <a name="l03561"></a>03561 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1929. <a name="l03562"></a>03562
  1930. <a name="l03563"></a>03563
  1931. <a name="l03573"></a>03573 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f1__32x64.html#ga44900cecb8083afcaabf905ffcd656bb">arm_biquad_cas_df1_32x64_init_q31</a>(
  1932. <a name="l03574"></a>03574 <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a> * S,
  1933. <a name="l03575"></a>03575 uint8_t numStages,
  1934. <a name="l03576"></a>03576 q31_t * pCoeffs,
  1935. <a name="l03577"></a>03577 q63_t * pState,
  1936. <a name="l03578"></a>03578 uint8_t postShift);
  1937. <a name="l03579"></a>03579
  1938. <a name="l03580"></a>03580
  1939. <a name="l03581"></a>03581
  1940. <a name="l03586"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html">03586</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1941. <a name="l03587"></a>03587 {
  1942. <a name="l03588"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a4d17958c33c3d0a905f974bac50f033f">03588</a> uint8_t <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a4d17958c33c3d0a905f974bac50f033f">numStages</a>;
  1943. <a name="l03589"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a24d223addfd926a7177088cf2efe76b1">03589</a> float32_t *<a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a24d223addfd926a7177088cf2efe76b1">pState</a>;
  1944. <a name="l03590"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a49a24fe1b6ad3b0b26779c32d8d80b2e">03590</a> float32_t *<a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a49a24fe1b6ad3b0b26779c32d8d80b2e">pCoeffs</a>;
  1945. <a name="l03591"></a>03591 } <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html" title="Instance structure for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_instance_f32</a>;
  1946. <a name="l03592"></a>03592
  1947. <a name="l03593"></a>03593
  1948. <a name="l03603"></a>03603 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f2_t.html#ga646c25998bf35991c60299b1431460f7" title="Processing function for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_f32</a>(
  1949. <a name="l03604"></a>03604 <span class="keyword">const</span> <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html" title="Instance structure for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_instance_f32</a> * S,
  1950. <a name="l03605"></a>03605 float32_t * pSrc,
  1951. <a name="l03606"></a>03606 float32_t * pDst,
  1952. <a name="l03607"></a>03607 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1953. <a name="l03608"></a>03608
  1954. <a name="l03609"></a>03609
  1955. <a name="l03619"></a>03619 <span class="keywordtype">void</span> <a class="code" href="group___biquad_cascade_d_f2_t.html#ga70eaddf317a4a8bde6bd6a97df67fedd" title="Initialization function for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_init_f32</a>(
  1956. <a name="l03620"></a>03620 <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html" title="Instance structure for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_instance_f32</a> * S,
  1957. <a name="l03621"></a>03621 uint8_t numStages,
  1958. <a name="l03622"></a>03622 float32_t * pCoeffs,
  1959. <a name="l03623"></a>03623 float32_t * pState);
  1960. <a name="l03624"></a>03624
  1961. <a name="l03625"></a>03625
  1962. <a name="l03626"></a>03626
  1963. <a name="l03631"></a><a class="code" href="structarm__fir__lattice__instance__q15.html">03631</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1964. <a name="l03632"></a>03632 {
  1965. <a name="l03633"></a><a class="code" href="structarm__fir__lattice__instance__q15.html#a38b179138d6a6c9cac4f8f79b6fd5357">03633</a> uint16_t <a class="code" href="structarm__fir__lattice__instance__q15.html#a38b179138d6a6c9cac4f8f79b6fd5357">numStages</a>;
  1966. <a name="l03634"></a><a class="code" href="structarm__fir__lattice__instance__q15.html#a37b90dea2bc3ee7c9951a9fe74db0cbb">03634</a> q15_t *<a class="code" href="structarm__fir__lattice__instance__q15.html#a37b90dea2bc3ee7c9951a9fe74db0cbb">pState</a>;
  1967. <a name="l03635"></a><a class="code" href="structarm__fir__lattice__instance__q15.html#a78f872826140069cf67836fff87360bc">03635</a> q15_t *<a class="code" href="structarm__fir__lattice__instance__q15.html#a78f872826140069cf67836fff87360bc">pCoeffs</a>;
  1968. <a name="l03636"></a>03636 } <a class="code" href="structarm__fir__lattice__instance__q15.html" title="Instance structure for the Q15 FIR lattice filter.">arm_fir_lattice_instance_q15</a>;
  1969. <a name="l03637"></a>03637
  1970. <a name="l03642"></a><a class="code" href="structarm__fir__lattice__instance__q31.html">03642</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1971. <a name="l03643"></a>03643 {
  1972. <a name="l03644"></a><a class="code" href="structarm__fir__lattice__instance__q31.html#a9f3773bbb76bc5a8a5ee9d37786bf478">03644</a> uint16_t <a class="code" href="structarm__fir__lattice__instance__q31.html#a9f3773bbb76bc5a8a5ee9d37786bf478">numStages</a>;
  1973. <a name="l03645"></a><a class="code" href="structarm__fir__lattice__instance__q31.html#a08fe9494ab7cd336b791e9657adadcf6">03645</a> q31_t *<a class="code" href="structarm__fir__lattice__instance__q31.html#a08fe9494ab7cd336b791e9657adadcf6">pState</a>;
  1974. <a name="l03646"></a><a class="code" href="structarm__fir__lattice__instance__q31.html#a66c3364bf5863cd45e05f1652c3dc522">03646</a> q31_t *<a class="code" href="structarm__fir__lattice__instance__q31.html#a66c3364bf5863cd45e05f1652c3dc522">pCoeffs</a>;
  1975. <a name="l03647"></a>03647 } <a class="code" href="structarm__fir__lattice__instance__q31.html" title="Instance structure for the Q31 FIR lattice filter.">arm_fir_lattice_instance_q31</a>;
  1976. <a name="l03648"></a>03648
  1977. <a name="l03653"></a><a class="code" href="structarm__fir__lattice__instance__f32.html">03653</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  1978. <a name="l03654"></a>03654 {
  1979. <a name="l03655"></a><a class="code" href="structarm__fir__lattice__instance__f32.html#ad369bd9997a250f195254df37408a38f">03655</a> uint16_t <a class="code" href="structarm__fir__lattice__instance__f32.html#ad369bd9997a250f195254df37408a38f">numStages</a>;
  1980. <a name="l03656"></a><a class="code" href="structarm__fir__lattice__instance__f32.html#ae348884a1ba9b83fadccd5da640cbcaf">03656</a> float32_t *<a class="code" href="structarm__fir__lattice__instance__f32.html#ae348884a1ba9b83fadccd5da640cbcaf">pState</a>;
  1981. <a name="l03657"></a><a class="code" href="structarm__fir__lattice__instance__f32.html#a33bf5948c947f9ef80a99717cb0a0a43">03657</a> float32_t *<a class="code" href="structarm__fir__lattice__instance__f32.html#a33bf5948c947f9ef80a99717cb0a0a43">pCoeffs</a>;
  1982. <a name="l03658"></a>03658 } <a class="code" href="structarm__fir__lattice__instance__f32.html" title="Instance structure for the floating-point FIR lattice filter.">arm_fir_lattice_instance_f32</a>;
  1983. <a name="l03659"></a>03659
  1984. <a name="l03669"></a>03669 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___lattice.html#ga1b22f30ce1cc19bf5a5d7c9fca154d72" title="Initialization function for the Q15 FIR lattice filter.">arm_fir_lattice_init_q15</a>(
  1985. <a name="l03670"></a>03670 <a class="code" href="structarm__fir__lattice__instance__q15.html" title="Instance structure for the Q15 FIR lattice filter.">arm_fir_lattice_instance_q15</a> * S,
  1986. <a name="l03671"></a>03671 uint16_t numStages,
  1987. <a name="l03672"></a>03672 q15_t * pCoeffs,
  1988. <a name="l03673"></a>03673 q15_t * pState);
  1989. <a name="l03674"></a>03674
  1990. <a name="l03675"></a>03675
  1991. <a name="l03684"></a>03684 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___lattice.html#gabb0ab07fd313b4d863070c3ddca51542" title="Processing function for the Q15 FIR lattice filter.">arm_fir_lattice_q15</a>(
  1992. <a name="l03685"></a>03685 <span class="keyword">const</span> <a class="code" href="structarm__fir__lattice__instance__q15.html" title="Instance structure for the Q15 FIR lattice filter.">arm_fir_lattice_instance_q15</a> * S,
  1993. <a name="l03686"></a>03686 q15_t * pSrc,
  1994. <a name="l03687"></a>03687 q15_t * pDst,
  1995. <a name="l03688"></a>03688 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  1996. <a name="l03689"></a>03689
  1997. <a name="l03699"></a>03699 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___lattice.html#gac05a17a0188bb851b58d19e572870a54" title="Initialization function for the Q31 FIR lattice filter.">arm_fir_lattice_init_q31</a>(
  1998. <a name="l03700"></a>03700 <a class="code" href="structarm__fir__lattice__instance__q31.html" title="Instance structure for the Q31 FIR lattice filter.">arm_fir_lattice_instance_q31</a> * S,
  1999. <a name="l03701"></a>03701 uint16_t numStages,
  2000. <a name="l03702"></a>03702 q31_t * pCoeffs,
  2001. <a name="l03703"></a>03703 q31_t * pState);
  2002. <a name="l03704"></a>03704
  2003. <a name="l03705"></a>03705
  2004. <a name="l03715"></a>03715 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___lattice.html#ga2e36fd210e4a1a5dd333ce80dd6d9a88" title="Processing function for the Q31 FIR lattice filter.">arm_fir_lattice_q31</a>(
  2005. <a name="l03716"></a>03716 <span class="keyword">const</span> <a class="code" href="structarm__fir__lattice__instance__q31.html" title="Instance structure for the Q31 FIR lattice filter.">arm_fir_lattice_instance_q31</a> * S,
  2006. <a name="l03717"></a>03717 q31_t * pSrc,
  2007. <a name="l03718"></a>03718 q31_t * pDst,
  2008. <a name="l03719"></a>03719 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2009. <a name="l03720"></a>03720
  2010. <a name="l03730"></a>03730 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___lattice.html#ga86199a1590af2b8941c6532ee9d03229" title="Initialization function for the floating-point FIR lattice filter.">arm_fir_lattice_init_f32</a>(
  2011. <a name="l03731"></a>03731 <a class="code" href="structarm__fir__lattice__instance__f32.html" title="Instance structure for the floating-point FIR lattice filter.">arm_fir_lattice_instance_f32</a> * S,
  2012. <a name="l03732"></a>03732 uint16_t numStages,
  2013. <a name="l03733"></a>03733 float32_t * pCoeffs,
  2014. <a name="l03734"></a>03734 float32_t * pState);
  2015. <a name="l03735"></a>03735
  2016. <a name="l03745"></a>03745 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___lattice.html#gae63a45a63a11a65f2eae8b8b1fe370a8" title="Processing function for the floating-point FIR lattice filter.">arm_fir_lattice_f32</a>(
  2017. <a name="l03746"></a>03746 <span class="keyword">const</span> <a class="code" href="structarm__fir__lattice__instance__f32.html" title="Instance structure for the floating-point FIR lattice filter.">arm_fir_lattice_instance_f32</a> * S,
  2018. <a name="l03747"></a>03747 float32_t * pSrc,
  2019. <a name="l03748"></a>03748 float32_t * pDst,
  2020. <a name="l03749"></a>03749 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2021. <a name="l03750"></a>03750
  2022. <a name="l03754"></a><a class="code" href="structarm__iir__lattice__instance__q15.html">03754</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2023. <a name="l03755"></a>03755 {
  2024. <a name="l03756"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#a96fbed313bef01070409fa182d26ba3f">03756</a> uint16_t <a class="code" href="structarm__iir__lattice__instance__q15.html#a96fbed313bef01070409fa182d26ba3f">numStages</a>;
  2025. <a name="l03757"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#afd0136ab917b529554d93f41a5e04618">03757</a> q15_t *<a class="code" href="structarm__iir__lattice__instance__q15.html#afd0136ab917b529554d93f41a5e04618">pState</a>;
  2026. <a name="l03758"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#a41c214a1ec38d4a82fae8899d715dd29">03758</a> q15_t *<a class="code" href="structarm__iir__lattice__instance__q15.html#a41c214a1ec38d4a82fae8899d715dd29">pkCoeffs</a>;
  2027. <a name="l03759"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#a4c4f57f45b223abbe2a9fb727bd2cad9">03759</a> q15_t *<a class="code" href="structarm__iir__lattice__instance__q15.html#a4c4f57f45b223abbe2a9fb727bd2cad9">pvCoeffs</a>;
  2028. <a name="l03760"></a>03760 } <a class="code" href="structarm__iir__lattice__instance__q15.html" title="Instance structure for the Q15 IIR lattice filter.">arm_iir_lattice_instance_q15</a>;
  2029. <a name="l03761"></a>03761
  2030. <a name="l03765"></a><a class="code" href="structarm__iir__lattice__instance__q31.html">03765</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2031. <a name="l03766"></a>03766 {
  2032. <a name="l03767"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#a9df4570ed28c50fd9193ab654ff236ad">03767</a> uint16_t <a class="code" href="structarm__iir__lattice__instance__q31.html#a9df4570ed28c50fd9193ab654ff236ad">numStages</a>;
  2033. <a name="l03768"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#a941282745effd26a889fbfadf4b95e6a">03768</a> q31_t *<a class="code" href="structarm__iir__lattice__instance__q31.html#a941282745effd26a889fbfadf4b95e6a">pState</a>;
  2034. <a name="l03769"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#a1d30aa16aac7722936ea9dee59211863">03769</a> q31_t *<a class="code" href="structarm__iir__lattice__instance__q31.html#a1d30aa16aac7722936ea9dee59211863">pkCoeffs</a>;
  2035. <a name="l03770"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#a04507e2b982b1dfa97b7b55752dea6b9">03770</a> q31_t *<a class="code" href="structarm__iir__lattice__instance__q31.html#a04507e2b982b1dfa97b7b55752dea6b9">pvCoeffs</a>;
  2036. <a name="l03771"></a>03771 } <a class="code" href="structarm__iir__lattice__instance__q31.html" title="Instance structure for the Q31 IIR lattice filter.">arm_iir_lattice_instance_q31</a>;
  2037. <a name="l03772"></a>03772
  2038. <a name="l03776"></a><a class="code" href="structarm__iir__lattice__instance__f32.html">03776</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2039. <a name="l03777"></a>03777 {
  2040. <a name="l03778"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#af8de449af5efe1f30be82f9ba35587ee">03778</a> uint16_t <a class="code" href="structarm__iir__lattice__instance__f32.html#af8de449af5efe1f30be82f9ba35587ee">numStages</a>;
  2041. <a name="l03779"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#a30babe7815510219e6e3d28e6e4a5969">03779</a> float32_t *<a class="code" href="structarm__iir__lattice__instance__f32.html#a30babe7815510219e6e3d28e6e4a5969">pState</a>;
  2042. <a name="l03780"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#aa69fcdd3775e828d450ce1bbd978fa31">03780</a> float32_t *<a class="code" href="structarm__iir__lattice__instance__f32.html#aa69fcdd3775e828d450ce1bbd978fa31">pkCoeffs</a>;
  2043. <a name="l03781"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#afc7c8f577e6f27d097fe55f57e707f72">03781</a> float32_t *<a class="code" href="structarm__iir__lattice__instance__f32.html#afc7c8f577e6f27d097fe55f57e707f72">pvCoeffs</a>;
  2044. <a name="l03782"></a>03782 } <a class="code" href="structarm__iir__lattice__instance__f32.html" title="Instance structure for the floating-point IIR lattice filter.">arm_iir_lattice_instance_f32</a>;
  2045. <a name="l03783"></a>03783
  2046. <a name="l03793"></a>03793 <span class="keywordtype">void</span> <a class="code" href="group___i_i_r___lattice.html#ga56164a0fe48619b8ceec160347bdd2ff" title="Processing function for the floating-point IIR lattice filter.">arm_iir_lattice_f32</a>(
  2047. <a name="l03794"></a>03794 <span class="keyword">const</span> <a class="code" href="structarm__iir__lattice__instance__f32.html" title="Instance structure for the floating-point IIR lattice filter.">arm_iir_lattice_instance_f32</a> * S,
  2048. <a name="l03795"></a>03795 float32_t * pSrc,
  2049. <a name="l03796"></a>03796 float32_t * pDst,
  2050. <a name="l03797"></a>03797 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2051. <a name="l03798"></a>03798
  2052. <a name="l03810"></a>03810 <span class="keywordtype">void</span> <a class="code" href="group___i_i_r___lattice.html#gaed3b0230bb77439dc902daa625985e04" title="Initialization function for the floating-point IIR lattice filter.">arm_iir_lattice_init_f32</a>(
  2053. <a name="l03811"></a>03811 <a class="code" href="structarm__iir__lattice__instance__f32.html" title="Instance structure for the floating-point IIR lattice filter.">arm_iir_lattice_instance_f32</a> * S,
  2054. <a name="l03812"></a>03812 uint16_t numStages,
  2055. <a name="l03813"></a>03813 float32_t *pkCoeffs,
  2056. <a name="l03814"></a>03814 float32_t *pvCoeffs,
  2057. <a name="l03815"></a>03815 float32_t *pState,
  2058. <a name="l03816"></a>03816 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2059. <a name="l03817"></a>03817
  2060. <a name="l03818"></a>03818
  2061. <a name="l03828"></a>03828 <span class="keywordtype">void</span> <a class="code" href="group___i_i_r___lattice.html#ga123b26fa9156cd8d3622dd85931741ed" title="Processing function for the Q31 IIR lattice filter.">arm_iir_lattice_q31</a>(
  2062. <a name="l03829"></a>03829 <span class="keyword">const</span> <a class="code" href="structarm__iir__lattice__instance__q31.html" title="Instance structure for the Q31 IIR lattice filter.">arm_iir_lattice_instance_q31</a> * S,
  2063. <a name="l03830"></a>03830 q31_t * pSrc,
  2064. <a name="l03831"></a>03831 q31_t * pDst,
  2065. <a name="l03832"></a>03832 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2066. <a name="l03833"></a>03833
  2067. <a name="l03834"></a>03834
  2068. <a name="l03846"></a>03846 <span class="keywordtype">void</span> <a class="code" href="group___i_i_r___lattice.html#gab686c14175581797d9c3ad7bf1d5cc1e" title="Initialization function for the Q31 IIR lattice filter.">arm_iir_lattice_init_q31</a>(
  2069. <a name="l03847"></a>03847 <a class="code" href="structarm__iir__lattice__instance__q31.html" title="Instance structure for the Q31 IIR lattice filter.">arm_iir_lattice_instance_q31</a> * S,
  2070. <a name="l03848"></a>03848 uint16_t numStages,
  2071. <a name="l03849"></a>03849 q31_t *pkCoeffs,
  2072. <a name="l03850"></a>03850 q31_t *pvCoeffs,
  2073. <a name="l03851"></a>03851 q31_t *pState,
  2074. <a name="l03852"></a>03852 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2075. <a name="l03853"></a>03853
  2076. <a name="l03854"></a>03854
  2077. <a name="l03864"></a>03864 <span class="keywordtype">void</span> <a class="code" href="group___i_i_r___lattice.html#gaeb9e9599a288832ed123183eaa8b294a" title="Processing function for the Q15 IIR lattice filter.">arm_iir_lattice_q15</a>(
  2078. <a name="l03865"></a>03865 <span class="keyword">const</span> <a class="code" href="structarm__iir__lattice__instance__q15.html" title="Instance structure for the Q15 IIR lattice filter.">arm_iir_lattice_instance_q15</a> * S,
  2079. <a name="l03866"></a>03866 q15_t * pSrc,
  2080. <a name="l03867"></a>03867 q15_t * pDst,
  2081. <a name="l03868"></a>03868 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2082. <a name="l03869"></a>03869
  2083. <a name="l03870"></a>03870
  2084. <a name="l03882"></a>03882 <span class="keywordtype">void</span> <a class="code" href="group___i_i_r___lattice.html#ga1f4bc2dd3d5641e96815d3a5aad58998" title="Initialization function for the Q15 IIR lattice filter.">arm_iir_lattice_init_q15</a>(
  2085. <a name="l03883"></a>03883 <a class="code" href="structarm__iir__lattice__instance__q15.html" title="Instance structure for the Q15 IIR lattice filter.">arm_iir_lattice_instance_q15</a> * S,
  2086. <a name="l03884"></a>03884 uint16_t numStages,
  2087. <a name="l03885"></a>03885 q15_t *pkCoeffs,
  2088. <a name="l03886"></a>03886 q15_t *pvCoeffs,
  2089. <a name="l03887"></a>03887 q15_t *pState,
  2090. <a name="l03888"></a>03888 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2091. <a name="l03889"></a>03889
  2092. <a name="l03894"></a><a class="code" href="structarm__lms__instance__f32.html">03894</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2093. <a name="l03895"></a>03895 {
  2094. <a name="l03896"></a><a class="code" href="structarm__lms__instance__f32.html#af73880d9009982f5d14529869494ec3d">03896</a> uint16_t <a class="code" href="structarm__lms__instance__f32.html#af73880d9009982f5d14529869494ec3d">numTaps</a>;
  2095. <a name="l03897"></a><a class="code" href="structarm__lms__instance__f32.html#aaf94285be2f99b5b9af40bea8dcb14b9">03897</a> float32_t *<a class="code" href="structarm__lms__instance__f32.html#aaf94285be2f99b5b9af40bea8dcb14b9">pState</a>;
  2096. <a name="l03898"></a><a class="code" href="structarm__lms__instance__f32.html#a4795c6f7d3f17cec15c2fd09f66edd1a">03898</a> float32_t *<a class="code" href="structarm__lms__instance__f32.html#a4795c6f7d3f17cec15c2fd09f66edd1a">pCoeffs</a>;
  2097. <a name="l03899"></a><a class="code" href="structarm__lms__instance__f32.html#ae2af43d74c93dba16b876e10c97a5b99">03899</a> float32_t <a class="code" href="structarm__lms__instance__f32.html#ae2af43d74c93dba16b876e10c97a5b99">mu</a>;
  2098. <a name="l03900"></a>03900 } <a class="code" href="structarm__lms__instance__f32.html" title="Instance structure for the floating-point LMS filter.">arm_lms_instance_f32</a>;
  2099. <a name="l03901"></a>03901
  2100. <a name="l03913"></a>03913 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s.html#gae266d009e682180421601627c79a3843" title="Processing function for floating-point LMS filter.">arm_lms_f32</a>(
  2101. <a name="l03914"></a>03914 <span class="keyword">const</span> <a class="code" href="structarm__lms__instance__f32.html" title="Instance structure for the floating-point LMS filter.">arm_lms_instance_f32</a> * S,
  2102. <a name="l03915"></a>03915 float32_t * pSrc,
  2103. <a name="l03916"></a>03916 float32_t * pRef,
  2104. <a name="l03917"></a>03917 float32_t * pOut,
  2105. <a name="l03918"></a>03918 float32_t * pErr,
  2106. <a name="l03919"></a>03919 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2107. <a name="l03920"></a>03920
  2108. <a name="l03932"></a>03932 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s.html#ga9fc7adca0966ff2cec1746fca8364cee" title="Initialization function for floating-point LMS filter.">arm_lms_init_f32</a>(
  2109. <a name="l03933"></a>03933 <a class="code" href="structarm__lms__instance__f32.html" title="Instance structure for the floating-point LMS filter.">arm_lms_instance_f32</a> * S,
  2110. <a name="l03934"></a>03934 uint16_t numTaps,
  2111. <a name="l03935"></a>03935 float32_t * pCoeffs,
  2112. <a name="l03936"></a>03936 float32_t * pState,
  2113. <a name="l03937"></a>03937 float32_t mu,
  2114. <a name="l03938"></a>03938 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2115. <a name="l03939"></a>03939
  2116. <a name="l03944"></a><a class="code" href="structarm__lms__instance__q15.html">03944</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2117. <a name="l03945"></a>03945 {
  2118. <a name="l03946"></a><a class="code" href="structarm__lms__instance__q15.html#a0078e894f805af1b360369e619fb57b3">03946</a> uint16_t <a class="code" href="structarm__lms__instance__q15.html#a0078e894f805af1b360369e619fb57b3">numTaps</a>;
  2119. <a name="l03947"></a><a class="code" href="structarm__lms__instance__q15.html#a9a575ff82c1e68cbb583083439260d08">03947</a> q15_t *<a class="code" href="structarm__lms__instance__q15.html#a9a575ff82c1e68cbb583083439260d08">pState</a>;
  2120. <a name="l03948"></a><a class="code" href="structarm__lms__instance__q15.html#a42f95368b94898eb82608e1113d18cab">03948</a> q15_t *<a class="code" href="structarm__lms__instance__q15.html#a42f95368b94898eb82608e1113d18cab">pCoeffs</a>;
  2121. <a name="l03949"></a><a class="code" href="structarm__lms__instance__q15.html#aae46129d7cfd7f1c162cc502ed0a9d49">03949</a> q15_t <a class="code" href="structarm__lms__instance__q15.html#aae46129d7cfd7f1c162cc502ed0a9d49">mu</a>;
  2122. <a name="l03950"></a><a class="code" href="structarm__lms__instance__q15.html#acca5fbaef4a52ae411de24c9a0b929cf">03950</a> uint32_t <a class="code" href="structarm__lms__instance__q15.html#acca5fbaef4a52ae411de24c9a0b929cf">postShift</a>;
  2123. <a name="l03951"></a>03951 } <a class="code" href="structarm__lms__instance__q15.html" title="Instance structure for the Q15 LMS filter.">arm_lms_instance_q15</a>;
  2124. <a name="l03952"></a>03952
  2125. <a name="l03953"></a>03953
  2126. <a name="l03966"></a>03966 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s.html#ga9544cc26f18cd4465cfbed371be822b3" title="Initialization function for the Q15 LMS filter.">arm_lms_init_q15</a>(
  2127. <a name="l03967"></a>03967 <a class="code" href="structarm__lms__instance__q15.html" title="Instance structure for the Q15 LMS filter.">arm_lms_instance_q15</a> * S,
  2128. <a name="l03968"></a>03968 uint16_t numTaps,
  2129. <a name="l03969"></a>03969 q15_t * pCoeffs,
  2130. <a name="l03970"></a>03970 q15_t * pState,
  2131. <a name="l03971"></a>03971 q15_t mu,
  2132. <a name="l03972"></a>03972 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  2133. <a name="l03973"></a>03973 uint32_t postShift);
  2134. <a name="l03974"></a>03974
  2135. <a name="l03986"></a>03986 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s.html#gacde16c17eb75979f81b34e2e2a58c7ac" title="Processing function for Q15 LMS filter.">arm_lms_q15</a>(
  2136. <a name="l03987"></a>03987 <span class="keyword">const</span> <a class="code" href="structarm__lms__instance__q15.html" title="Instance structure for the Q15 LMS filter.">arm_lms_instance_q15</a> * S,
  2137. <a name="l03988"></a>03988 q15_t * pSrc,
  2138. <a name="l03989"></a>03989 q15_t * pRef,
  2139. <a name="l03990"></a>03990 q15_t * pOut,
  2140. <a name="l03991"></a>03991 q15_t * pErr,
  2141. <a name="l03992"></a>03992 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2142. <a name="l03993"></a>03993
  2143. <a name="l03994"></a>03994
  2144. <a name="l03999"></a><a class="code" href="structarm__lms__instance__q31.html">03999</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2145. <a name="l04000"></a>04000 {
  2146. <a name="l04001"></a><a class="code" href="structarm__lms__instance__q31.html#ac0d84f7d054555931ef8a62511fbcb8a">04001</a> uint16_t <a class="code" href="structarm__lms__instance__q31.html#ac0d84f7d054555931ef8a62511fbcb8a">numTaps</a>;
  2147. <a name="l04002"></a><a class="code" href="structarm__lms__instance__q31.html#a206d47b49de6f357f933ebe61520753c">04002</a> q31_t *<a class="code" href="structarm__lms__instance__q31.html#a206d47b49de6f357f933ebe61520753c">pState</a>;
  2148. <a name="l04003"></a><a class="code" href="structarm__lms__instance__q31.html#a4afe56e991a5416adfd462aa88bda500">04003</a> q31_t *<a class="code" href="structarm__lms__instance__q31.html#a4afe56e991a5416adfd462aa88bda500">pCoeffs</a>;
  2149. <a name="l04004"></a><a class="code" href="structarm__lms__instance__q31.html#acb6ca9996b3c5f740d5d6c8e9f4f1d46">04004</a> q31_t <a class="code" href="structarm__lms__instance__q31.html#acb6ca9996b3c5f740d5d6c8e9f4f1d46">mu</a>;
  2150. <a name="l04005"></a><a class="code" href="structarm__lms__instance__q31.html#a4705a8f0011bb9166e09bf5bd51e595e">04005</a> uint32_t <a class="code" href="structarm__lms__instance__q31.html#a4705a8f0011bb9166e09bf5bd51e595e">postShift</a>;
  2151. <a name="l04007"></a>04007 } <a class="code" href="structarm__lms__instance__q31.html" title="Instance structure for the Q31 LMS filter.">arm_lms_instance_q31</a>;
  2152. <a name="l04008"></a>04008
  2153. <a name="l04020"></a>04020 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s.html#ga6a0abfe6041253a6f91c63b383a64257" title="Processing function for Q31 LMS filter.">arm_lms_q31</a>(
  2154. <a name="l04021"></a>04021 <span class="keyword">const</span> <a class="code" href="structarm__lms__instance__q31.html" title="Instance structure for the Q31 LMS filter.">arm_lms_instance_q31</a> * S,
  2155. <a name="l04022"></a>04022 q31_t * pSrc,
  2156. <a name="l04023"></a>04023 q31_t * pRef,
  2157. <a name="l04024"></a>04024 q31_t * pOut,
  2158. <a name="l04025"></a>04025 q31_t * pErr,
  2159. <a name="l04026"></a>04026 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2160. <a name="l04027"></a>04027
  2161. <a name="l04040"></a>04040 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s.html#ga8d4bc251169f4b102355097a9f7530d6" title="Initialization function for Q31 LMS filter.">arm_lms_init_q31</a>(
  2162. <a name="l04041"></a>04041 <a class="code" href="structarm__lms__instance__q31.html" title="Instance structure for the Q31 LMS filter.">arm_lms_instance_q31</a> * S,
  2163. <a name="l04042"></a>04042 uint16_t numTaps,
  2164. <a name="l04043"></a>04043 q31_t *pCoeffs,
  2165. <a name="l04044"></a>04044 q31_t *pState,
  2166. <a name="l04045"></a>04045 q31_t mu,
  2167. <a name="l04046"></a>04046 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  2168. <a name="l04047"></a>04047 uint32_t postShift);
  2169. <a name="l04048"></a>04048
  2170. <a name="l04053"></a><a class="code" href="structarm__lms__norm__instance__f32.html">04053</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2171. <a name="l04054"></a>04054 {
  2172. <a name="l04055"></a><a class="code" href="structarm__lms__norm__instance__f32.html#ac95f8ca3d816524c2070643852fac5e8">04055</a> uint16_t <a class="code" href="structarm__lms__norm__instance__f32.html#ac95f8ca3d816524c2070643852fac5e8">numTaps</a>;
  2173. <a name="l04056"></a><a class="code" href="structarm__lms__norm__instance__f32.html#a0bc03338687002ed5f2e4a363eb095ec">04056</a> float32_t *<a class="code" href="structarm__lms__norm__instance__f32.html#a0bc03338687002ed5f2e4a363eb095ec">pState</a>;
  2174. <a name="l04057"></a><a class="code" href="structarm__lms__norm__instance__f32.html#a1ba688d90aba7de003ed4ad8e2e7ddda">04057</a> float32_t *<a class="code" href="structarm__lms__norm__instance__f32.html#a1ba688d90aba7de003ed4ad8e2e7ddda">pCoeffs</a>;
  2175. <a name="l04058"></a><a class="code" href="structarm__lms__norm__instance__f32.html#a84401d3cfc6c40f69c08223cf341b886">04058</a> float32_t <a class="code" href="structarm__lms__norm__instance__f32.html#a84401d3cfc6c40f69c08223cf341b886">mu</a>;
  2176. <a name="l04059"></a><a class="code" href="structarm__lms__norm__instance__f32.html#a6a4119e4f39447bbee31b066deafa16f">04059</a> float32_t <a class="code" href="structarm__lms__norm__instance__f32.html#a6a4119e4f39447bbee31b066deafa16f">energy</a>;
  2177. <a name="l04060"></a><a class="code" href="structarm__lms__norm__instance__f32.html#aec958fe89b164a30f38bcca9f5d96218">04060</a> float32_t <a class="code" href="structarm__lms__norm__instance__f32.html#aec958fe89b164a30f38bcca9f5d96218">x0</a>;
  2178. <a name="l04061"></a>04061 } <a class="code" href="structarm__lms__norm__instance__f32.html" title="Instance structure for the floating-point normalized LMS filter.">arm_lms_norm_instance_f32</a>;
  2179. <a name="l04062"></a>04062
  2180. <a name="l04074"></a>04074 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s___n_o_r_m.html#ga2418c929087c6eba719758eaae3f3300" title="Processing function for floating-point normalized LMS filter.">arm_lms_norm_f32</a>(
  2181. <a name="l04075"></a>04075 <a class="code" href="structarm__lms__norm__instance__f32.html" title="Instance structure for the floating-point normalized LMS filter.">arm_lms_norm_instance_f32</a> * S,
  2182. <a name="l04076"></a>04076 float32_t * pSrc,
  2183. <a name="l04077"></a>04077 float32_t * pRef,
  2184. <a name="l04078"></a>04078 float32_t * pOut,
  2185. <a name="l04079"></a>04079 float32_t * pErr,
  2186. <a name="l04080"></a>04080 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2187. <a name="l04081"></a>04081
  2188. <a name="l04093"></a>04093 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s___n_o_r_m.html#gac7ccbaea863882056eee815456464670" title="Initialization function for floating-point normalized LMS filter.">arm_lms_norm_init_f32</a>(
  2189. <a name="l04094"></a>04094 <a class="code" href="structarm__lms__norm__instance__f32.html" title="Instance structure for the floating-point normalized LMS filter.">arm_lms_norm_instance_f32</a> * S,
  2190. <a name="l04095"></a>04095 uint16_t numTaps,
  2191. <a name="l04096"></a>04096 float32_t * pCoeffs,
  2192. <a name="l04097"></a>04097 float32_t * pState,
  2193. <a name="l04098"></a>04098 float32_t mu,
  2194. <a name="l04099"></a>04099 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2195. <a name="l04100"></a>04100
  2196. <a name="l04101"></a>04101
  2197. <a name="l04105"></a><a class="code" href="structarm__lms__norm__instance__q31.html">04105</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2198. <a name="l04106"></a>04106 {
  2199. <a name="l04107"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a28e4c085af69c9c3e2e95dacf8004c3e">04107</a> uint16_t <a class="code" href="structarm__lms__norm__instance__q31.html#a28e4c085af69c9c3e2e95dacf8004c3e">numTaps</a>;
  2200. <a name="l04108"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a6b25c96cf048b77078d62f4252a01ec4">04108</a> q31_t *<a class="code" href="structarm__lms__norm__instance__q31.html#a6b25c96cf048b77078d62f4252a01ec4">pState</a>;
  2201. <a name="l04109"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a57a64c1ff102d033c1bd05043f1d9955">04109</a> q31_t *<a class="code" href="structarm__lms__norm__instance__q31.html#a57a64c1ff102d033c1bd05043f1d9955">pCoeffs</a>;
  2202. <a name="l04110"></a><a class="code" href="structarm__lms__norm__instance__q31.html#ad3dd2a2406e02fdaa7782ba6c3940a64">04110</a> q31_t <a class="code" href="structarm__lms__norm__instance__q31.html#ad3dd2a2406e02fdaa7782ba6c3940a64">mu</a>;
  2203. <a name="l04111"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a28d7b9e437817f83397e081967e90f3c">04111</a> uint8_t <a class="code" href="structarm__lms__norm__instance__q31.html#a28d7b9e437817f83397e081967e90f3c">postShift</a>;
  2204. <a name="l04112"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a85836d0907077b9ac660f7bbbaa9d694">04112</a> q31_t *<a class="code" href="structarm__lms__norm__instance__q31.html#a85836d0907077b9ac660f7bbbaa9d694">recipTable</a>;
  2205. <a name="l04113"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a3c0ae42869afec8555dc8e3a7ef9b386">04113</a> q31_t <a class="code" href="structarm__lms__norm__instance__q31.html#a3c0ae42869afec8555dc8e3a7ef9b386">energy</a>;
  2206. <a name="l04114"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a47c4466d644e0d8ba407995adfa9b917">04114</a> q31_t <a class="code" href="structarm__lms__norm__instance__q31.html#a47c4466d644e0d8ba407995adfa9b917">x0</a>;
  2207. <a name="l04115"></a>04115 } <a class="code" href="structarm__lms__norm__instance__q31.html" title="Instance structure for the Q31 normalized LMS filter.">arm_lms_norm_instance_q31</a>;
  2208. <a name="l04116"></a>04116
  2209. <a name="l04128"></a>04128 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s___n_o_r_m.html#ga7128775e99817c183a7d7ad34e8b6e05" title="Processing function for Q31 normalized LMS filter.">arm_lms_norm_q31</a>(
  2210. <a name="l04129"></a>04129 <a class="code" href="structarm__lms__norm__instance__q31.html" title="Instance structure for the Q31 normalized LMS filter.">arm_lms_norm_instance_q31</a> * S,
  2211. <a name="l04130"></a>04130 q31_t * pSrc,
  2212. <a name="l04131"></a>04131 q31_t * pRef,
  2213. <a name="l04132"></a>04132 q31_t * pOut,
  2214. <a name="l04133"></a>04133 q31_t * pErr,
  2215. <a name="l04134"></a>04134 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2216. <a name="l04135"></a>04135
  2217. <a name="l04148"></a>04148 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s___n_o_r_m.html#ga1d9659dbbea4c89a7a9d14d5fc0dd490" title="Initialization function for Q31 normalized LMS filter.">arm_lms_norm_init_q31</a>(
  2218. <a name="l04149"></a>04149 <a class="code" href="structarm__lms__norm__instance__q31.html" title="Instance structure for the Q31 normalized LMS filter.">arm_lms_norm_instance_q31</a> * S,
  2219. <a name="l04150"></a>04150 uint16_t numTaps,
  2220. <a name="l04151"></a>04151 q31_t * pCoeffs,
  2221. <a name="l04152"></a>04152 q31_t * pState,
  2222. <a name="l04153"></a>04153 q31_t mu,
  2223. <a name="l04154"></a>04154 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  2224. <a name="l04155"></a>04155 uint8_t postShift);
  2225. <a name="l04156"></a>04156
  2226. <a name="l04161"></a><a class="code" href="structarm__lms__norm__instance__q15.html">04161</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2227. <a name="l04162"></a>04162 {
  2228. <a name="l04163"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a9ee7a45f4f315d7996a969e25fdc7146">04163</a> uint16_t <a class="code" href="structarm__lms__norm__instance__q15.html#a9ee7a45f4f315d7996a969e25fdc7146">numTaps</a>;
  2229. <a name="l04164"></a><a class="code" href="structarm__lms__norm__instance__q15.html#aa4de490b3bdbd03561b76ee07901c8e3">04164</a> q15_t *<a class="code" href="structarm__lms__norm__instance__q15.html#aa4de490b3bdbd03561b76ee07901c8e3">pState</a>;
  2230. <a name="l04165"></a><a class="code" href="structarm__lms__norm__instance__q15.html#ae7bca648c75a2ffa02d87852bb78bc8a">04165</a> q15_t *<a class="code" href="structarm__lms__norm__instance__q15.html#ae7bca648c75a2ffa02d87852bb78bc8a">pCoeffs</a>;
  2231. <a name="l04166"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a7ce00f21d11cfda6d963240641deea8c">04166</a> q15_t <a class="code" href="structarm__lms__norm__instance__q15.html#a7ce00f21d11cfda6d963240641deea8c">mu</a>;
  2232. <a name="l04167"></a><a class="code" href="structarm__lms__norm__instance__q15.html#aa0d435fbcf7dedb7179d4467e9b79e9f">04167</a> uint8_t <a class="code" href="structarm__lms__norm__instance__q15.html#aa0d435fbcf7dedb7179d4467e9b79e9f">postShift</a>;
  2233. <a name="l04168"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a9aabb0e4c79f3db807e7a441fa36f5f8">04168</a> q15_t *<a class="code" href="structarm__lms__norm__instance__q15.html#a9aabb0e4c79f3db807e7a441fa36f5f8">recipTable</a>;
  2234. <a name="l04169"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a1c81ded399919d8181026bc1c8602e7b">04169</a> q15_t <a class="code" href="structarm__lms__norm__instance__q15.html#a1c81ded399919d8181026bc1c8602e7b">energy</a>;
  2235. <a name="l04170"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a3fc1d6f97d2c6d5324871de6895cb7e9">04170</a> q15_t <a class="code" href="structarm__lms__norm__instance__q15.html#a3fc1d6f97d2c6d5324871de6895cb7e9">x0</a>;
  2236. <a name="l04171"></a>04171 } <a class="code" href="structarm__lms__norm__instance__q15.html" title="Instance structure for the Q15 normalized LMS filter.">arm_lms_norm_instance_q15</a>;
  2237. <a name="l04172"></a>04172
  2238. <a name="l04184"></a>04184 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s___n_o_r_m.html#gad47486a399dedb0bc85a5990ec5cf981" title="Processing function for Q15 normalized LMS filter.">arm_lms_norm_q15</a>(
  2239. <a name="l04185"></a>04185 <a class="code" href="structarm__lms__norm__instance__q15.html" title="Instance structure for the Q15 normalized LMS filter.">arm_lms_norm_instance_q15</a> * S,
  2240. <a name="l04186"></a>04186 q15_t * pSrc,
  2241. <a name="l04187"></a>04187 q15_t * pRef,
  2242. <a name="l04188"></a>04188 q15_t * pOut,
  2243. <a name="l04189"></a>04189 q15_t * pErr,
  2244. <a name="l04190"></a>04190 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2245. <a name="l04191"></a>04191
  2246. <a name="l04192"></a>04192
  2247. <a name="l04205"></a>04205 <span class="keywordtype">void</span> <a class="code" href="group___l_m_s___n_o_r_m.html#ga213ab1ee2e154cc2fa30d667b1994b89" title="Initialization function for Q15 normalized LMS filter.">arm_lms_norm_init_q15</a>(
  2248. <a name="l04206"></a>04206 <a class="code" href="structarm__lms__norm__instance__q15.html" title="Instance structure for the Q15 normalized LMS filter.">arm_lms_norm_instance_q15</a> * S,
  2249. <a name="l04207"></a>04207 uint16_t numTaps,
  2250. <a name="l04208"></a>04208 q15_t * pCoeffs,
  2251. <a name="l04209"></a>04209 q15_t * pState,
  2252. <a name="l04210"></a>04210 q15_t mu,
  2253. <a name="l04211"></a>04211 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  2254. <a name="l04212"></a>04212 uint8_t postShift);
  2255. <a name="l04213"></a>04213
  2256. <a name="l04224"></a>04224 <span class="keywordtype">void</span> <a class="code" href="group___corr.html#ga22021e4222773f01e9960358a531cfb8" title="Correlation of floating-point sequences.">arm_correlate_f32</a>(
  2257. <a name="l04225"></a>04225 float32_t * pSrcA,
  2258. <a name="l04226"></a>04226 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  2259. <a name="l04227"></a>04227 float32_t * pSrcB,
  2260. <a name="l04228"></a>04228 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  2261. <a name="l04229"></a>04229 float32_t * pDst);
  2262. <a name="l04230"></a>04230
  2263. <a name="l04241"></a>04241 <span class="keywordtype">void</span> <a class="code" href="group___corr.html#ga5ec96b8e420d68b0e626df0812274d46" title="Correlation of Q15 sequences.">arm_correlate_q15</a>(
  2264. <a name="l04242"></a>04242 q15_t * pSrcA,
  2265. <a name="l04243"></a>04243 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  2266. <a name="l04244"></a>04244 q15_t * pSrcB,
  2267. <a name="l04245"></a>04245 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  2268. <a name="l04246"></a>04246 q15_t * pDst);
  2269. <a name="l04247"></a>04247
  2270. <a name="l04258"></a>04258 <span class="keywordtype">void</span> <a class="code" href="group___corr.html#gac8de3da44f58e86c2c86156276ca154f" title="Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4.">arm_correlate_fast_q15</a>(
  2271. <a name="l04259"></a>04259 q15_t * pSrcA,
  2272. <a name="l04260"></a>04260 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  2273. <a name="l04261"></a>04261 q15_t * pSrcB,
  2274. <a name="l04262"></a>04262 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  2275. <a name="l04263"></a>04263 q15_t * pDst);
  2276. <a name="l04264"></a>04264
  2277. <a name="l04275"></a>04275 <span class="keywordtype">void</span> <a class="code" href="group___corr.html#ga1367dc6c80476406c951e68d7fac4e8c" title="Correlation of Q31 sequences.">arm_correlate_q31</a>(
  2278. <a name="l04276"></a>04276 q31_t * pSrcA,
  2279. <a name="l04277"></a>04277 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  2280. <a name="l04278"></a>04278 q31_t * pSrcB,
  2281. <a name="l04279"></a>04279 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  2282. <a name="l04280"></a>04280 q31_t * pDst);
  2283. <a name="l04281"></a>04281
  2284. <a name="l04292"></a>04292 <span class="keywordtype">void</span> <a class="code" href="group___corr.html#gabecd3d7b077dbbef43f93e9e037815ed" title="Correlation of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4.">arm_correlate_fast_q31</a>(
  2285. <a name="l04293"></a>04293 q31_t * pSrcA,
  2286. <a name="l04294"></a>04294 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  2287. <a name="l04295"></a>04295 q31_t * pSrcB,
  2288. <a name="l04296"></a>04296 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  2289. <a name="l04297"></a>04297 q31_t * pDst);
  2290. <a name="l04298"></a>04298
  2291. <a name="l04309"></a>04309 <span class="keywordtype">void</span> <a class="code" href="group___corr.html#ga284ddcc49e4ac532d52a70d0383c5992" title="Correlation of Q7 sequences.">arm_correlate_q7</a>(
  2292. <a name="l04310"></a>04310 q7_t * pSrcA,
  2293. <a name="l04311"></a>04311 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a>,
  2294. <a name="l04312"></a>04312 q7_t * pSrcB,
  2295. <a name="l04313"></a>04313 uint32_t <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a>,
  2296. <a name="l04314"></a>04314 q7_t * pDst);
  2297. <a name="l04315"></a>04315
  2298. <a name="l04319"></a><a class="code" href="structarm__fir__sparse__instance__f32.html">04319</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2299. <a name="l04320"></a>04320 {
  2300. <a name="l04321"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#a5e19e7f234ac30a3db843352bf2a8515">04321</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__f32.html#a5e19e7f234ac30a3db843352bf2a8515">numTaps</a>;
  2301. <a name="l04322"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#a57585aeca9dc8686e08df2865375a86d">04322</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__f32.html#a57585aeca9dc8686e08df2865375a86d">stateIndex</a>;
  2302. <a name="l04323"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#a794af0916666d11cc564d6df08553555">04323</a> float32_t *<a class="code" href="structarm__fir__sparse__instance__f32.html#a794af0916666d11cc564d6df08553555">pState</a>;
  2303. <a name="l04324"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#a04af7c738dfb0882ad102fcad501d94a">04324</a> float32_t *<a class="code" href="structarm__fir__sparse__instance__f32.html#a04af7c738dfb0882ad102fcad501d94a">pCoeffs</a>;
  2304. <a name="l04325"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#af8b8c775f4084c36774f06c082b4c078">04325</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__f32.html#af8b8c775f4084c36774f06c082b4c078">maxDelay</a>;
  2305. <a name="l04326"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#aaa54ae67e5d10c6dd0d697945c638d31">04326</a> int32_t *<a class="code" href="structarm__fir__sparse__instance__f32.html#aaa54ae67e5d10c6dd0d697945c638d31">pTapDelay</a>;
  2306. <a name="l04327"></a>04327 } <a class="code" href="structarm__fir__sparse__instance__f32.html" title="Instance structure for the floating-point sparse FIR filter.">arm_fir_sparse_instance_f32</a>;
  2307. <a name="l04328"></a>04328
  2308. <a name="l04333"></a><a class="code" href="structarm__fir__sparse__instance__q31.html">04333</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2309. <a name="l04334"></a>04334 {
  2310. <a name="l04335"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#a07b6c01e58ec6dde384719130d36b0dc">04335</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q31.html#a07b6c01e58ec6dde384719130d36b0dc">numTaps</a>;
  2311. <a name="l04336"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#a557ed9d477e76e4ad2019344f19f568a">04336</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q31.html#a557ed9d477e76e4ad2019344f19f568a">stateIndex</a>;
  2312. <a name="l04337"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#a830be89daa5a393b225048889aa045d1">04337</a> q31_t *<a class="code" href="structarm__fir__sparse__instance__q31.html#a830be89daa5a393b225048889aa045d1">pState</a>;
  2313. <a name="l04338"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#a093d6227f0d1597982cd083fb126f4e0">04338</a> q31_t *<a class="code" href="structarm__fir__sparse__instance__q31.html#a093d6227f0d1597982cd083fb126f4e0">pCoeffs</a>;
  2314. <a name="l04339"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#afdd3a1dc72132c854dc379154b68b674">04339</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q31.html#afdd3a1dc72132c854dc379154b68b674">maxDelay</a>;
  2315. <a name="l04340"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#ab87ae457adec8f727afefaa2599fc983">04340</a> int32_t *<a class="code" href="structarm__fir__sparse__instance__q31.html#ab87ae457adec8f727afefaa2599fc983">pTapDelay</a>;
  2316. <a name="l04341"></a>04341 } <a class="code" href="structarm__fir__sparse__instance__q31.html" title="Instance structure for the Q31 sparse FIR filter.">arm_fir_sparse_instance_q31</a>;
  2317. <a name="l04342"></a>04342
  2318. <a name="l04347"></a><a class="code" href="structarm__fir__sparse__instance__q15.html">04347</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2319. <a name="l04348"></a>04348 {
  2320. <a name="l04349"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#a0f66b126dd8b85f7467cfb01b7bc4d77">04349</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q15.html#a0f66b126dd8b85f7467cfb01b7bc4d77">numTaps</a>;
  2321. <a name="l04350"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#a89487f28cab52637426024005e478985">04350</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q15.html#a89487f28cab52637426024005e478985">stateIndex</a>;
  2322. <a name="l04351"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#a98b92b0f5208110129b9a67b1db90408">04351</a> q15_t *<a class="code" href="structarm__fir__sparse__instance__q15.html#a98b92b0f5208110129b9a67b1db90408">pState</a>;
  2323. <a name="l04352"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#a78a6565473b5f0b8c77c3f0f58a76069">04352</a> q15_t *<a class="code" href="structarm__fir__sparse__instance__q15.html#a78a6565473b5f0b8c77c3f0f58a76069">pCoeffs</a>;
  2324. <a name="l04353"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#ad14cc1070eecf7e1926d8f67a8273182">04353</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q15.html#ad14cc1070eecf7e1926d8f67a8273182">maxDelay</a>;
  2325. <a name="l04354"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#aeab2855176c6efdb231a73a3672837d5">04354</a> int32_t *<a class="code" href="structarm__fir__sparse__instance__q15.html#aeab2855176c6efdb231a73a3672837d5">pTapDelay</a>;
  2326. <a name="l04355"></a>04355 } <a class="code" href="structarm__fir__sparse__instance__q15.html" title="Instance structure for the Q15 sparse FIR filter.">arm_fir_sparse_instance_q15</a>;
  2327. <a name="l04356"></a>04356
  2328. <a name="l04361"></a><a class="code" href="structarm__fir__sparse__instance__q7.html">04361</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
  2329. <a name="l04362"></a>04362 {
  2330. <a name="l04363"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#a54cdd27ca1c672b126c38763ce678b1c">04363</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q7.html#a54cdd27ca1c672b126c38763ce678b1c">numTaps</a>;
  2331. <a name="l04364"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#a2d2e65473fe3a3f2b953b4e0b60824df">04364</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q7.html#a2d2e65473fe3a3f2b953b4e0b60824df">stateIndex</a>;
  2332. <a name="l04365"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#a18072cf3ef3666d588f0d49512f2b28f">04365</a> q7_t *<a class="code" href="structarm__fir__sparse__instance__q7.html#a18072cf3ef3666d588f0d49512f2b28f">pState</a>;
  2333. <a name="l04366"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#a3dac86f15e33553e8f3e19e0d712bae5">04366</a> q7_t *<a class="code" href="structarm__fir__sparse__instance__q7.html#a3dac86f15e33553e8f3e19e0d712bae5">pCoeffs</a>;
  2334. <a name="l04367"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#af74dacc1d34c078283e50f2530eb91df">04367</a> uint16_t <a class="code" href="structarm__fir__sparse__instance__q7.html#af74dacc1d34c078283e50f2530eb91df">maxDelay</a>;
  2335. <a name="l04368"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#ac625393c84bc0342ffdf26fc4eba1ac1">04368</a> int32_t *<a class="code" href="structarm__fir__sparse__instance__q7.html#ac625393c84bc0342ffdf26fc4eba1ac1">pTapDelay</a>;
  2336. <a name="l04369"></a>04369 } <a class="code" href="structarm__fir__sparse__instance__q7.html" title="Instance structure for the Q7 sparse FIR filter.">arm_fir_sparse_instance_q7</a>;
  2337. <a name="l04370"></a>04370
  2338. <a name="l04381"></a>04381 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#ga23a9284de5ee39406713b91d18ac8838" title="Processing function for the floating-point sparse FIR filter.">arm_fir_sparse_f32</a>(
  2339. <a name="l04382"></a>04382 <a class="code" href="structarm__fir__sparse__instance__f32.html" title="Instance structure for the floating-point sparse FIR filter.">arm_fir_sparse_instance_f32</a> * S,
  2340. <a name="l04383"></a>04383 float32_t * pSrc,
  2341. <a name="l04384"></a>04384 float32_t * pDst,
  2342. <a name="l04385"></a>04385 float32_t * pScratchIn,
  2343. <a name="l04386"></a>04386 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2344. <a name="l04387"></a>04387
  2345. <a name="l04400"></a>04400 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#ga86378a08a9d9e1e0e5de77843b34d396" title="Initialization function for the floating-point sparse FIR filter.">arm_fir_sparse_init_f32</a>(
  2346. <a name="l04401"></a>04401 <a class="code" href="structarm__fir__sparse__instance__f32.html" title="Instance structure for the floating-point sparse FIR filter.">arm_fir_sparse_instance_f32</a> * S,
  2347. <a name="l04402"></a>04402 uint16_t numTaps,
  2348. <a name="l04403"></a>04403 float32_t * pCoeffs,
  2349. <a name="l04404"></a>04404 float32_t * pState,
  2350. <a name="l04405"></a>04405 int32_t * pTapDelay,
  2351. <a name="l04406"></a>04406 uint16_t maxDelay,
  2352. <a name="l04407"></a>04407 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2353. <a name="l04408"></a>04408
  2354. <a name="l04419"></a>04419 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#ga03e9c2f0f35ad67d20bac66be9f920ec" title="Processing function for the Q31 sparse FIR filter.">arm_fir_sparse_q31</a>(
  2355. <a name="l04420"></a>04420 <a class="code" href="structarm__fir__sparse__instance__q31.html" title="Instance structure for the Q31 sparse FIR filter.">arm_fir_sparse_instance_q31</a> * S,
  2356. <a name="l04421"></a>04421 q31_t * pSrc,
  2357. <a name="l04422"></a>04422 q31_t * pDst,
  2358. <a name="l04423"></a>04423 q31_t * pScratchIn,
  2359. <a name="l04424"></a>04424 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2360. <a name="l04425"></a>04425
  2361. <a name="l04438"></a>04438 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#ga9a0bb2134bc85d3e55c6be6d946ee634" title="Initialization function for the Q31 sparse FIR filter.">arm_fir_sparse_init_q31</a>(
  2362. <a name="l04439"></a>04439 <a class="code" href="structarm__fir__sparse__instance__q31.html" title="Instance structure for the Q31 sparse FIR filter.">arm_fir_sparse_instance_q31</a> * S,
  2363. <a name="l04440"></a>04440 uint16_t numTaps,
  2364. <a name="l04441"></a>04441 q31_t * pCoeffs,
  2365. <a name="l04442"></a>04442 q31_t * pState,
  2366. <a name="l04443"></a>04443 int32_t * pTapDelay,
  2367. <a name="l04444"></a>04444 uint16_t maxDelay,
  2368. <a name="l04445"></a>04445 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2369. <a name="l04446"></a>04446
  2370. <a name="l04458"></a>04458 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#ga2bffda2e156e72427e19276cd9c3d3cc" title="Processing function for the Q15 sparse FIR filter.">arm_fir_sparse_q15</a>(
  2371. <a name="l04459"></a>04459 <a class="code" href="structarm__fir__sparse__instance__q15.html" title="Instance structure for the Q15 sparse FIR filter.">arm_fir_sparse_instance_q15</a> * S,
  2372. <a name="l04460"></a>04460 q15_t * pSrc,
  2373. <a name="l04461"></a>04461 q15_t * pDst,
  2374. <a name="l04462"></a>04462 q15_t * pScratchIn,
  2375. <a name="l04463"></a>04463 q31_t * pScratchOut,
  2376. <a name="l04464"></a>04464 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2377. <a name="l04465"></a>04465
  2378. <a name="l04466"></a>04466
  2379. <a name="l04479"></a>04479 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#ga5eaa80bf72bcccef5a2c5fc6648d1baa" title="Initialization function for the Q15 sparse FIR filter.">arm_fir_sparse_init_q15</a>(
  2380. <a name="l04480"></a>04480 <a class="code" href="structarm__fir__sparse__instance__q15.html" title="Instance structure for the Q15 sparse FIR filter.">arm_fir_sparse_instance_q15</a> * S,
  2381. <a name="l04481"></a>04481 uint16_t numTaps,
  2382. <a name="l04482"></a>04482 q15_t * pCoeffs,
  2383. <a name="l04483"></a>04483 q15_t * pState,
  2384. <a name="l04484"></a>04484 int32_t * pTapDelay,
  2385. <a name="l04485"></a>04485 uint16_t maxDelay,
  2386. <a name="l04486"></a>04486 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2387. <a name="l04487"></a>04487
  2388. <a name="l04499"></a>04499 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#gae86c145efc2d9ec32dc6d8c1ad2ccb3c" title="Processing function for the Q7 sparse FIR filter.">arm_fir_sparse_q7</a>(
  2389. <a name="l04500"></a>04500 <a class="code" href="structarm__fir__sparse__instance__q7.html" title="Instance structure for the Q7 sparse FIR filter.">arm_fir_sparse_instance_q7</a> * S,
  2390. <a name="l04501"></a>04501 q7_t * pSrc,
  2391. <a name="l04502"></a>04502 q7_t * pDst,
  2392. <a name="l04503"></a>04503 q7_t * pScratchIn,
  2393. <a name="l04504"></a>04504 q31_t * pScratchOut,
  2394. <a name="l04505"></a>04505 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2395. <a name="l04506"></a>04506
  2396. <a name="l04519"></a>04519 <span class="keywordtype">void</span> <a class="code" href="group___f_i_r___sparse.html#ga98f5c1a097d4572ce4ff3b0c58ebcdbd" title="Initialization function for the Q7 sparse FIR filter.">arm_fir_sparse_init_q7</a>(
  2397. <a name="l04520"></a>04520 <a class="code" href="structarm__fir__sparse__instance__q7.html" title="Instance structure for the Q7 sparse FIR filter.">arm_fir_sparse_instance_q7</a> * S,
  2398. <a name="l04521"></a>04521 uint16_t numTaps,
  2399. <a name="l04522"></a>04522 q7_t * pCoeffs,
  2400. <a name="l04523"></a>04523 q7_t * pState,
  2401. <a name="l04524"></a>04524 int32_t *pTapDelay,
  2402. <a name="l04525"></a>04525 uint16_t maxDelay,
  2403. <a name="l04526"></a>04526 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2404. <a name="l04527"></a>04527
  2405. <a name="l04528"></a>04528
  2406. <a name="l04529"></a>04529 <span class="comment">/*</span>
  2407. <a name="l04530"></a>04530 <span class="comment"> * @brief Floating-point sin_cos function.</span>
  2408. <a name="l04531"></a>04531 <span class="comment"> * @param[in] theta input value in degrees </span>
  2409. <a name="l04532"></a>04532 <span class="comment"> * @param[out] *pSinVal points to the processed sine output. </span>
  2410. <a name="l04533"></a>04533 <span class="comment"> * @param[out] *pCosVal points to the processed cos output. </span>
  2411. <a name="l04534"></a>04534 <span class="comment"> * @return none.</span>
  2412. <a name="l04535"></a>04535 <span class="comment"> */</span>
  2413. <a name="l04536"></a>04536
  2414. <a name="l04537"></a>04537 <span class="keywordtype">void</span> <a class="code" href="group___sin_cos.html#ga4420d45c37d58c310ef9ae1b5fe58020" title="Floating-point sin_cos function.">arm_sin_cos_f32</a>(
  2415. <a name="l04538"></a>04538 float32_t theta,
  2416. <a name="l04539"></a>04539 float32_t *pSinVal,
  2417. <a name="l04540"></a>04540 float32_t *pCcosVal);
  2418. <a name="l04541"></a>04541
  2419. <a name="l04542"></a>04542 <span class="comment">/*</span>
  2420. <a name="l04543"></a>04543 <span class="comment"> * @brief Q31 sin_cos function.</span>
  2421. <a name="l04544"></a>04544 <span class="comment"> * @param[in] theta scaled input value in degrees </span>
  2422. <a name="l04545"></a>04545 <span class="comment"> * @param[out] *pSinVal points to the processed sine output. </span>
  2423. <a name="l04546"></a>04546 <span class="comment"> * @param[out] *pCosVal points to the processed cosine output. </span>
  2424. <a name="l04547"></a>04547 <span class="comment"> * @return none.</span>
  2425. <a name="l04548"></a>04548 <span class="comment"> */</span>
  2426. <a name="l04549"></a>04549
  2427. <a name="l04550"></a>04550 <span class="keywordtype">void</span> <a class="code" href="group___sin_cos.html#gae9e4ddebff9d4eb5d0a093e28e0bc504" title="Q31 sin_cos function.">arm_sin_cos_q31</a>(
  2428. <a name="l04551"></a>04551 q31_t theta,
  2429. <a name="l04552"></a>04552 q31_t *pSinVal,
  2430. <a name="l04553"></a>04553 q31_t *pCosVal);
  2431. <a name="l04554"></a>04554
  2432. <a name="l04555"></a>04555
  2433. <a name="l04564"></a>04564 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__conj.html#ga3a102aead6460ad9fcb0626f6b226ffb" title="Floating-point complex conjugate.">arm_cmplx_conj_f32</a>(
  2434. <a name="l04565"></a>04565 float32_t * pSrc,
  2435. <a name="l04566"></a>04566 float32_t * pDst,
  2436. <a name="l04567"></a>04567 uint32_t numSamples);
  2437. <a name="l04568"></a>04568
  2438. <a name="l04577"></a>04577 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__conj.html#gafecc94879a383c5208ec3ef99485e4b5" title="Q31 complex conjugate.">arm_cmplx_conj_q31</a>(
  2439. <a name="l04578"></a>04578 q31_t * pSrc,
  2440. <a name="l04579"></a>04579 q31_t * pDst,
  2441. <a name="l04580"></a>04580 uint32_t numSamples);
  2442. <a name="l04581"></a>04581
  2443. <a name="l04590"></a>04590 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__conj.html#gaf47689ae07962acaecb8ddde556df4a4" title="Q15 complex conjugate.">arm_cmplx_conj_q15</a>(
  2444. <a name="l04591"></a>04591 q15_t * pSrc,
  2445. <a name="l04592"></a>04592 q15_t * pDst,
  2446. <a name="l04593"></a>04593 uint32_t numSamples);
  2447. <a name="l04594"></a>04594
  2448. <a name="l04595"></a>04595
  2449. <a name="l04596"></a>04596
  2450. <a name="l04605"></a>04605 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__mag__squared.html#gaa7faccc0d96b061d8b7d0d7d82045074" title="Floating-point complex magnitude squared.">arm_cmplx_mag_squared_f32</a>(
  2451. <a name="l04606"></a>04606 float32_t * pSrc,
  2452. <a name="l04607"></a>04607 float32_t * pDst,
  2453. <a name="l04608"></a>04608 uint32_t numSamples);
  2454. <a name="l04609"></a>04609
  2455. <a name="l04618"></a>04618 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__mag__squared.html#ga384b0538101e8c03fa4fa14271e63b04" title="Q31 complex magnitude squared.">arm_cmplx_mag_squared_q31</a>(
  2456. <a name="l04619"></a>04619 q31_t * pSrc,
  2457. <a name="l04620"></a>04620 q31_t * pDst,
  2458. <a name="l04621"></a>04621 uint32_t numSamples);
  2459. <a name="l04622"></a>04622
  2460. <a name="l04631"></a>04631 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__mag__squared.html#ga45537f576102d960d467eb722b8431f2" title="Q15 complex magnitude squared.">arm_cmplx_mag_squared_q15</a>(
  2461. <a name="l04632"></a>04632 q15_t * pSrc,
  2462. <a name="l04633"></a>04633 q15_t * pDst,
  2463. <a name="l04634"></a>04634 uint32_t numSamples);
  2464. <a name="l04635"></a>04635
  2465. <a name="l04636"></a>04636
  2466. <a name="l04711"></a><a class="code" href="group___p_i_d.html#gac5c79ed46abf2d72b8cf41fa6c708bda">04711</a> <span class="keyword">static</span> __INLINE float32_t <a class="code" href="group___p_i_d.html#gac5c79ed46abf2d72b8cf41fa6c708bda" title="Process function for the floating-point PID Control.">arm_pid_f32</a>(
  2467. <a name="l04712"></a>04712 <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a> * S,
  2468. <a name="l04713"></a>04713 float32_t in)
  2469. <a name="l04714"></a>04714 {
  2470. <a name="l04715"></a>04715 float32_t out;
  2471. <a name="l04716"></a>04716
  2472. <a name="l04717"></a>04717 <span class="comment">/* y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2] */</span>
  2473. <a name="l04718"></a>04718 out = (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#ad7b0bed64915d0a25a3409fa2dc45556">A0</a> * in) +
  2474. <a name="l04719"></a>04719 (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a7def89571c50f7137a213326a396e560">A1</a> * S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">state</a>[0]) + (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a155acf642ba2f521869f19d694cd7fa0">A2</a> * S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">state</a>[1]) + (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">state</a>[2]);
  2475. <a name="l04720"></a>04720
  2476. <a name="l04721"></a>04721 <span class="comment">/* Update state */</span>
  2477. <a name="l04722"></a>04722 S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">state</a>[1] = S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">state</a>[0];
  2478. <a name="l04723"></a>04723 S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">state</a>[0] = in;
  2479. <a name="l04724"></a>04724 S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afd394e1e52fb1d526aa472c83b8f2464">state</a>[2] = out;
  2480. <a name="l04725"></a>04725
  2481. <a name="l04726"></a>04726 <span class="comment">/* return to application */</span>
  2482. <a name="l04727"></a>04727 <span class="keywordflow">return</span> (out);
  2483. <a name="l04728"></a>04728
  2484. <a name="l04729"></a>04729 }
  2485. <a name="l04730"></a>04730
  2486. <a name="l04746"></a><a class="code" href="group___p_i_d.html#ga5f6f941e7ae981728dd3a662f8f4ecd7">04746</a> <span class="keyword">static</span> __INLINE q31_t <a class="code" href="group___p_i_d.html#ga5f6f941e7ae981728dd3a662f8f4ecd7" title="Process function for the Q31 PID Control.">arm_pid_q31</a>(
  2487. <a name="l04747"></a>04747 <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a> * S,
  2488. <a name="l04748"></a>04748 q31_t in)
  2489. <a name="l04749"></a>04749 {
  2490. <a name="l04750"></a>04750 q63_t acc;
  2491. <a name="l04751"></a>04751 q31_t out;
  2492. <a name="l04752"></a>04752
  2493. <a name="l04753"></a>04753 <span class="comment">/* acc = A0 * x[n] */</span>
  2494. <a name="l04754"></a>04754 acc = (<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) S-&gt;<a class="code" href="structarm__pid__instance__q31.html#aa5332635ce9c7078cdb4c1ecf442eadd">A0</a> * in;
  2495. <a name="l04755"></a>04755
  2496. <a name="l04756"></a>04756 <span class="comment">/* acc += A1 * x[n-1] */</span>
  2497. <a name="l04757"></a>04757 acc += (q63_t) S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a2f7492bd6fb92fae5e2de7fbbec39b0e">A1</a> * S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">state</a>[0];
  2498. <a name="l04758"></a>04758
  2499. <a name="l04759"></a>04759 <span class="comment">/* acc += A2 * x[n-2] */</span>
  2500. <a name="l04760"></a>04760 acc += (<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a3e34537c53af4f9ad7bfffa4dff27c82">A2</a> * S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">state</a>[1];
  2501. <a name="l04761"></a>04761
  2502. <a name="l04762"></a>04762 <span class="comment">/* convert output to 1.31 format to add y[n-1] */</span>
  2503. <a name="l04763"></a>04763 out = (q31_t) (acc &gt;&gt; 31u);
  2504. <a name="l04764"></a>04764
  2505. <a name="l04765"></a>04765 <span class="comment">/* out += y[n-1] */</span>
  2506. <a name="l04766"></a>04766 out += S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">state</a>[2];
  2507. <a name="l04767"></a>04767
  2508. <a name="l04768"></a>04768 <span class="comment">/* Update state */</span>
  2509. <a name="l04769"></a>04769 S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">state</a>[1] = S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">state</a>[0];
  2510. <a name="l04770"></a>04770 S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">state</a>[0] = in;
  2511. <a name="l04771"></a>04771 S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a228e4a64da6014844a0a671a1fa391d4">state</a>[2] = out;
  2512. <a name="l04772"></a>04772
  2513. <a name="l04773"></a>04773 <span class="comment">/* return to application */</span>
  2514. <a name="l04774"></a>04774 <span class="keywordflow">return</span> (out);
  2515. <a name="l04775"></a>04775
  2516. <a name="l04776"></a>04776 }
  2517. <a name="l04777"></a>04777
  2518. <a name="l04794"></a><a class="code" href="group___p_i_d.html#ga084f646bbb20d55f225c3efafcf7fc1f">04794</a> <span class="keyword">static</span> __INLINE q15_t <a class="code" href="group___p_i_d.html#ga084f646bbb20d55f225c3efafcf7fc1f" title="Process function for the Q15 PID Control.">arm_pid_q15</a>(
  2519. <a name="l04795"></a>04795 <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a> * S,
  2520. <a name="l04796"></a>04796 q15_t in)
  2521. <a name="l04797"></a>04797 {
  2522. <a name="l04798"></a>04798 q63_t acc;
  2523. <a name="l04799"></a>04799 q15_t out;
  2524. <a name="l04800"></a>04800
  2525. <a name="l04801"></a>04801 <span class="comment">/* Implementation of PID controller */</span>
  2526. <a name="l04802"></a>04802
  2527. <a name="l04803"></a>04803 <span class="preprocessor"> #ifdef ARM_MATH_CM0</span>
  2528. <a name="l04804"></a>04804 <span class="preprocessor"></span>
  2529. <a name="l04805"></a>04805 <span class="comment">/* acc = A0 * x[n] */</span>
  2530. <a name="l04806"></a>04806 acc = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) S-&gt;<a class="code" href="structarm__pid__instance__q15.html#ad77f3a2823c7f96de42c92a3fbf3246b">A0</a> )* in ;
  2531. <a name="l04807"></a>04807
  2532. <a name="l04808"></a>04808 <span class="preprocessor"> #else</span>
  2533. <a name="l04809"></a>04809 <span class="preprocessor"></span>
  2534. <a name="l04810"></a>04810 <span class="comment">/* acc = A0 * x[n] */</span>
  2535. <a name="l04811"></a>04811 acc = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) __SMUAD(S-&gt;<a class="code" href="structarm__pid__instance__q15.html#ad77f3a2823c7f96de42c92a3fbf3246b">A0</a>, in);
  2536. <a name="l04812"></a>04812
  2537. <a name="l04813"></a>04813 <span class="preprocessor"> #endif</span>
  2538. <a name="l04814"></a>04814 <span class="preprocessor"></span>
  2539. <a name="l04815"></a>04815 <span class="preprocessor"> #ifdef ARM_MATH_CM0</span>
  2540. <a name="l04816"></a>04816 <span class="preprocessor"></span>
  2541. <a name="l04817"></a>04817 <span class="comment">/* acc += A1 * x[n-1] + A2 * x[n-2] */</span>
  2542. <a name="l04818"></a>04818 acc += (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a1b8412c517071962a9acfdc6778906ec">A1</a> * S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>[0] ;
  2543. <a name="l04819"></a>04819 acc += (q31_t) S-&gt;A2 * S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>[1] ;
  2544. <a name="l04820"></a>04820
  2545. <a name="l04821"></a>04821 <span class="preprocessor"> #else</span>
  2546. <a name="l04822"></a>04822 <span class="preprocessor"></span>
  2547. <a name="l04823"></a>04823 <span class="comment">/* acc += A1 * x[n-1] + A2 * x[n-2] */</span>
  2548. <a name="l04824"></a>04824 acc = __SMLALD(S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a1b8412c517071962a9acfdc6778906ec">A1</a>, (q31_t)<a class="code" href="arm__math_8h.html#a9de2e0a5785be82866bcb96012282248" title="definition to read/write two 16 bit values.">__SIMD32</a>(S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>), acc);
  2549. <a name="l04825"></a>04825
  2550. <a name="l04826"></a>04826 <span class="preprocessor"> #endif</span>
  2551. <a name="l04827"></a>04827 <span class="preprocessor"></span>
  2552. <a name="l04828"></a>04828 <span class="comment">/* acc += y[n-1] */</span>
  2553. <a name="l04829"></a>04829 acc += (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>[2] &lt;&lt; 15;
  2554. <a name="l04830"></a>04830
  2555. <a name="l04831"></a>04831 <span class="comment">/* saturate the output */</span>
  2556. <a name="l04832"></a>04832 out = (q15_t) (__SSAT((acc &gt;&gt; 15), 16));
  2557. <a name="l04833"></a>04833
  2558. <a name="l04834"></a>04834 <span class="comment">/* Update state */</span>
  2559. <a name="l04835"></a>04835 S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>[1] = S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>[0];
  2560. <a name="l04836"></a>04836 S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>[0] = in;
  2561. <a name="l04837"></a>04837 S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4a3f0a878b5b6b055e3478a2f244cd30">state</a>[2] = out;
  2562. <a name="l04838"></a>04838
  2563. <a name="l04839"></a>04839 <span class="comment">/* return to application */</span>
  2564. <a name="l04840"></a>04840 <span class="keywordflow">return</span> (out);
  2565. <a name="l04841"></a>04841
  2566. <a name="l04842"></a>04842 }
  2567. <a name="l04843"></a>04843
  2568. <a name="l04857"></a>04857 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___matrix_inv.html#ga542be7aabbf7a2297a4b62cf212910e3" title="Floating-point matrix inverse.">arm_mat_inverse_f32</a>(
  2569. <a name="l04858"></a>04858 <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * src,
  2570. <a name="l04859"></a>04859 <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * dst);
  2571. <a name="l04860"></a>04860
  2572. <a name="l04861"></a>04861
  2573. <a name="l04862"></a>04862
  2574. <a name="l04905"></a><a class="code" href="group__clarke.html#ga2b4ebec76215e1277c970c269ffdbd76">04905</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__clarke.html#ga2b4ebec76215e1277c970c269ffdbd76" title="Floating-point Clarke transform.">arm_clarke_f32</a>(
  2575. <a name="l04906"></a>04906 float32_t Ia,
  2576. <a name="l04907"></a>04907 float32_t Ib,
  2577. <a name="l04908"></a>04908 float32_t * pIalpha,
  2578. <a name="l04909"></a>04909 float32_t * pIbeta)
  2579. <a name="l04910"></a>04910 {
  2580. <a name="l04911"></a>04911 <span class="comment">/* Calculate pIalpha using the equation, pIalpha = Ia */</span>
  2581. <a name="l04912"></a>04912 *pIalpha = Ia;
  2582. <a name="l04913"></a>04913
  2583. <a name="l04914"></a>04914 <span class="comment">/* Calculate pIbeta using the equation, pIbeta = (1/sqrt(3)) * Ia + (2/sqrt(3)) * Ib */</span>
  2584. <a name="l04915"></a>04915 *pIbeta = ((<a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a>) 0.57735026919 * Ia + (float32_t) 1.15470053838 * Ib);
  2585. <a name="l04916"></a>04916
  2586. <a name="l04917"></a>04917 }
  2587. <a name="l04918"></a>04918
  2588. <a name="l04934"></a><a class="code" href="group__clarke.html#ga7fd106ca8d346a2a472842e0656014c1">04934</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__clarke.html#ga7fd106ca8d346a2a472842e0656014c1" title="Clarke transform for Q31 version.">arm_clarke_q31</a>(
  2589. <a name="l04935"></a>04935 q31_t Ia,
  2590. <a name="l04936"></a>04936 q31_t Ib,
  2591. <a name="l04937"></a>04937 q31_t * pIalpha,
  2592. <a name="l04938"></a>04938 q31_t * pIbeta)
  2593. <a name="l04939"></a>04939 {
  2594. <a name="l04940"></a>04940 q31_t product1, product2; <span class="comment">/* Temporary variables used to store intermediate results */</span>
  2595. <a name="l04941"></a>04941
  2596. <a name="l04942"></a>04942 <span class="comment">/* Calculating pIalpha from Ia by equation pIalpha = Ia */</span>
  2597. <a name="l04943"></a>04943 *pIalpha = Ia;
  2598. <a name="l04944"></a>04944
  2599. <a name="l04945"></a>04945 <span class="comment">/* Intermediate product is calculated by (1/(sqrt(3)) * Ia) */</span>
  2600. <a name="l04946"></a>04946 product1 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) Ia * 0x24F34E8B) &gt;&gt; 30);
  2601. <a name="l04947"></a>04947
  2602. <a name="l04948"></a>04948 <span class="comment">/* Intermediate product is calculated by (2/sqrt(3) * Ib) */</span>
  2603. <a name="l04949"></a>04949 product2 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) Ib * 0x49E69D16) &gt;&gt; 30);
  2604. <a name="l04950"></a>04950
  2605. <a name="l04951"></a>04951 <span class="comment">/* pIbeta is calculated by adding the intermediate products */</span>
  2606. <a name="l04952"></a>04952 *pIbeta = __QADD(product1, product2);
  2607. <a name="l04953"></a>04953 }
  2608. <a name="l04954"></a>04954
  2609. <a name="l04966"></a>04966 <span class="keywordtype">void</span> <a class="code" href="group__q7__to__x.html#gad8958cd3cb7f521466168b46a25b7908" title="Converts the elements of the Q7 vector to Q31 vector.">arm_q7_to_q31</a>(
  2610. <a name="l04967"></a>04967 q7_t * pSrc,
  2611. <a name="l04968"></a>04968 q31_t * pDst,
  2612. <a name="l04969"></a>04969 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2613. <a name="l04970"></a>04970
  2614. <a name="l04971"></a>04971
  2615. <a name="l04972"></a>04972
  2616. <a name="l04973"></a>04973
  2617. <a name="l05009"></a><a class="code" href="group__inv__clarke.html#ga137f0396d837477b899ecae89f075a50">05009</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__clarke.html#ga137f0396d837477b899ecae89f075a50" title="Floating-point Inverse Clarke transform.">arm_inv_clarke_f32</a>(
  2618. <a name="l05010"></a>05010 float32_t Ialpha,
  2619. <a name="l05011"></a>05011 float32_t Ibeta,
  2620. <a name="l05012"></a>05012 float32_t * pIa,
  2621. <a name="l05013"></a>05013 float32_t * pIb)
  2622. <a name="l05014"></a>05014 {
  2623. <a name="l05015"></a>05015 <span class="comment">/* Calculating pIa from Ialpha by equation pIa = Ialpha */</span>
  2624. <a name="l05016"></a>05016 *pIa = Ialpha;
  2625. <a name="l05017"></a>05017
  2626. <a name="l05018"></a>05018 <span class="comment">/* Calculating pIb from Ialpha and Ibeta by equation pIb = -(1/2) * Ialpha + (sqrt(3)/2) * Ibeta */</span>
  2627. <a name="l05019"></a>05019 *pIb = -0.5 * Ialpha + (<a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a>) 0.8660254039 *Ibeta;
  2628. <a name="l05020"></a>05020
  2629. <a name="l05021"></a>05021 }
  2630. <a name="l05022"></a>05022
  2631. <a name="l05038"></a><a class="code" href="group__inv__clarke.html#ga2d0c60f114f095a2f27442d98781ba02">05038</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__clarke.html#ga2d0c60f114f095a2f27442d98781ba02" title="Inverse Clarke transform for Q31 version.">arm_inv_clarke_q31</a>(
  2632. <a name="l05039"></a>05039 q31_t Ialpha,
  2633. <a name="l05040"></a>05040 q31_t Ibeta,
  2634. <a name="l05041"></a>05041 q31_t * pIa,
  2635. <a name="l05042"></a>05042 q31_t * pIb)
  2636. <a name="l05043"></a>05043 {
  2637. <a name="l05044"></a>05044 q31_t product1, product2; <span class="comment">/* Temporary variables used to store intermediate results */</span>
  2638. <a name="l05045"></a>05045
  2639. <a name="l05046"></a>05046 <span class="comment">/* Calculating pIa from Ialpha by equation pIa = Ialpha */</span>
  2640. <a name="l05047"></a>05047 *pIa = Ialpha;
  2641. <a name="l05048"></a>05048
  2642. <a name="l05049"></a>05049 <span class="comment">/* Intermediate product is calculated by (1/(2*sqrt(3)) * Ia) */</span>
  2643. <a name="l05050"></a>05050 product1 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Ialpha) * (0x40000000)) &gt;&gt; 31);
  2644. <a name="l05051"></a>05051
  2645. <a name="l05052"></a>05052 <span class="comment">/* Intermediate product is calculated by (1/sqrt(3) * pIb) */</span>
  2646. <a name="l05053"></a>05053 product2 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Ibeta) * (0x6ED9EBA1)) &gt;&gt; 31);
  2647. <a name="l05054"></a>05054
  2648. <a name="l05055"></a>05055 <span class="comment">/* pIb is calculated by subtracting the products */</span>
  2649. <a name="l05056"></a>05056 *pIb = __QSUB(product2, product1);
  2650. <a name="l05057"></a>05057
  2651. <a name="l05058"></a>05058 }
  2652. <a name="l05059"></a>05059
  2653. <a name="l05071"></a>05071 <span class="keywordtype">void</span> <a class="code" href="group__q7__to__x.html#gabc02597fc3f01033daf43ec0547a2f78" title="Converts the elements of the Q7 vector to Q15 vector.">arm_q7_to_q15</a>(
  2654. <a name="l05072"></a>05072 q7_t * pSrc,
  2655. <a name="l05073"></a>05073 q15_t * pDst,
  2656. <a name="l05074"></a>05074 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2657. <a name="l05075"></a>05075
  2658. <a name="l05076"></a>05076
  2659. <a name="l05077"></a>05077
  2660. <a name="l05125"></a><a class="code" href="group__park.html#ga08b3a683197de7e143fb00497787683c">05125</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__park.html#ga08b3a683197de7e143fb00497787683c" title="Floating-point Park transform.">arm_park_f32</a>(
  2661. <a name="l05126"></a>05126 float32_t Ialpha,
  2662. <a name="l05127"></a>05127 float32_t Ibeta,
  2663. <a name="l05128"></a>05128 float32_t * pId,
  2664. <a name="l05129"></a>05129 float32_t * pIq,
  2665. <a name="l05130"></a>05130 float32_t sinVal,
  2666. <a name="l05131"></a>05131 float32_t cosVal)
  2667. <a name="l05132"></a>05132 {
  2668. <a name="l05133"></a>05133 <span class="comment">/* Calculate pId using the equation, pId = Ialpha * cosVal + Ibeta * sinVal */</span>
  2669. <a name="l05134"></a>05134 *pId = Ialpha * cosVal + Ibeta * sinVal;
  2670. <a name="l05135"></a>05135
  2671. <a name="l05136"></a>05136 <span class="comment">/* Calculate pIq using the equation, pIq = - Ialpha * sinVal + Ibeta * cosVal */</span>
  2672. <a name="l05137"></a>05137 *pIq = -Ialpha * sinVal + Ibeta * cosVal;
  2673. <a name="l05138"></a>05138
  2674. <a name="l05139"></a>05139 }
  2675. <a name="l05140"></a>05140
  2676. <a name="l05159"></a><a class="code" href="group__park.html#gaf4cc6370c0cfc14ea66774ed3c5bb10f">05159</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__park.html#gaf4cc6370c0cfc14ea66774ed3c5bb10f" title="Park transform for Q31 version.">arm_park_q31</a>(
  2677. <a name="l05160"></a>05160 q31_t Ialpha,
  2678. <a name="l05161"></a>05161 q31_t Ibeta,
  2679. <a name="l05162"></a>05162 q31_t * pId,
  2680. <a name="l05163"></a>05163 q31_t * pIq,
  2681. <a name="l05164"></a>05164 q31_t sinVal,
  2682. <a name="l05165"></a>05165 q31_t cosVal)
  2683. <a name="l05166"></a>05166 {
  2684. <a name="l05167"></a>05167 q31_t product1, product2; <span class="comment">/* Temporary variables used to store intermediate results */</span>
  2685. <a name="l05168"></a>05168 q31_t product3, product4; <span class="comment">/* Temporary variables used to store intermediate results */</span>
  2686. <a name="l05169"></a>05169
  2687. <a name="l05170"></a>05170 <span class="comment">/* Intermediate product is calculated by (Ialpha * cosVal) */</span>
  2688. <a name="l05171"></a>05171 product1 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Ialpha) * (cosVal)) &gt;&gt; 31);
  2689. <a name="l05172"></a>05172
  2690. <a name="l05173"></a>05173 <span class="comment">/* Intermediate product is calculated by (Ibeta * sinVal) */</span>
  2691. <a name="l05174"></a>05174 product2 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Ibeta) * (sinVal)) &gt;&gt; 31);
  2692. <a name="l05175"></a>05175
  2693. <a name="l05176"></a>05176
  2694. <a name="l05177"></a>05177 <span class="comment">/* Intermediate product is calculated by (Ialpha * sinVal) */</span>
  2695. <a name="l05178"></a>05178 product3 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Ialpha) * (sinVal)) &gt;&gt; 31);
  2696. <a name="l05179"></a>05179
  2697. <a name="l05180"></a>05180 <span class="comment">/* Intermediate product is calculated by (Ibeta * cosVal) */</span>
  2698. <a name="l05181"></a>05181 product4 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Ibeta) * (cosVal)) &gt;&gt; 31);
  2699. <a name="l05182"></a>05182
  2700. <a name="l05183"></a>05183 <span class="comment">/* Calculate pId by adding the two intermediate products 1 and 2 */</span>
  2701. <a name="l05184"></a>05184 *pId = __QADD(product1, product2);
  2702. <a name="l05185"></a>05185
  2703. <a name="l05186"></a>05186 <span class="comment">/* Calculate pIq by subtracting the two intermediate products 3 from 4 */</span>
  2704. <a name="l05187"></a>05187 *pIq = __QSUB(product4, product3);
  2705. <a name="l05188"></a>05188 }
  2706. <a name="l05189"></a>05189
  2707. <a name="l05201"></a>05201 <span class="keywordtype">void</span> <a class="code" href="group__q7__to__x.html#ga656620f957b65512ed83db03fd455ec5" title="Converts the elements of the Q7 vector to floating-point vector.">arm_q7_to_float</a>(
  2708. <a name="l05202"></a>05202 q7_t * pSrc,
  2709. <a name="l05203"></a>05203 float32_t * pDst,
  2710. <a name="l05204"></a>05204 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2711. <a name="l05205"></a>05205
  2712. <a name="l05206"></a>05206
  2713. <a name="l05244"></a><a class="code" href="group__inv__park.html#gaaf6bef0de21946f774d49df050dd8b05">05244</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__park.html#gaaf6bef0de21946f774d49df050dd8b05" title="Floating-point Inverse Park transform.">arm_inv_park_f32</a>(
  2714. <a name="l05245"></a>05245 float32_t Id,
  2715. <a name="l05246"></a>05246 float32_t Iq,
  2716. <a name="l05247"></a>05247 float32_t * pIalpha,
  2717. <a name="l05248"></a>05248 float32_t * pIbeta,
  2718. <a name="l05249"></a>05249 float32_t sinVal,
  2719. <a name="l05250"></a>05250 float32_t cosVal)
  2720. <a name="l05251"></a>05251 {
  2721. <a name="l05252"></a>05252 <span class="comment">/* Calculate pIalpha using the equation, pIalpha = Id * cosVal - Iq * sinVal */</span>
  2722. <a name="l05253"></a>05253 *pIalpha = Id * cosVal - Iq * sinVal;
  2723. <a name="l05254"></a>05254
  2724. <a name="l05255"></a>05255 <span class="comment">/* Calculate pIbeta using the equation, pIbeta = Id * sinVal + Iq * cosVal */</span>
  2725. <a name="l05256"></a>05256 *pIbeta = Id * sinVal + Iq * cosVal;
  2726. <a name="l05257"></a>05257
  2727. <a name="l05258"></a>05258 }
  2728. <a name="l05259"></a>05259
  2729. <a name="l05260"></a>05260
  2730. <a name="l05279"></a><a class="code" href="group__inv__park.html#ga0b33822b988a15455773d28440c5579a">05279</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__park.html#ga0b33822b988a15455773d28440c5579a" title="Inverse Park transform for Q31 version.">arm_inv_park_q31</a>(
  2731. <a name="l05280"></a>05280 q31_t Id,
  2732. <a name="l05281"></a>05281 q31_t Iq,
  2733. <a name="l05282"></a>05282 q31_t * pIalpha,
  2734. <a name="l05283"></a>05283 q31_t * pIbeta,
  2735. <a name="l05284"></a>05284 q31_t sinVal,
  2736. <a name="l05285"></a>05285 q31_t cosVal)
  2737. <a name="l05286"></a>05286 {
  2738. <a name="l05287"></a>05287 q31_t product1, product2; <span class="comment">/* Temporary variables used to store intermediate results */</span>
  2739. <a name="l05288"></a>05288 q31_t product3, product4; <span class="comment">/* Temporary variables used to store intermediate results */</span>
  2740. <a name="l05289"></a>05289
  2741. <a name="l05290"></a>05290 <span class="comment">/* Intermediate product is calculated by (Id * cosVal) */</span>
  2742. <a name="l05291"></a>05291 product1 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Id) * (cosVal)) &gt;&gt; 31);
  2743. <a name="l05292"></a>05292
  2744. <a name="l05293"></a>05293 <span class="comment">/* Intermediate product is calculated by (Iq * sinVal) */</span>
  2745. <a name="l05294"></a>05294 product2 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Iq) * (sinVal)) &gt;&gt; 31);
  2746. <a name="l05295"></a>05295
  2747. <a name="l05296"></a>05296
  2748. <a name="l05297"></a>05297 <span class="comment">/* Intermediate product is calculated by (Id * sinVal) */</span>
  2749. <a name="l05298"></a>05298 product3 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Id) * (sinVal)) &gt;&gt; 31);
  2750. <a name="l05299"></a>05299
  2751. <a name="l05300"></a>05300 <span class="comment">/* Intermediate product is calculated by (Iq * cosVal) */</span>
  2752. <a name="l05301"></a>05301 product4 = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) (Iq) * (cosVal)) &gt;&gt; 31);
  2753. <a name="l05302"></a>05302
  2754. <a name="l05303"></a>05303 <span class="comment">/* Calculate pIalpha by using the two intermediate products 1 and 2 */</span>
  2755. <a name="l05304"></a>05304 *pIalpha = __QSUB(product1, product2);
  2756. <a name="l05305"></a>05305
  2757. <a name="l05306"></a>05306 <span class="comment">/* Calculate pIbeta by using the two intermediate products 3 and 4 */</span>
  2758. <a name="l05307"></a>05307 *pIbeta = __QADD(product4, product3);
  2759. <a name="l05308"></a>05308
  2760. <a name="l05309"></a>05309 }
  2761. <a name="l05310"></a>05310
  2762. <a name="l05323"></a>05323 <span class="keywordtype">void</span> <a class="code" href="group__q31__to__x.html#gacf407b007a37da18e99dabd9023c56b4" title="Converts the elements of the Q31 vector to floating-point vector.">arm_q31_to_float</a>(
  2763. <a name="l05324"></a>05324 q31_t * pSrc,
  2764. <a name="l05325"></a>05325 float32_t * pDst,
  2765. <a name="l05326"></a>05326 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  2766. <a name="l05327"></a>05327
  2767. <a name="l05377"></a><a class="code" href="group___linear_interpolate.html#ga2269263d810cafcd19681957b37d5cf6">05377</a> <span class="keyword">static</span> __INLINE float32_t <a class="code" href="group___linear_interpolate.html#ga2269263d810cafcd19681957b37d5cf6" title="Process function for the floating-point Linear Interpolation Function.">arm_linear_interp_f32</a>(
  2768. <a name="l05378"></a>05378 <a class="code" href="structarm__linear__interp__instance__f32.html" title="Instance structure for the floating-point Linear Interpolate function.">arm_linear_interp_instance_f32</a> * S,
  2769. <a name="l05379"></a>05379 float32_t x)
  2770. <a name="l05380"></a>05380 {
  2771. <a name="l05381"></a>05381
  2772. <a name="l05382"></a>05382 float32_t y;
  2773. <a name="l05383"></a>05383 float32_t x0, x1; <span class="comment">/* Nearest input values */</span>
  2774. <a name="l05384"></a>05384 float32_t y0, y1; <span class="comment">/* Nearest output values */</span>
  2775. <a name="l05385"></a>05385 float32_t xSpacing = S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#aa8e2d686b5434a406d390b347b183511">xSpacing</a>; <span class="comment">/* spacing between input values */</span>
  2776. <a name="l05386"></a>05386 int32_t i; <span class="comment">/* Index variable */</span>
  2777. <a name="l05387"></a>05387 float32_t *pYData = S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#ab373001f6afad0850359c344a4d7eee4">pYData</a>; <span class="comment">/* pointer to output table */</span>
  2778. <a name="l05388"></a>05388
  2779. <a name="l05389"></a>05389 <span class="comment">/* Calculation of index */</span>
  2780. <a name="l05390"></a>05390 i = (x - S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#a08352dc6ea82fbc0827408e018535481">x1</a>) / xSpacing;
  2781. <a name="l05391"></a>05391
  2782. <a name="l05392"></a>05392 <span class="keywordflow">if</span>(i &lt; 0)
  2783. <a name="l05393"></a>05393 {
  2784. <a name="l05394"></a>05394 <span class="comment">/* Iniatilize output for below specified range as least output value of table */</span>
  2785. <a name="l05395"></a>05395 y = pYData[0];
  2786. <a name="l05396"></a>05396 }
  2787. <a name="l05397"></a>05397 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(i &gt;= S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#a95f02a926b16d35359aca5b31e813b11">nValues</a>)
  2788. <a name="l05398"></a>05398 {
  2789. <a name="l05399"></a>05399 <span class="comment">/* Iniatilize output for above specified range as last output value of table */</span>
  2790. <a name="l05400"></a>05400 y = pYData[S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#a95f02a926b16d35359aca5b31e813b11">nValues</a>-1];
  2791. <a name="l05401"></a>05401 }
  2792. <a name="l05402"></a>05402 <span class="keywordflow">else</span>
  2793. <a name="l05403"></a>05403 {
  2794. <a name="l05404"></a>05404 <span class="comment">/* Calculation of nearest input values */</span>
  2795. <a name="l05405"></a>05405 x0 = S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#a08352dc6ea82fbc0827408e018535481">x1</a> + i * xSpacing;
  2796. <a name="l05406"></a>05406 x1 = S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#a08352dc6ea82fbc0827408e018535481">x1</a> + (i +1) * xSpacing;
  2797. <a name="l05407"></a>05407
  2798. <a name="l05408"></a>05408 <span class="comment">/* Read of nearest output values */</span>
  2799. <a name="l05409"></a>05409 y0 = pYData[i];
  2800. <a name="l05410"></a>05410 y1 = pYData[i + 1];
  2801. <a name="l05411"></a>05411
  2802. <a name="l05412"></a>05412 <span class="comment">/* Calculation of output */</span>
  2803. <a name="l05413"></a>05413 y = y0 + (x - x0) * ((y1 - y0)/(x1-x0));
  2804. <a name="l05414"></a>05414
  2805. <a name="l05415"></a>05415 }
  2806. <a name="l05416"></a>05416
  2807. <a name="l05417"></a>05417 <span class="comment">/* returns output value */</span>
  2808. <a name="l05418"></a>05418 <span class="keywordflow">return</span> (y);
  2809. <a name="l05419"></a>05419 }
  2810. <a name="l05420"></a>05420
  2811. <a name="l05436"></a><a class="code" href="group___linear_interpolate.html#ga690e63e9a513ca0a741b1b174805d031">05436</a> <span class="keyword">static</span> __INLINE q31_t <a class="code" href="group___linear_interpolate.html#ga690e63e9a513ca0a741b1b174805d031" title="Process function for the Q31 Linear Interpolation Function.">arm_linear_interp_q31</a>(q31_t *pYData,
  2812. <a name="l05437"></a>05437 q31_t x, uint32_t nValues)
  2813. <a name="l05438"></a>05438 {
  2814. <a name="l05439"></a>05439 q31_t y; <span class="comment">/* output */</span>
  2815. <a name="l05440"></a>05440 q31_t y0, y1; <span class="comment">/* Nearest output values */</span>
  2816. <a name="l05441"></a>05441 q31_t fract; <span class="comment">/* fractional part */</span>
  2817. <a name="l05442"></a>05442 int32_t index; <span class="comment">/* Index to read nearest output values */</span>
  2818. <a name="l05443"></a>05443
  2819. <a name="l05444"></a>05444 <span class="comment">/* Input is in 12.20 format */</span>
  2820. <a name="l05445"></a>05445 <span class="comment">/* 12 bits for the table index */</span>
  2821. <a name="l05446"></a>05446 <span class="comment">/* Index value calculation */</span>
  2822. <a name="l05447"></a>05447 index = ((x &amp; 0xFFF00000) &gt;&gt; 20);
  2823. <a name="l05448"></a>05448
  2824. <a name="l05449"></a>05449 <span class="keywordflow">if</span>(index &gt;= (nValues - 1))
  2825. <a name="l05450"></a>05450 {
  2826. <a name="l05451"></a>05451 <span class="keywordflow">return</span>(pYData[nValues - 1]);
  2827. <a name="l05452"></a>05452 }
  2828. <a name="l05453"></a>05453 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(index &lt; 0)
  2829. <a name="l05454"></a>05454 {
  2830. <a name="l05455"></a>05455 <span class="keywordflow">return</span>(pYData[0]);
  2831. <a name="l05456"></a>05456 }
  2832. <a name="l05457"></a>05457 <span class="keywordflow">else</span>
  2833. <a name="l05458"></a>05458 {
  2834. <a name="l05459"></a>05459
  2835. <a name="l05460"></a>05460 <span class="comment">/* 20 bits for the fractional part */</span>
  2836. <a name="l05461"></a>05461 <span class="comment">/* shift left by 11 to keep fract in 1.31 format */</span>
  2837. <a name="l05462"></a>05462 fract = (x &amp; 0x000FFFFF) &lt;&lt; 11;
  2838. <a name="l05463"></a>05463
  2839. <a name="l05464"></a>05464 <span class="comment">/* Read two nearest output values from the index in 1.31(q31) format */</span>
  2840. <a name="l05465"></a>05465 y0 = pYData[index];
  2841. <a name="l05466"></a>05466 y1 = pYData[index + 1u];
  2842. <a name="l05467"></a>05467
  2843. <a name="l05468"></a>05468 <span class="comment">/* Calculation of y0 * (1-fract) and y is in 2.30 format */</span>
  2844. <a name="l05469"></a>05469 y = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((q63_t) y0 * (0x7FFFFFFF - fract) &gt;&gt; 32));
  2845. <a name="l05470"></a>05470
  2846. <a name="l05471"></a>05471 <span class="comment">/* Calculation of y0 * (1-fract) + y1 *fract and y is in 2.30 format */</span>
  2847. <a name="l05472"></a>05472 y += ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) y1 * fract) &gt;&gt; 32));
  2848. <a name="l05473"></a>05473
  2849. <a name="l05474"></a>05474 <span class="comment">/* Convert y to 1.31 format */</span>
  2850. <a name="l05475"></a>05475 <span class="keywordflow">return</span> (y &lt;&lt; 1u);
  2851. <a name="l05476"></a>05476
  2852. <a name="l05477"></a>05477 }
  2853. <a name="l05478"></a>05478
  2854. <a name="l05479"></a>05479 }
  2855. <a name="l05480"></a>05480
  2856. <a name="l05496"></a><a class="code" href="group___linear_interpolate.html#ga42c9206e5d2d22b8808716dc30622846">05496</a> <span class="keyword">static</span> __INLINE q15_t <a class="code" href="group___linear_interpolate.html#ga42c9206e5d2d22b8808716dc30622846" title="Process function for the Q15 Linear Interpolation Function.">arm_linear_interp_q15</a>(q15_t *pYData, q31_t x, uint32_t nValues)
  2857. <a name="l05497"></a>05497 {
  2858. <a name="l05498"></a>05498 q63_t y; <span class="comment">/* output */</span>
  2859. <a name="l05499"></a>05499 q15_t y0, y1; <span class="comment">/* Nearest output values */</span>
  2860. <a name="l05500"></a>05500 q31_t fract; <span class="comment">/* fractional part */</span>
  2861. <a name="l05501"></a>05501 int32_t index; <span class="comment">/* Index to read nearest output values */</span>
  2862. <a name="l05502"></a>05502
  2863. <a name="l05503"></a>05503 <span class="comment">/* Input is in 12.20 format */</span>
  2864. <a name="l05504"></a>05504 <span class="comment">/* 12 bits for the table index */</span>
  2865. <a name="l05505"></a>05505 <span class="comment">/* Index value calculation */</span>
  2866. <a name="l05506"></a>05506 index = ((x &amp; 0xFFF00000) &gt;&gt; 20u);
  2867. <a name="l05507"></a>05507
  2868. <a name="l05508"></a>05508 <span class="keywordflow">if</span>(index &gt;= (nValues - 1))
  2869. <a name="l05509"></a>05509 {
  2870. <a name="l05510"></a>05510 <span class="keywordflow">return</span>(pYData[nValues - 1]);
  2871. <a name="l05511"></a>05511 }
  2872. <a name="l05512"></a>05512 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(index &lt; 0)
  2873. <a name="l05513"></a>05513 {
  2874. <a name="l05514"></a>05514 <span class="keywordflow">return</span>(pYData[0]);
  2875. <a name="l05515"></a>05515 }
  2876. <a name="l05516"></a>05516 <span class="keywordflow">else</span>
  2877. <a name="l05517"></a>05517 {
  2878. <a name="l05518"></a>05518 <span class="comment">/* 20 bits for the fractional part */</span>
  2879. <a name="l05519"></a>05519 <span class="comment">/* fract is in 12.20 format */</span>
  2880. <a name="l05520"></a>05520 fract = (x &amp; 0x000FFFFF);
  2881. <a name="l05521"></a>05521
  2882. <a name="l05522"></a>05522 <span class="comment">/* Read two nearest output values from the index */</span>
  2883. <a name="l05523"></a>05523 y0 = pYData[index];
  2884. <a name="l05524"></a>05524 y1 = pYData[index + 1u];
  2885. <a name="l05525"></a>05525
  2886. <a name="l05526"></a>05526 <span class="comment">/* Calculation of y0 * (1-fract) and y is in 13.35 format */</span>
  2887. <a name="l05527"></a>05527 y = ((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) y0 * (0xFFFFF - fract));
  2888. <a name="l05528"></a>05528
  2889. <a name="l05529"></a>05529 <span class="comment">/* Calculation of (y0 * (1-fract) + y1 * fract) and y is in 13.35 format */</span>
  2890. <a name="l05530"></a>05530 y += ((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) y1 * (fract));
  2891. <a name="l05531"></a>05531
  2892. <a name="l05532"></a>05532 <span class="comment">/* convert y to 1.15 format */</span>
  2893. <a name="l05533"></a>05533 <span class="keywordflow">return</span> (y &gt;&gt; 20);
  2894. <a name="l05534"></a>05534 }
  2895. <a name="l05535"></a>05535
  2896. <a name="l05536"></a>05536
  2897. <a name="l05537"></a>05537 }
  2898. <a name="l05538"></a>05538
  2899. <a name="l05553"></a><a class="code" href="group___linear_interpolate.html#gacb0d44fe00aca0ba1d036d469a1763fc">05553</a> <span class="keyword">static</span> __INLINE q7_t <a class="code" href="group___linear_interpolate.html#gacb0d44fe00aca0ba1d036d469a1763fc" title="Process function for the Q7 Linear Interpolation Function.">arm_linear_interp_q7</a>(q7_t *pYData, q31_t x, uint32_t nValues)
  2900. <a name="l05554"></a>05554 {
  2901. <a name="l05555"></a>05555 q31_t y; <span class="comment">/* output */</span>
  2902. <a name="l05556"></a>05556 q7_t y0, y1; <span class="comment">/* Nearest output values */</span>
  2903. <a name="l05557"></a>05557 q31_t fract; <span class="comment">/* fractional part */</span>
  2904. <a name="l05558"></a>05558 int32_t index; <span class="comment">/* Index to read nearest output values */</span>
  2905. <a name="l05559"></a>05559
  2906. <a name="l05560"></a>05560 <span class="comment">/* Input is in 12.20 format */</span>
  2907. <a name="l05561"></a>05561 <span class="comment">/* 12 bits for the table index */</span>
  2908. <a name="l05562"></a>05562 <span class="comment">/* Index value calculation */</span>
  2909. <a name="l05563"></a>05563 index = ((x &amp; 0xFFF00000) &gt;&gt; 20u);
  2910. <a name="l05564"></a>05564
  2911. <a name="l05565"></a>05565
  2912. <a name="l05566"></a>05566 <span class="keywordflow">if</span>(index &gt;= (nValues - 1))
  2913. <a name="l05567"></a>05567 {
  2914. <a name="l05568"></a>05568 <span class="keywordflow">return</span>(pYData[nValues - 1]);
  2915. <a name="l05569"></a>05569 }
  2916. <a name="l05570"></a>05570 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(index &lt; 0)
  2917. <a name="l05571"></a>05571 {
  2918. <a name="l05572"></a>05572 <span class="keywordflow">return</span>(pYData[0]);
  2919. <a name="l05573"></a>05573 }
  2920. <a name="l05574"></a>05574 <span class="keywordflow">else</span>
  2921. <a name="l05575"></a>05575 {
  2922. <a name="l05576"></a>05576
  2923. <a name="l05577"></a>05577 <span class="comment">/* 20 bits for the fractional part */</span>
  2924. <a name="l05578"></a>05578 <span class="comment">/* fract is in 12.20 format */</span>
  2925. <a name="l05579"></a>05579 fract = (x &amp; 0x000FFFFF);
  2926. <a name="l05580"></a>05580
  2927. <a name="l05581"></a>05581 <span class="comment">/* Read two nearest output values from the index and are in 1.7(q7) format */</span>
  2928. <a name="l05582"></a>05582 y0 = pYData[index];
  2929. <a name="l05583"></a>05583 y1 = pYData[index + 1u];
  2930. <a name="l05584"></a>05584
  2931. <a name="l05585"></a>05585 <span class="comment">/* Calculation of y0 * (1-fract ) and y is in 13.27(q27) format */</span>
  2932. <a name="l05586"></a>05586 y = ((y0 * (0xFFFFF - fract)));
  2933. <a name="l05587"></a>05587
  2934. <a name="l05588"></a>05588 <span class="comment">/* Calculation of y1 * fract + y0 * (1-fract) and y is in 13.27(q27) format */</span>
  2935. <a name="l05589"></a>05589 y += (y1 * fract);
  2936. <a name="l05590"></a>05590
  2937. <a name="l05591"></a>05591 <span class="comment">/* convert y to 1.7(q7) format */</span>
  2938. <a name="l05592"></a>05592 <span class="keywordflow">return</span> (y &gt;&gt; 20u);
  2939. <a name="l05593"></a>05593
  2940. <a name="l05594"></a>05594 }
  2941. <a name="l05595"></a>05595
  2942. <a name="l05596"></a>05596 }
  2943. <a name="l05607"></a>05607 float32_t <a class="code" href="group__sin.html#gae164899c4a3fc0e946dc5d55555fe541" title="Fast approximation to the trigonometric sine function for floating-point data.">arm_sin_f32</a>(
  2944. <a name="l05608"></a>05608 float32_t x);
  2945. <a name="l05609"></a>05609
  2946. <a name="l05616"></a>05616 q31_t <a class="code" href="group__sin.html#ga57aade7d8892585992cdc6375bd82f9c" title="Fast approximation to the trigonometric sine function for Q31 data.">arm_sin_q31</a>(
  2947. <a name="l05617"></a>05617 q31_t x);
  2948. <a name="l05618"></a>05618
  2949. <a name="l05625"></a>05625 q15_t <a class="code" href="group__sin.html#ga1fc6d6640be6cfa688a8bea0a48397ee" title="Fast approximation to the trigonometric sine function for Q15 data.">arm_sin_q15</a>(
  2950. <a name="l05626"></a>05626 q15_t x);
  2951. <a name="l05627"></a>05627
  2952. <a name="l05634"></a>05634 float32_t <a class="code" href="group__cos.html#gace15287f9c64b9b4084d1c797d4c49d8" title="Fast approximation to the trigonometric cosine function for floating-point data.">arm_cos_f32</a>(
  2953. <a name="l05635"></a>05635 float32_t x);
  2954. <a name="l05636"></a>05636
  2955. <a name="l05643"></a>05643 q31_t <a class="code" href="group__cos.html#gad80f121949ef885a77d83ab36e002567" title="Fast approximation to the trigonometric cosine function for Q31 data.">arm_cos_q31</a>(
  2956. <a name="l05644"></a>05644 q31_t x);
  2957. <a name="l05645"></a>05645
  2958. <a name="l05652"></a>05652 q15_t <a class="code" href="group__cos.html#gadfd60c24def501638c0d5db20f4c869b" title="Fast approximation to the trigonometric cosine function for Q15 data.">arm_cos_q15</a>(
  2959. <a name="l05653"></a>05653 q15_t x);
  2960. <a name="l05654"></a>05654
  2961. <a name="l05655"></a>05655
  2962. <a name="l05695"></a><a class="code" href="group___s_q_r_t.html#ga56a40d1cf842b0b45267df6761975da0">05695</a> <span class="keyword">static</span> __INLINE <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___s_q_r_t.html#ga56a40d1cf842b0b45267df6761975da0" title="Floating-point square root function.">arm_sqrt_f32</a>(
  2963. <a name="l05696"></a>05696 float32_t in, float32_t *pOut)
  2964. <a name="l05697"></a>05697 {
  2965. <a name="l05698"></a>05698 <span class="keywordflow">if</span>(in &gt; 0)
  2966. <a name="l05699"></a>05699 {
  2967. <a name="l05700"></a>05700
  2968. <a name="l05701"></a>05701 <span class="preprocessor"> #if __FPU_USED</span>
  2969. <a name="l05702"></a>05702 <span class="preprocessor"></span> *pOut = __sqrtf(in);
  2970. <a name="l05703"></a>05703 <span class="preprocessor"> #else </span>
  2971. <a name="l05704"></a>05704 <span class="preprocessor"></span> *pOut = sqrtf(in);
  2972. <a name="l05705"></a>05705 <span class="preprocessor"> #endif</span>
  2973. <a name="l05706"></a>05706 <span class="preprocessor"></span>
  2974. <a name="l05707"></a>05707 <span class="keywordflow">return</span> (<a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a>);
  2975. <a name="l05708"></a>05708 }
  2976. <a name="l05709"></a>05709 <span class="keywordflow">else</span>
  2977. <a name="l05710"></a>05710 {
  2978. <a name="l05711"></a>05711 *pOut = 0.0f;
  2979. <a name="l05712"></a>05712 <span class="keywordflow">return</span> (<a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a74897e18d4b8f62b12a7d8a01dd2bb35">ARM_MATH_ARGUMENT_ERROR</a>);
  2980. <a name="l05713"></a>05713 }
  2981. <a name="l05714"></a>05714
  2982. <a name="l05715"></a>05715 }
  2983. <a name="l05716"></a>05716
  2984. <a name="l05717"></a>05717
  2985. <a name="l05725"></a>05725 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___s_q_r_t.html#ga119e25831e141d734d7ef10636670058" title="Q31 square root function.">arm_sqrt_q31</a>(
  2986. <a name="l05726"></a>05726 q31_t in, q31_t *pOut);
  2987. <a name="l05727"></a>05727
  2988. <a name="l05735"></a>05735 <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a class="code" href="group___s_q_r_t.html#ga5abe5ca724f3e15849662b03752c1238" title="Q15 square root function.">arm_sqrt_q15</a>(
  2989. <a name="l05736"></a>05736 q15_t in, q15_t *pOut);
  2990. <a name="l05737"></a>05737
  2991. <a name="l05751"></a><a class="code" href="arm__math_8h.html#a6ff56c0896ce00712ba8f2fcf72cacd3">05751</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="arm__math_8h.html#a6ff56c0896ce00712ba8f2fcf72cacd3" title="floating-point Circular write function.">arm_circularWrite_f32</a>(
  2992. <a name="l05752"></a>05752 int32_t * circBuffer,
  2993. <a name="l05753"></a>05753 int32_t L,
  2994. <a name="l05754"></a>05754 uint16_t * writeOffset,
  2995. <a name="l05755"></a>05755 int32_t bufferInc,
  2996. <a name="l05756"></a>05756 <span class="keyword">const</span> int32_t * src,
  2997. <a name="l05757"></a>05757 int32_t srcInc,
  2998. <a name="l05758"></a>05758 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>)
  2999. <a name="l05759"></a>05759 {
  3000. <a name="l05760"></a>05760 uint32_t i = 0u;
  3001. <a name="l05761"></a>05761 int32_t wOffset;
  3002. <a name="l05762"></a>05762
  3003. <a name="l05763"></a>05763 <span class="comment">/* Copy the value of Index pointer that points</span>
  3004. <a name="l05764"></a>05764 <span class="comment"> * to the current location where the input samples to be copied */</span>
  3005. <a name="l05765"></a>05765 wOffset = *writeOffset;
  3006. <a name="l05766"></a>05766
  3007. <a name="l05767"></a>05767 <span class="comment">/* Loop over the blockSize */</span>
  3008. <a name="l05768"></a>05768 i = <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>;
  3009. <a name="l05769"></a>05769
  3010. <a name="l05770"></a>05770 <span class="keywordflow">while</span>(i &gt; 0u)
  3011. <a name="l05771"></a>05771 {
  3012. <a name="l05772"></a>05772 <span class="comment">/* copy the input sample to the circular buffer */</span>
  3013. <a name="l05773"></a>05773 circBuffer[wOffset] = *src;
  3014. <a name="l05774"></a>05774
  3015. <a name="l05775"></a>05775 <span class="comment">/* Update the input pointer */</span>
  3016. <a name="l05776"></a>05776 src += srcInc;
  3017. <a name="l05777"></a>05777
  3018. <a name="l05778"></a>05778 <span class="comment">/* Circularly update wOffset. Watch out for positive and negative value */</span>
  3019. <a name="l05779"></a>05779 wOffset += bufferInc;
  3020. <a name="l05780"></a>05780 <span class="keywordflow">if</span>(wOffset &gt;= L)
  3021. <a name="l05781"></a>05781 wOffset -= L;
  3022. <a name="l05782"></a>05782
  3023. <a name="l05783"></a>05783 <span class="comment">/* Decrement the loop counter */</span>
  3024. <a name="l05784"></a>05784 i--;
  3025. <a name="l05785"></a>05785 }
  3026. <a name="l05786"></a>05786
  3027. <a name="l05787"></a>05787 <span class="comment">/* Update the index pointer */</span>
  3028. <a name="l05788"></a>05788 *writeOffset = wOffset;
  3029. <a name="l05789"></a>05789 }
  3030. <a name="l05790"></a>05790
  3031. <a name="l05791"></a>05791
  3032. <a name="l05792"></a>05792
  3033. <a name="l05796"></a><a class="code" href="arm__math_8h.html#ae469fac5e1df35f8bcf1b3d7c3136484">05796</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="arm__math_8h.html#ae469fac5e1df35f8bcf1b3d7c3136484" title="floating-point Circular Read function.">arm_circularRead_f32</a>(
  3034. <a name="l05797"></a>05797 int32_t * circBuffer,
  3035. <a name="l05798"></a>05798 int32_t L,
  3036. <a name="l05799"></a>05799 int32_t * readOffset,
  3037. <a name="l05800"></a>05800 int32_t bufferInc,
  3038. <a name="l05801"></a>05801 int32_t * dst,
  3039. <a name="l05802"></a>05802 int32_t * dst_base,
  3040. <a name="l05803"></a>05803 int32_t dst_length,
  3041. <a name="l05804"></a>05804 int32_t dstInc,
  3042. <a name="l05805"></a>05805 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>)
  3043. <a name="l05806"></a>05806 {
  3044. <a name="l05807"></a>05807 uint32_t i = 0u;
  3045. <a name="l05808"></a>05808 int32_t rOffset, dst_end;
  3046. <a name="l05809"></a>05809
  3047. <a name="l05810"></a>05810 <span class="comment">/* Copy the value of Index pointer that points</span>
  3048. <a name="l05811"></a>05811 <span class="comment"> * to the current location from where the input samples to be read */</span>
  3049. <a name="l05812"></a>05812 rOffset = *readOffset;
  3050. <a name="l05813"></a>05813 dst_end = (int32_t) (dst_base + dst_length);
  3051. <a name="l05814"></a>05814
  3052. <a name="l05815"></a>05815 <span class="comment">/* Loop over the blockSize */</span>
  3053. <a name="l05816"></a>05816 i = <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>;
  3054. <a name="l05817"></a>05817
  3055. <a name="l05818"></a>05818 <span class="keywordflow">while</span>(i &gt; 0u)
  3056. <a name="l05819"></a>05819 {
  3057. <a name="l05820"></a>05820 <span class="comment">/* copy the sample from the circular buffer to the destination buffer */</span>
  3058. <a name="l05821"></a>05821 *dst = circBuffer[rOffset];
  3059. <a name="l05822"></a>05822
  3060. <a name="l05823"></a>05823 <span class="comment">/* Update the input pointer */</span>
  3061. <a name="l05824"></a>05824 dst += dstInc;
  3062. <a name="l05825"></a>05825
  3063. <a name="l05826"></a>05826 <span class="keywordflow">if</span>(dst == (int32_t *) dst_end)
  3064. <a name="l05827"></a>05827 {
  3065. <a name="l05828"></a>05828 dst = dst_base;
  3066. <a name="l05829"></a>05829 }
  3067. <a name="l05830"></a>05830
  3068. <a name="l05831"></a>05831 <span class="comment">/* Circularly update rOffset. Watch out for positive and negative value */</span>
  3069. <a name="l05832"></a>05832 rOffset += bufferInc;
  3070. <a name="l05833"></a>05833
  3071. <a name="l05834"></a>05834 <span class="keywordflow">if</span>(rOffset &gt;= L)
  3072. <a name="l05835"></a>05835 {
  3073. <a name="l05836"></a>05836 rOffset -= L;
  3074. <a name="l05837"></a>05837 }
  3075. <a name="l05838"></a>05838
  3076. <a name="l05839"></a>05839 <span class="comment">/* Decrement the loop counter */</span>
  3077. <a name="l05840"></a>05840 i--;
  3078. <a name="l05841"></a>05841 }
  3079. <a name="l05842"></a>05842
  3080. <a name="l05843"></a>05843 <span class="comment">/* Update the index pointer */</span>
  3081. <a name="l05844"></a>05844 *readOffset = rOffset;
  3082. <a name="l05845"></a>05845 }
  3083. <a name="l05846"></a>05846
  3084. <a name="l05851"></a><a class="code" href="arm__math_8h.html#a3ba2d215477e692def7fda46dda883ed">05851</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="arm__math_8h.html#a3ba2d215477e692def7fda46dda883ed" title="Q15 Circular write function.">arm_circularWrite_q15</a>(
  3085. <a name="l05852"></a>05852 q15_t * circBuffer,
  3086. <a name="l05853"></a>05853 int32_t L,
  3087. <a name="l05854"></a>05854 uint16_t * writeOffset,
  3088. <a name="l05855"></a>05855 int32_t bufferInc,
  3089. <a name="l05856"></a>05856 <span class="keyword">const</span> q15_t * src,
  3090. <a name="l05857"></a>05857 int32_t srcInc,
  3091. <a name="l05858"></a>05858 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>)
  3092. <a name="l05859"></a>05859 {
  3093. <a name="l05860"></a>05860 uint32_t i = 0u;
  3094. <a name="l05861"></a>05861 int32_t wOffset;
  3095. <a name="l05862"></a>05862
  3096. <a name="l05863"></a>05863 <span class="comment">/* Copy the value of Index pointer that points</span>
  3097. <a name="l05864"></a>05864 <span class="comment"> * to the current location where the input samples to be copied */</span>
  3098. <a name="l05865"></a>05865 wOffset = *writeOffset;
  3099. <a name="l05866"></a>05866
  3100. <a name="l05867"></a>05867 <span class="comment">/* Loop over the blockSize */</span>
  3101. <a name="l05868"></a>05868 i = <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>;
  3102. <a name="l05869"></a>05869
  3103. <a name="l05870"></a>05870 <span class="keywordflow">while</span>(i &gt; 0u)
  3104. <a name="l05871"></a>05871 {
  3105. <a name="l05872"></a>05872 <span class="comment">/* copy the input sample to the circular buffer */</span>
  3106. <a name="l05873"></a>05873 circBuffer[wOffset] = *src;
  3107. <a name="l05874"></a>05874
  3108. <a name="l05875"></a>05875 <span class="comment">/* Update the input pointer */</span>
  3109. <a name="l05876"></a>05876 src += srcInc;
  3110. <a name="l05877"></a>05877
  3111. <a name="l05878"></a>05878 <span class="comment">/* Circularly update wOffset. Watch out for positive and negative value */</span>
  3112. <a name="l05879"></a>05879 wOffset += bufferInc;
  3113. <a name="l05880"></a>05880 <span class="keywordflow">if</span>(wOffset &gt;= L)
  3114. <a name="l05881"></a>05881 wOffset -= L;
  3115. <a name="l05882"></a>05882
  3116. <a name="l05883"></a>05883 <span class="comment">/* Decrement the loop counter */</span>
  3117. <a name="l05884"></a>05884 i--;
  3118. <a name="l05885"></a>05885 }
  3119. <a name="l05886"></a>05886
  3120. <a name="l05887"></a>05887 <span class="comment">/* Update the index pointer */</span>
  3121. <a name="l05888"></a>05888 *writeOffset = wOffset;
  3122. <a name="l05889"></a>05889 }
  3123. <a name="l05890"></a>05890
  3124. <a name="l05891"></a>05891
  3125. <a name="l05892"></a>05892
  3126. <a name="l05896"></a><a class="code" href="arm__math_8h.html#ad5fb134f83f2c802261f172e3dceb131">05896</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="arm__math_8h.html#ad5fb134f83f2c802261f172e3dceb131" title="Q15 Circular Read function.">arm_circularRead_q15</a>(
  3127. <a name="l05897"></a>05897 q15_t * circBuffer,
  3128. <a name="l05898"></a>05898 int32_t L,
  3129. <a name="l05899"></a>05899 int32_t * readOffset,
  3130. <a name="l05900"></a>05900 int32_t bufferInc,
  3131. <a name="l05901"></a>05901 q15_t * dst,
  3132. <a name="l05902"></a>05902 q15_t * dst_base,
  3133. <a name="l05903"></a>05903 int32_t dst_length,
  3134. <a name="l05904"></a>05904 int32_t dstInc,
  3135. <a name="l05905"></a>05905 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>)
  3136. <a name="l05906"></a>05906 {
  3137. <a name="l05907"></a>05907 uint32_t i = 0;
  3138. <a name="l05908"></a>05908 int32_t rOffset, dst_end;
  3139. <a name="l05909"></a>05909
  3140. <a name="l05910"></a>05910 <span class="comment">/* Copy the value of Index pointer that points</span>
  3141. <a name="l05911"></a>05911 <span class="comment"> * to the current location from where the input samples to be read */</span>
  3142. <a name="l05912"></a>05912 rOffset = *readOffset;
  3143. <a name="l05913"></a>05913
  3144. <a name="l05914"></a>05914 dst_end = (int32_t) (dst_base + dst_length);
  3145. <a name="l05915"></a>05915
  3146. <a name="l05916"></a>05916 <span class="comment">/* Loop over the blockSize */</span>
  3147. <a name="l05917"></a>05917 i = <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>;
  3148. <a name="l05918"></a>05918
  3149. <a name="l05919"></a>05919 <span class="keywordflow">while</span>(i &gt; 0u)
  3150. <a name="l05920"></a>05920 {
  3151. <a name="l05921"></a>05921 <span class="comment">/* copy the sample from the circular buffer to the destination buffer */</span>
  3152. <a name="l05922"></a>05922 *dst = circBuffer[rOffset];
  3153. <a name="l05923"></a>05923
  3154. <a name="l05924"></a>05924 <span class="comment">/* Update the input pointer */</span>
  3155. <a name="l05925"></a>05925 dst += dstInc;
  3156. <a name="l05926"></a>05926
  3157. <a name="l05927"></a>05927 <span class="keywordflow">if</span>(dst == (q15_t *) dst_end)
  3158. <a name="l05928"></a>05928 {
  3159. <a name="l05929"></a>05929 dst = dst_base;
  3160. <a name="l05930"></a>05930 }
  3161. <a name="l05931"></a>05931
  3162. <a name="l05932"></a>05932 <span class="comment">/* Circularly update wOffset. Watch out for positive and negative value */</span>
  3163. <a name="l05933"></a>05933 rOffset += bufferInc;
  3164. <a name="l05934"></a>05934
  3165. <a name="l05935"></a>05935 <span class="keywordflow">if</span>(rOffset &gt;= L)
  3166. <a name="l05936"></a>05936 {
  3167. <a name="l05937"></a>05937 rOffset -= L;
  3168. <a name="l05938"></a>05938 }
  3169. <a name="l05939"></a>05939
  3170. <a name="l05940"></a>05940 <span class="comment">/* Decrement the loop counter */</span>
  3171. <a name="l05941"></a>05941 i--;
  3172. <a name="l05942"></a>05942 }
  3173. <a name="l05943"></a>05943
  3174. <a name="l05944"></a>05944 <span class="comment">/* Update the index pointer */</span>
  3175. <a name="l05945"></a>05945 *readOffset = rOffset;
  3176. <a name="l05946"></a>05946 }
  3177. <a name="l05947"></a>05947
  3178. <a name="l05948"></a>05948
  3179. <a name="l05953"></a><a class="code" href="arm__math_8h.html#addba85b1f7fbd472fd00ddd9ce43aea8">05953</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="arm__math_8h.html#addba85b1f7fbd472fd00ddd9ce43aea8" title="Q7 Circular write function.">arm_circularWrite_q7</a>(
  3180. <a name="l05954"></a>05954 q7_t * circBuffer,
  3181. <a name="l05955"></a>05955 int32_t L,
  3182. <a name="l05956"></a>05956 uint16_t * writeOffset,
  3183. <a name="l05957"></a>05957 int32_t bufferInc,
  3184. <a name="l05958"></a>05958 <span class="keyword">const</span> q7_t * src,
  3185. <a name="l05959"></a>05959 int32_t srcInc,
  3186. <a name="l05960"></a>05960 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>)
  3187. <a name="l05961"></a>05961 {
  3188. <a name="l05962"></a>05962 uint32_t i = 0u;
  3189. <a name="l05963"></a>05963 int32_t wOffset;
  3190. <a name="l05964"></a>05964
  3191. <a name="l05965"></a>05965 <span class="comment">/* Copy the value of Index pointer that points</span>
  3192. <a name="l05966"></a>05966 <span class="comment"> * to the current location where the input samples to be copied */</span>
  3193. <a name="l05967"></a>05967 wOffset = *writeOffset;
  3194. <a name="l05968"></a>05968
  3195. <a name="l05969"></a>05969 <span class="comment">/* Loop over the blockSize */</span>
  3196. <a name="l05970"></a>05970 i = <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>;
  3197. <a name="l05971"></a>05971
  3198. <a name="l05972"></a>05972 <span class="keywordflow">while</span>(i &gt; 0u)
  3199. <a name="l05973"></a>05973 {
  3200. <a name="l05974"></a>05974 <span class="comment">/* copy the input sample to the circular buffer */</span>
  3201. <a name="l05975"></a>05975 circBuffer[wOffset] = *src;
  3202. <a name="l05976"></a>05976
  3203. <a name="l05977"></a>05977 <span class="comment">/* Update the input pointer */</span>
  3204. <a name="l05978"></a>05978 src += srcInc;
  3205. <a name="l05979"></a>05979
  3206. <a name="l05980"></a>05980 <span class="comment">/* Circularly update wOffset. Watch out for positive and negative value */</span>
  3207. <a name="l05981"></a>05981 wOffset += bufferInc;
  3208. <a name="l05982"></a>05982 <span class="keywordflow">if</span>(wOffset &gt;= L)
  3209. <a name="l05983"></a>05983 wOffset -= L;
  3210. <a name="l05984"></a>05984
  3211. <a name="l05985"></a>05985 <span class="comment">/* Decrement the loop counter */</span>
  3212. <a name="l05986"></a>05986 i--;
  3213. <a name="l05987"></a>05987 }
  3214. <a name="l05988"></a>05988
  3215. <a name="l05989"></a>05989 <span class="comment">/* Update the index pointer */</span>
  3216. <a name="l05990"></a>05990 *writeOffset = wOffset;
  3217. <a name="l05991"></a>05991 }
  3218. <a name="l05992"></a>05992
  3219. <a name="l05993"></a>05993
  3220. <a name="l05994"></a>05994
  3221. <a name="l05998"></a><a class="code" href="arm__math_8h.html#a30aa80ea20abe71f3afa99f2f0391ed5">05998</a> <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="arm__math_8h.html#a30aa80ea20abe71f3afa99f2f0391ed5" title="Q7 Circular Read function.">arm_circularRead_q7</a>(
  3222. <a name="l05999"></a>05999 q7_t * circBuffer,
  3223. <a name="l06000"></a>06000 int32_t L,
  3224. <a name="l06001"></a>06001 int32_t * readOffset,
  3225. <a name="l06002"></a>06002 int32_t bufferInc,
  3226. <a name="l06003"></a>06003 q7_t * dst,
  3227. <a name="l06004"></a>06004 q7_t * dst_base,
  3228. <a name="l06005"></a>06005 int32_t dst_length,
  3229. <a name="l06006"></a>06006 int32_t dstInc,
  3230. <a name="l06007"></a>06007 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>)
  3231. <a name="l06008"></a>06008 {
  3232. <a name="l06009"></a>06009 uint32_t i = 0;
  3233. <a name="l06010"></a>06010 int32_t rOffset, dst_end;
  3234. <a name="l06011"></a>06011
  3235. <a name="l06012"></a>06012 <span class="comment">/* Copy the value of Index pointer that points</span>
  3236. <a name="l06013"></a>06013 <span class="comment"> * to the current location from where the input samples to be read */</span>
  3237. <a name="l06014"></a>06014 rOffset = *readOffset;
  3238. <a name="l06015"></a>06015
  3239. <a name="l06016"></a>06016 dst_end = (int32_t) (dst_base + dst_length);
  3240. <a name="l06017"></a>06017
  3241. <a name="l06018"></a>06018 <span class="comment">/* Loop over the blockSize */</span>
  3242. <a name="l06019"></a>06019 i = <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>;
  3243. <a name="l06020"></a>06020
  3244. <a name="l06021"></a>06021 <span class="keywordflow">while</span>(i &gt; 0u)
  3245. <a name="l06022"></a>06022 {
  3246. <a name="l06023"></a>06023 <span class="comment">/* copy the sample from the circular buffer to the destination buffer */</span>
  3247. <a name="l06024"></a>06024 *dst = circBuffer[rOffset];
  3248. <a name="l06025"></a>06025
  3249. <a name="l06026"></a>06026 <span class="comment">/* Update the input pointer */</span>
  3250. <a name="l06027"></a>06027 dst += dstInc;
  3251. <a name="l06028"></a>06028
  3252. <a name="l06029"></a>06029 <span class="keywordflow">if</span>(dst == (q7_t *) dst_end)
  3253. <a name="l06030"></a>06030 {
  3254. <a name="l06031"></a>06031 dst = dst_base;
  3255. <a name="l06032"></a>06032 }
  3256. <a name="l06033"></a>06033
  3257. <a name="l06034"></a>06034 <span class="comment">/* Circularly update rOffset. Watch out for positive and negative value */</span>
  3258. <a name="l06035"></a>06035 rOffset += bufferInc;
  3259. <a name="l06036"></a>06036
  3260. <a name="l06037"></a>06037 <span class="keywordflow">if</span>(rOffset &gt;= L)
  3261. <a name="l06038"></a>06038 {
  3262. <a name="l06039"></a>06039 rOffset -= L;
  3263. <a name="l06040"></a>06040 }
  3264. <a name="l06041"></a>06041
  3265. <a name="l06042"></a>06042 <span class="comment">/* Decrement the loop counter */</span>
  3266. <a name="l06043"></a>06043 i--;
  3267. <a name="l06044"></a>06044 }
  3268. <a name="l06045"></a>06045
  3269. <a name="l06046"></a>06046 <span class="comment">/* Update the index pointer */</span>
  3270. <a name="l06047"></a>06047 *readOffset = rOffset;
  3271. <a name="l06048"></a>06048 }
  3272. <a name="l06049"></a>06049
  3273. <a name="l06050"></a>06050
  3274. <a name="l06059"></a>06059 <span class="keywordtype">void</span> <a class="code" href="group__power.html#ga0b93d31bb5b5ed214c2b94d8a7744cd2" title="Sum of the squares of the elements of a Q31 vector.">arm_power_q31</a>(
  3275. <a name="l06060"></a>06060 q31_t * pSrc,
  3276. <a name="l06061"></a>06061 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3277. <a name="l06062"></a>06062 q63_t * pResult);
  3278. <a name="l06063"></a>06063
  3279. <a name="l06072"></a>06072 <span class="keywordtype">void</span> <a class="code" href="group__power.html#ga993c00dd7f661d66bdb6e58426e893aa" title="Sum of the squares of the elements of a floating-point vector.">arm_power_f32</a>(
  3280. <a name="l06073"></a>06073 float32_t * pSrc,
  3281. <a name="l06074"></a>06074 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3282. <a name="l06075"></a>06075 float32_t * pResult);
  3283. <a name="l06076"></a>06076
  3284. <a name="l06085"></a>06085 <span class="keywordtype">void</span> <a class="code" href="group__power.html#ga7050c04b7515e01a75c38f1abbaf71ba" title="Sum of the squares of the elements of a Q15 vector.">arm_power_q15</a>(
  3285. <a name="l06086"></a>06086 q15_t * pSrc,
  3286. <a name="l06087"></a>06087 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3287. <a name="l06088"></a>06088 q63_t * pResult);
  3288. <a name="l06089"></a>06089
  3289. <a name="l06098"></a>06098 <span class="keywordtype">void</span> <a class="code" href="group__power.html#gaf969c85c5655e3d72d7b99ff188f92c9" title="Sum of the squares of the elements of a Q7 vector.">arm_power_q7</a>(
  3290. <a name="l06099"></a>06099 q7_t * pSrc,
  3291. <a name="l06100"></a>06100 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3292. <a name="l06101"></a>06101 q31_t * pResult);
  3293. <a name="l06102"></a>06102
  3294. <a name="l06111"></a>06111 <span class="keywordtype">void</span> <a class="code" href="group__mean.html#gaebc707ee539020357c25da4c75b52eb7" title="Mean value of a Q7 vector.">arm_mean_q7</a>(
  3295. <a name="l06112"></a>06112 q7_t * pSrc,
  3296. <a name="l06113"></a>06113 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3297. <a name="l06114"></a>06114 q7_t * pResult);
  3298. <a name="l06115"></a>06115
  3299. <a name="l06123"></a>06123 <span class="keywordtype">void</span> <a class="code" href="group__mean.html#gac882495d5f098819fd3939c1ef7795b3" title="Mean value of a Q15 vector.">arm_mean_q15</a>(
  3300. <a name="l06124"></a>06124 q15_t * pSrc,
  3301. <a name="l06125"></a>06125 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3302. <a name="l06126"></a>06126 q15_t * pResult);
  3303. <a name="l06127"></a>06127
  3304. <a name="l06135"></a>06135 <span class="keywordtype">void</span> <a class="code" href="group__mean.html#gacf2526d8c2d75e486e8f0b0e31877ad0" title="Mean value of a Q31 vector.">arm_mean_q31</a>(
  3305. <a name="l06136"></a>06136 q31_t * pSrc,
  3306. <a name="l06137"></a>06137 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3307. <a name="l06138"></a>06138 q31_t * pResult);
  3308. <a name="l06139"></a>06139
  3309. <a name="l06147"></a>06147 <span class="keywordtype">void</span> <a class="code" href="group__mean.html#ga74ce08c49ab61e57bd50c3a0ca1fdb2b" title="Mean value of a floating-point vector.">arm_mean_f32</a>(
  3310. <a name="l06148"></a>06148 float32_t * pSrc,
  3311. <a name="l06149"></a>06149 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3312. <a name="l06150"></a>06150 float32_t * pResult);
  3313. <a name="l06151"></a>06151
  3314. <a name="l06160"></a>06160 <span class="keywordtype">void</span> <a class="code" href="group__variance.html#ga393f26c5a3bfa05624fb8d32232a6d96" title="Variance of the elements of a floating-point vector.">arm_var_f32</a>(
  3315. <a name="l06161"></a>06161 float32_t * pSrc,
  3316. <a name="l06162"></a>06162 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3317. <a name="l06163"></a>06163 float32_t * pResult);
  3318. <a name="l06164"></a>06164
  3319. <a name="l06173"></a>06173 <span class="keywordtype">void</span> <a class="code" href="group__variance.html#ga353e4c924e707ab9ee7687d28094a668" title="Variance of the elements of a Q31 vector.">arm_var_q31</a>(
  3320. <a name="l06174"></a>06174 q31_t * pSrc,
  3321. <a name="l06175"></a>06175 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3322. <a name="l06176"></a>06176 q63_t * pResult);
  3323. <a name="l06177"></a>06177
  3324. <a name="l06186"></a>06186 <span class="keywordtype">void</span> <a class="code" href="group__variance.html#ga957b23ddcc2e0883461797ebf8a2cf1f" title="Variance of the elements of a Q15 vector.">arm_var_q15</a>(
  3325. <a name="l06187"></a>06187 q15_t * pSrc,
  3326. <a name="l06188"></a>06188 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3327. <a name="l06189"></a>06189 q31_t * pResult);
  3328. <a name="l06190"></a>06190
  3329. <a name="l06199"></a>06199 <span class="keywordtype">void</span> <a class="code" href="group___r_m_s.html#ga0e3ab1b57da32d45388d1fa90d7fd88c" title="Root Mean Square of the elements of a floating-point vector.">arm_rms_f32</a>(
  3330. <a name="l06200"></a>06200 float32_t * pSrc,
  3331. <a name="l06201"></a>06201 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3332. <a name="l06202"></a>06202 float32_t * pResult);
  3333. <a name="l06203"></a>06203
  3334. <a name="l06212"></a>06212 <span class="keywordtype">void</span> <a class="code" href="group___r_m_s.html#gae33015fda23fc44e7ead5e5ed7e8d314" title="Root Mean Square of the elements of a Q31 vector.">arm_rms_q31</a>(
  3335. <a name="l06213"></a>06213 q31_t * pSrc,
  3336. <a name="l06214"></a>06214 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3337. <a name="l06215"></a>06215 q31_t * pResult);
  3338. <a name="l06216"></a>06216
  3339. <a name="l06225"></a>06225 <span class="keywordtype">void</span> <a class="code" href="group___r_m_s.html#gaf5b836b72dda9e5dfbbd17c7906fd13f" title="Root Mean Square of the elements of a Q15 vector.">arm_rms_q15</a>(
  3340. <a name="l06226"></a>06226 q15_t * pSrc,
  3341. <a name="l06227"></a>06227 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3342. <a name="l06228"></a>06228 q15_t * pResult);
  3343. <a name="l06229"></a>06229
  3344. <a name="l06238"></a>06238 <span class="keywordtype">void</span> <a class="code" href="group___s_t_d.html#ga4969b5b5f3d001377bc401a3ee99dfc2" title="Standard deviation of the elements of a floating-point vector.">arm_std_f32</a>(
  3345. <a name="l06239"></a>06239 float32_t * pSrc,
  3346. <a name="l06240"></a>06240 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3347. <a name="l06241"></a>06241 float32_t * pResult);
  3348. <a name="l06242"></a>06242
  3349. <a name="l06251"></a>06251 <span class="keywordtype">void</span> <a class="code" href="group___s_t_d.html#ga39495e74f96116178be085c9dc7742f5" title="Standard deviation of the elements of a Q31 vector.">arm_std_q31</a>(
  3350. <a name="l06252"></a>06252 q31_t * pSrc,
  3351. <a name="l06253"></a>06253 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3352. <a name="l06254"></a>06254 q31_t * pResult);
  3353. <a name="l06255"></a>06255
  3354. <a name="l06264"></a>06264 <span class="keywordtype">void</span> <a class="code" href="group___s_t_d.html#gaf9d27afa9928ff28a63cd98ea9218a72" title="Standard deviation of the elements of a Q15 vector.">arm_std_q15</a>(
  3355. <a name="l06265"></a>06265 q15_t * pSrc,
  3356. <a name="l06266"></a>06266 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3357. <a name="l06267"></a>06267 q15_t * pResult);
  3358. <a name="l06268"></a>06268
  3359. <a name="l06277"></a>06277 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__mag.html#gae45024c497392cde2ae358a76d435213" title="Floating-point complex magnitude.">arm_cmplx_mag_f32</a>(
  3360. <a name="l06278"></a>06278 float32_t * pSrc,
  3361. <a name="l06279"></a>06279 float32_t * pDst,
  3362. <a name="l06280"></a>06280 uint32_t numSamples);
  3363. <a name="l06281"></a>06281
  3364. <a name="l06290"></a>06290 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__mag.html#ga14f82f9230e9d96d5b9774e2fefcb7be" title="Q31 complex magnitude.">arm_cmplx_mag_q31</a>(
  3365. <a name="l06291"></a>06291 q31_t * pSrc,
  3366. <a name="l06292"></a>06292 q31_t * pDst,
  3367. <a name="l06293"></a>06293 uint32_t numSamples);
  3368. <a name="l06294"></a>06294
  3369. <a name="l06303"></a>06303 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__mag.html#ga0a4a8f77a6a51d9b3f3b9d729f85b7a4" title="Q15 complex magnitude.">arm_cmplx_mag_q15</a>(
  3370. <a name="l06304"></a>06304 q15_t * pSrc,
  3371. <a name="l06305"></a>06305 q15_t * pDst,
  3372. <a name="l06306"></a>06306 uint32_t numSamples);
  3373. <a name="l06307"></a>06307
  3374. <a name="l06318"></a>06318 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__dot__prod.html#ga2b08b5e8001d2c15204639d00893fc70" title="Q15 complex dot product.">arm_cmplx_dot_prod_q15</a>(
  3375. <a name="l06319"></a>06319 q15_t * pSrcA,
  3376. <a name="l06320"></a>06320 q15_t * pSrcB,
  3377. <a name="l06321"></a>06321 uint32_t numSamples,
  3378. <a name="l06322"></a>06322 q31_t * realResult,
  3379. <a name="l06323"></a>06323 q31_t * imagResult);
  3380. <a name="l06324"></a>06324
  3381. <a name="l06335"></a>06335 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__dot__prod.html#ga5b731a59db062a9ad84562ef68a6c8af" title="Q31 complex dot product.">arm_cmplx_dot_prod_q31</a>(
  3382. <a name="l06336"></a>06336 q31_t * pSrcA,
  3383. <a name="l06337"></a>06337 q31_t * pSrcB,
  3384. <a name="l06338"></a>06338 uint32_t numSamples,
  3385. <a name="l06339"></a>06339 q63_t * realResult,
  3386. <a name="l06340"></a>06340 q63_t * imagResult);
  3387. <a name="l06341"></a>06341
  3388. <a name="l06352"></a>06352 <span class="keywordtype">void</span> <a class="code" href="group__cmplx__dot__prod.html#gadcfaf567a25eb641da4043eafb9bb076" title="Floating-point complex dot product.">arm_cmplx_dot_prod_f32</a>(
  3389. <a name="l06353"></a>06353 float32_t * pSrcA,
  3390. <a name="l06354"></a>06354 float32_t * pSrcB,
  3391. <a name="l06355"></a>06355 uint32_t numSamples,
  3392. <a name="l06356"></a>06356 float32_t * realResult,
  3393. <a name="l06357"></a>06357 float32_t * imagResult);
  3394. <a name="l06358"></a>06358
  3395. <a name="l06368"></a>06368 <span class="keywordtype">void</span> <a class="code" href="group___cmplx_by_real_mult.html#ga3bd8889dcb45980e1d3e53344df54e85" title="Q15 complex-by-real multiplication.">arm_cmplx_mult_real_q15</a>(
  3396. <a name="l06369"></a>06369 q15_t * pSrcCmplx,
  3397. <a name="l06370"></a>06370 q15_t * pSrcReal,
  3398. <a name="l06371"></a>06371 q15_t * pCmplxDst,
  3399. <a name="l06372"></a>06372 uint32_t numSamples);
  3400. <a name="l06373"></a>06373
  3401. <a name="l06383"></a>06383 <span class="keywordtype">void</span> <a class="code" href="group___cmplx_by_real_mult.html#ga715e4bb8e945b8ca51ec5237611697ce" title="Q31 complex-by-real multiplication.">arm_cmplx_mult_real_q31</a>(
  3402. <a name="l06384"></a>06384 q31_t * pSrcCmplx,
  3403. <a name="l06385"></a>06385 q31_t * pSrcReal,
  3404. <a name="l06386"></a>06386 q31_t * pCmplxDst,
  3405. <a name="l06387"></a>06387 uint32_t numSamples);
  3406. <a name="l06388"></a>06388
  3407. <a name="l06398"></a>06398 <span class="keywordtype">void</span> <a class="code" href="group___cmplx_by_real_mult.html#ga9c18616f56cb4d3c0889ce0b339221ca" title="Floating-point complex-by-real multiplication.">arm_cmplx_mult_real_f32</a>(
  3408. <a name="l06399"></a>06399 float32_t * pSrcCmplx,
  3409. <a name="l06400"></a>06400 float32_t * pSrcReal,
  3410. <a name="l06401"></a>06401 float32_t * pCmplxDst,
  3411. <a name="l06402"></a>06402 uint32_t numSamples);
  3412. <a name="l06403"></a>06403
  3413. <a name="l06413"></a>06413 <span class="keywordtype">void</span> <a class="code" href="group___min.html#ga3631d38ac8d715fc14f6f1b343f4c4ed" title="Minimum value of a Q7 vector.">arm_min_q7</a>(
  3414. <a name="l06414"></a>06414 q7_t * pSrc,
  3415. <a name="l06415"></a>06415 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3416. <a name="l06416"></a>06416 q7_t * result,
  3417. <a name="l06417"></a>06417 uint32_t * index);
  3418. <a name="l06418"></a>06418
  3419. <a name="l06428"></a>06428 <span class="keywordtype">void</span> <a class="code" href="group___min.html#gad065e37535ebb726750ac1545cb3fa6f" title="Minimum value of a Q15 vector.">arm_min_q15</a>(
  3420. <a name="l06429"></a>06429 q15_t * pSrc,
  3421. <a name="l06430"></a>06430 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3422. <a name="l06431"></a>06431 q15_t * pResult,
  3423. <a name="l06432"></a>06432 uint32_t * pIndex);
  3424. <a name="l06433"></a>06433
  3425. <a name="l06442"></a>06442 <span class="keywordtype">void</span> <a class="code" href="group___min.html#gab20faeceb5ff5d2d9dd628c2ecf41303" title="Minimum value of a Q31 vector.">arm_min_q31</a>(
  3426. <a name="l06443"></a>06443 q31_t * pSrc,
  3427. <a name="l06444"></a>06444 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3428. <a name="l06445"></a>06445 q31_t * pResult,
  3429. <a name="l06446"></a>06446 uint32_t * pIndex);
  3430. <a name="l06447"></a>06447
  3431. <a name="l06457"></a>06457 <span class="keywordtype">void</span> <a class="code" href="group___min.html#gaf62b1673740fc516ea64daf777b7d74a" title="Minimum value of a floating-point vector.">arm_min_f32</a>(
  3432. <a name="l06458"></a>06458 float32_t * pSrc,
  3433. <a name="l06459"></a>06459 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3434. <a name="l06460"></a>06460 float32_t * pResult,
  3435. <a name="l06461"></a>06461 uint32_t * pIndex);
  3436. <a name="l06462"></a>06462
  3437. <a name="l06472"></a>06472 <span class="keywordtype">void</span> <a class="code" href="group___max.html#ga6afd64d381b5c232de59163ebfe71e35" title="Maximum value of a Q7 vector.">arm_max_q7</a>(
  3438. <a name="l06473"></a>06473 q7_t * pSrc,
  3439. <a name="l06474"></a>06474 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3440. <a name="l06475"></a>06475 q7_t * pResult,
  3441. <a name="l06476"></a>06476 uint32_t * pIndex);
  3442. <a name="l06477"></a>06477
  3443. <a name="l06487"></a>06487 <span class="keywordtype">void</span> <a class="code" href="group___max.html#gac132856c68f4bf2a056eaad5921c7880" title="Maximum value of a Q15 vector.">arm_max_q15</a>(
  3444. <a name="l06488"></a>06488 q15_t * pSrc,
  3445. <a name="l06489"></a>06489 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3446. <a name="l06490"></a>06490 q15_t * pResult,
  3447. <a name="l06491"></a>06491 uint32_t * pIndex);
  3448. <a name="l06492"></a>06492
  3449. <a name="l06502"></a>06502 <span class="keywordtype">void</span> <a class="code" href="group___max.html#gaff7cbd4e955382def06724cc4cc85795" title="Maximum value of a Q31 vector.">arm_max_q31</a>(
  3450. <a name="l06503"></a>06503 q31_t * pSrc,
  3451. <a name="l06504"></a>06504 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3452. <a name="l06505"></a>06505 q31_t * pResult,
  3453. <a name="l06506"></a>06506 uint32_t * pIndex);
  3454. <a name="l06507"></a>06507
  3455. <a name="l06517"></a>06517 <span class="keywordtype">void</span> <a class="code" href="group___max.html#ga5b89d1b04575aeec494f678695fb87d8" title="Maximum value of a floating-point vector.">arm_max_f32</a>(
  3456. <a name="l06518"></a>06518 float32_t * pSrc,
  3457. <a name="l06519"></a>06519 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>,
  3458. <a name="l06520"></a>06520 float32_t * pResult,
  3459. <a name="l06521"></a>06521 uint32_t * pIndex);
  3460. <a name="l06522"></a>06522
  3461. <a name="l06532"></a>06532 <span class="keywordtype">void</span> <a class="code" href="group___cmplx_by_cmplx_mult.html#ga67e96abfc9c3e30efb70a2ec9d0fe7e8" title="Q15 complex-by-complex multiplication.">arm_cmplx_mult_cmplx_q15</a>(
  3462. <a name="l06533"></a>06533 q15_t * pSrcA,
  3463. <a name="l06534"></a>06534 q15_t * pSrcB,
  3464. <a name="l06535"></a>06535 q15_t * pDst,
  3465. <a name="l06536"></a>06536 uint32_t numSamples);
  3466. <a name="l06537"></a>06537
  3467. <a name="l06547"></a>06547 <span class="keywordtype">void</span> <a class="code" href="group___cmplx_by_cmplx_mult.html#ga1829e50993a90742de225a0ce4213838" title="Q31 complex-by-complex multiplication.">arm_cmplx_mult_cmplx_q31</a>(
  3468. <a name="l06548"></a>06548 q31_t * pSrcA,
  3469. <a name="l06549"></a>06549 q31_t * pSrcB,
  3470. <a name="l06550"></a>06550 q31_t * pDst,
  3471. <a name="l06551"></a>06551 uint32_t numSamples);
  3472. <a name="l06552"></a>06552
  3473. <a name="l06562"></a>06562 <span class="keywordtype">void</span> <a class="code" href="group___cmplx_by_cmplx_mult.html#ga14b47080054a1ba1250a86805be1ff6b" title="Floating-point complex-by-complex multiplication.">arm_cmplx_mult_cmplx_f32</a>(
  3474. <a name="l06563"></a>06563 float32_t * pSrcA,
  3475. <a name="l06564"></a>06564 float32_t * pSrcB,
  3476. <a name="l06565"></a>06565 float32_t * pDst,
  3477. <a name="l06566"></a>06566 uint32_t numSamples);
  3478. <a name="l06567"></a>06567
  3479. <a name="l06575"></a>06575 <span class="keywordtype">void</span> <a class="code" href="group__float__to__x.html#ga177704107f94564e9abe4daaa36f4554" title="Converts the elements of the floating-point vector to Q31 vector.">arm_float_to_q31</a>(
  3480. <a name="l06576"></a>06576 float32_t * pSrc,
  3481. <a name="l06577"></a>06577 q31_t * pDst,
  3482. <a name="l06578"></a>06578 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3483. <a name="l06579"></a>06579
  3484. <a name="l06587"></a>06587 <span class="keywordtype">void</span> <a class="code" href="group__float__to__x.html#ga215456e35a18db86882e1d3f0d24e1f2" title="Converts the elements of the floating-point vector to Q15 vector.">arm_float_to_q15</a>(
  3485. <a name="l06588"></a>06588 float32_t * pSrc,
  3486. <a name="l06589"></a>06589 q15_t * pDst,
  3487. <a name="l06590"></a>06590 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3488. <a name="l06591"></a>06591
  3489. <a name="l06599"></a>06599 <span class="keywordtype">void</span> <a class="code" href="group__float__to__x.html#ga44a393818cdee8dce80f2d66add25411" title="Converts the elements of the floating-point vector to Q7 vector.">arm_float_to_q7</a>(
  3490. <a name="l06600"></a>06600 float32_t * pSrc,
  3491. <a name="l06601"></a>06601 q7_t * pDst,
  3492. <a name="l06602"></a>06602 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3493. <a name="l06603"></a>06603
  3494. <a name="l06604"></a>06604
  3495. <a name="l06612"></a>06612 <span class="keywordtype">void</span> <a class="code" href="group__q31__to__x.html#ga901dede4661365c9e7c630d3eb31c32c" title="Converts the elements of the Q31 vector to Q15 vector.">arm_q31_to_q15</a>(
  3496. <a name="l06613"></a>06613 q31_t * pSrc,
  3497. <a name="l06614"></a>06614 q15_t * pDst,
  3498. <a name="l06615"></a>06615 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3499. <a name="l06616"></a>06616
  3500. <a name="l06624"></a>06624 <span class="keywordtype">void</span> <a class="code" href="group__q31__to__x.html#ga7f297d1a7d776805395095fdb24a8071" title="Converts the elements of the Q31 vector to Q7 vector.">arm_q31_to_q7</a>(
  3501. <a name="l06625"></a>06625 q31_t * pSrc,
  3502. <a name="l06626"></a>06626 q7_t * pDst,
  3503. <a name="l06627"></a>06627 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3504. <a name="l06628"></a>06628
  3505. <a name="l06636"></a>06636 <span class="keywordtype">void</span> <a class="code" href="group__q15__to__x.html#gaf8b0d2324de273fc430b0e61ad4e9eb2" title="Converts the elements of the Q15 vector to floating-point vector.">arm_q15_to_float</a>(
  3506. <a name="l06637"></a>06637 q15_t * pSrc,
  3507. <a name="l06638"></a>06638 float32_t * pDst,
  3508. <a name="l06639"></a>06639 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3509. <a name="l06640"></a>06640
  3510. <a name="l06641"></a>06641
  3511. <a name="l06649"></a>06649 <span class="keywordtype">void</span> <a class="code" href="group__q15__to__x.html#ga7ba2d87366990ad5380439e2b4a4c0a5" title="Converts the elements of the Q15 vector to Q31 vector.">arm_q15_to_q31</a>(
  3512. <a name="l06650"></a>06650 q15_t * pSrc,
  3513. <a name="l06651"></a>06651 q31_t * pDst,
  3514. <a name="l06652"></a>06652 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3515. <a name="l06653"></a>06653
  3516. <a name="l06654"></a>06654
  3517. <a name="l06662"></a>06662 <span class="keywordtype">void</span> <a class="code" href="group__q15__to__x.html#ga8fb31855ff8cce09c2ec9308f48ded69" title="Converts the elements of the Q15 vector to Q7 vector.">arm_q15_to_q7</a>(
  3518. <a name="l06663"></a>06663 q15_t * pSrc,
  3519. <a name="l06664"></a>06664 q7_t * pDst,
  3520. <a name="l06665"></a>06665 uint32_t <a class="code" href="arm__fir__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>);
  3521. <a name="l06666"></a>06666
  3522. <a name="l06667"></a>06667
  3523. <a name="l06739"></a><a class="code" href="group___bilinear_interpolate.html#gab49a4c0f64854903d996d01ba38f711a">06739</a> <span class="keyword">static</span> __INLINE float32_t <a class="code" href="group___bilinear_interpolate.html#gab49a4c0f64854903d996d01ba38f711a" title="Floating-point bilinear interpolation.">arm_bilinear_interp_f32</a>(
  3524. <a name="l06740"></a>06740 <span class="keyword">const</span> <a class="code" href="structarm__bilinear__interp__instance__f32.html" title="Instance structure for the floating-point bilinear interpolation function.">arm_bilinear_interp_instance_f32</a> * S,
  3525. <a name="l06741"></a>06741 float32_t X,
  3526. <a name="l06742"></a>06742 float32_t Y)
  3527. <a name="l06743"></a>06743 {
  3528. <a name="l06744"></a>06744 float32_t out;
  3529. <a name="l06745"></a>06745 float32_t f00, f01, f10, f11;
  3530. <a name="l06746"></a>06746 float32_t *pData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#afd1e764591c991c212d56c893efb5ea4">pData</a>;
  3531. <a name="l06747"></a>06747 int32_t xIndex, yIndex, index;
  3532. <a name="l06748"></a>06748 float32_t xdiff, ydiff;
  3533. <a name="l06749"></a>06749 float32_t b1, b2, b3, b4;
  3534. <a name="l06750"></a>06750
  3535. <a name="l06751"></a>06751 xIndex = (int32_t) X;
  3536. <a name="l06752"></a>06752 yIndex = (int32_t) Y;
  3537. <a name="l06753"></a>06753
  3538. <a name="l06754"></a>06754 <span class="comment">/* Care taken for table outside boundary */</span>
  3539. <a name="l06755"></a>06755 <span class="comment">/* Returns zero output when values are outside table boundary */</span>
  3540. <a name="l06756"></a>06756 <span class="keywordflow">if</span>(xIndex &lt; 0 || xIndex &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#a34f2b17cc57b95011960df9718af6ed6">numRows</a>-1) || yIndex &lt; 0 || yIndex &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#aede17bebfb1f835b61d71dd813eab3f8">numCols</a>-1))
  3541. <a name="l06757"></a>06757 {
  3542. <a name="l06758"></a>06758 <span class="keywordflow">return</span>(0);
  3543. <a name="l06759"></a>06759 }
  3544. <a name="l06760"></a>06760
  3545. <a name="l06761"></a>06761 <span class="comment">/* Calculation of index for two nearest points in X-direction */</span>
  3546. <a name="l06762"></a>06762 index = (xIndex - 1) + (yIndex-1) * S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#aede17bebfb1f835b61d71dd813eab3f8">numCols</a> ;
  3547. <a name="l06763"></a>06763
  3548. <a name="l06764"></a>06764
  3549. <a name="l06765"></a>06765 <span class="comment">/* Read two nearest points in X-direction */</span>
  3550. <a name="l06766"></a>06766 f00 = pData[index];
  3551. <a name="l06767"></a>06767 f01 = pData[index + 1];
  3552. <a name="l06768"></a>06768
  3553. <a name="l06769"></a>06769 <span class="comment">/* Calculation of index for two nearest points in Y-direction */</span>
  3554. <a name="l06770"></a>06770 index = (xIndex-1) + (yIndex) * S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#aede17bebfb1f835b61d71dd813eab3f8">numCols</a>;
  3555. <a name="l06771"></a>06771
  3556. <a name="l06772"></a>06772
  3557. <a name="l06773"></a>06773 <span class="comment">/* Read two nearest points in Y-direction */</span>
  3558. <a name="l06774"></a>06774 f10 = pData[index];
  3559. <a name="l06775"></a>06775 f11 = pData[index + 1];
  3560. <a name="l06776"></a>06776
  3561. <a name="l06777"></a>06777 <span class="comment">/* Calculation of intermediate values */</span>
  3562. <a name="l06778"></a>06778 b1 = f00;
  3563. <a name="l06779"></a>06779 b2 = f01 - f00;
  3564. <a name="l06780"></a>06780 b3 = f10 - f00;
  3565. <a name="l06781"></a>06781 b4 = f00 - f01 - f10 + f11;
  3566. <a name="l06782"></a>06782
  3567. <a name="l06783"></a>06783 <span class="comment">/* Calculation of fractional part in X */</span>
  3568. <a name="l06784"></a>06784 xdiff = X - xIndex;
  3569. <a name="l06785"></a>06785
  3570. <a name="l06786"></a>06786 <span class="comment">/* Calculation of fractional part in Y */</span>
  3571. <a name="l06787"></a>06787 ydiff = Y - yIndex;
  3572. <a name="l06788"></a>06788
  3573. <a name="l06789"></a>06789 <span class="comment">/* Calculation of bi-linear interpolated output */</span>
  3574. <a name="l06790"></a>06790 out = b1 + b2 * xdiff + b3 * ydiff + b4 * xdiff * ydiff;
  3575. <a name="l06791"></a>06791
  3576. <a name="l06792"></a>06792 <span class="comment">/* return to application */</span>
  3577. <a name="l06793"></a>06793 <span class="keywordflow">return</span> (out);
  3578. <a name="l06794"></a>06794
  3579. <a name="l06795"></a>06795 }
  3580. <a name="l06796"></a>06796
  3581. <a name="l06806"></a><a class="code" href="group___bilinear_interpolate.html#ga202a033c8a2ad3678b136f93153b6d13">06806</a> <span class="keyword">static</span> __INLINE q31_t <a class="code" href="group___bilinear_interpolate.html#ga202a033c8a2ad3678b136f93153b6d13" title="Q31 bilinear interpolation.">arm_bilinear_interp_q31</a>(
  3582. <a name="l06807"></a>06807 <a class="code" href="structarm__bilinear__interp__instance__q31.html" title="Instance structure for the Q31 bilinear interpolation function.">arm_bilinear_interp_instance_q31</a> * S,
  3583. <a name="l06808"></a>06808 q31_t X,
  3584. <a name="l06809"></a>06809 q31_t Y)
  3585. <a name="l06810"></a>06810 {
  3586. <a name="l06811"></a>06811 q31_t out; <span class="comment">/* Temporary output */</span>
  3587. <a name="l06812"></a>06812 q31_t acc = 0; <span class="comment">/* output */</span>
  3588. <a name="l06813"></a>06813 q31_t xfract, yfract; <span class="comment">/* X, Y fractional parts */</span>
  3589. <a name="l06814"></a>06814 q31_t x1, x2, y1, y2; <span class="comment">/* Nearest output values */</span>
  3590. <a name="l06815"></a>06815 int32_t rI, cI; <span class="comment">/* Row and column indices */</span>
  3591. <a name="l06816"></a>06816 q31_t *pYData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#a843eae0c9db5f815e77e1aaf9afea358">pData</a>; <span class="comment">/* pointer to output table values */</span>
  3592. <a name="l06817"></a>06817 uint32_t nCols = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#a6c3eff4eb17ff1d43f170efb84713a2d">numCols</a>; <span class="comment">/* num of rows */</span>
  3593. <a name="l06818"></a>06818
  3594. <a name="l06819"></a>06819
  3595. <a name="l06820"></a>06820 <span class="comment">/* Input is in 12.20 format */</span>
  3596. <a name="l06821"></a>06821 <span class="comment">/* 12 bits for the table index */</span>
  3597. <a name="l06822"></a>06822 <span class="comment">/* Index value calculation */</span>
  3598. <a name="l06823"></a>06823 rI = ((X &amp; 0xFFF00000) &gt;&gt; 20u);
  3599. <a name="l06824"></a>06824
  3600. <a name="l06825"></a>06825 <span class="comment">/* Input is in 12.20 format */</span>
  3601. <a name="l06826"></a>06826 <span class="comment">/* 12 bits for the table index */</span>
  3602. <a name="l06827"></a>06827 <span class="comment">/* Index value calculation */</span>
  3603. <a name="l06828"></a>06828 cI = ((Y &amp; 0xFFF00000) &gt;&gt; 20u);
  3604. <a name="l06829"></a>06829
  3605. <a name="l06830"></a>06830 <span class="comment">/* Care taken for table outside boundary */</span>
  3606. <a name="l06831"></a>06831 <span class="comment">/* Returns zero output when values are outside table boundary */</span>
  3607. <a name="l06832"></a>06832 <span class="keywordflow">if</span>(rI &lt; 0 || rI &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#a2082e3eac56354d75291f03e96ce4aa5">numRows</a>-1) || cI &lt; 0 || cI &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#a6c3eff4eb17ff1d43f170efb84713a2d">numCols</a>-1))
  3608. <a name="l06833"></a>06833 {
  3609. <a name="l06834"></a>06834 <span class="keywordflow">return</span>(0);
  3610. <a name="l06835"></a>06835 }
  3611. <a name="l06836"></a>06836
  3612. <a name="l06837"></a>06837 <span class="comment">/* 20 bits for the fractional part */</span>
  3613. <a name="l06838"></a>06838 <span class="comment">/* shift left xfract by 11 to keep 1.31 format */</span>
  3614. <a name="l06839"></a>06839 xfract = (X &amp; 0x000FFFFF) &lt;&lt; 11u;
  3615. <a name="l06840"></a>06840
  3616. <a name="l06841"></a>06841 <span class="comment">/* Read two nearest output values from the index */</span>
  3617. <a name="l06842"></a>06842 x1 = pYData[(rI) + nCols * (cI)];
  3618. <a name="l06843"></a>06843 x2 = pYData[(rI) + nCols * (cI) + 1u];
  3619. <a name="l06844"></a>06844
  3620. <a name="l06845"></a>06845 <span class="comment">/* 20 bits for the fractional part */</span>
  3621. <a name="l06846"></a>06846 <span class="comment">/* shift left yfract by 11 to keep 1.31 format */</span>
  3622. <a name="l06847"></a>06847 yfract = (Y &amp; 0x000FFFFF) &lt;&lt; 11u;
  3623. <a name="l06848"></a>06848
  3624. <a name="l06849"></a>06849 <span class="comment">/* Read two nearest output values from the index */</span>
  3625. <a name="l06850"></a>06850 y1 = pYData[(rI) + nCols * (cI + 1)];
  3626. <a name="l06851"></a>06851 y2 = pYData[(rI) + nCols * (cI + 1) + 1u];
  3627. <a name="l06852"></a>06852
  3628. <a name="l06853"></a>06853 <span class="comment">/* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 3.29(q29) format */</span>
  3629. <a name="l06854"></a>06854 out = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) x1 * (0x7FFFFFFF - xfract)) &gt;&gt; 32));
  3630. <a name="l06855"></a>06855 acc = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) out * (0x7FFFFFFF - yfract)) &gt;&gt; 32));
  3631. <a name="l06856"></a>06856
  3632. <a name="l06857"></a>06857 <span class="comment">/* x2 * (xfract) * (1-yfract) in 3.29(q29) and adding to acc */</span>
  3633. <a name="l06858"></a>06858 out = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((q63_t) x2 * (0x7FFFFFFF - yfract) &gt;&gt; 32));
  3634. <a name="l06859"></a>06859 acc += ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((q63_t) out * (xfract) &gt;&gt; 32));
  3635. <a name="l06860"></a>06860
  3636. <a name="l06861"></a>06861 <span class="comment">/* y1 * (1 - xfract) * (yfract) in 3.29(q29) and adding to acc */</span>
  3637. <a name="l06862"></a>06862 out = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((q63_t) y1 * (0x7FFFFFFF - xfract) &gt;&gt; 32));
  3638. <a name="l06863"></a>06863 acc += ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((q63_t) out * (yfract) &gt;&gt; 32));
  3639. <a name="l06864"></a>06864
  3640. <a name="l06865"></a>06865 <span class="comment">/* y2 * (xfract) * (yfract) in 3.29(q29) and adding to acc */</span>
  3641. <a name="l06866"></a>06866 out = ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((q63_t) y2 * (xfract) &gt;&gt; 32));
  3642. <a name="l06867"></a>06867 acc += ((<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) ((q63_t) out * (yfract) &gt;&gt; 32));
  3643. <a name="l06868"></a>06868
  3644. <a name="l06869"></a>06869 <span class="comment">/* Convert acc to 1.31(q31) format */</span>
  3645. <a name="l06870"></a>06870 <span class="keywordflow">return</span> (acc &lt;&lt; 2u);
  3646. <a name="l06871"></a>06871
  3647. <a name="l06872"></a>06872 }
  3648. <a name="l06873"></a>06873
  3649. <a name="l06882"></a><a class="code" href="group___bilinear_interpolate.html#gaa8dffbc2a01bb7accf231384498ec85e">06882</a> <span class="keyword">static</span> __INLINE q15_t <a class="code" href="group___bilinear_interpolate.html#gaa8dffbc2a01bb7accf231384498ec85e" title="Q15 bilinear interpolation.">arm_bilinear_interp_q15</a>(
  3650. <a name="l06883"></a>06883 <a class="code" href="structarm__bilinear__interp__instance__q15.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q15</a> * S,
  3651. <a name="l06884"></a>06884 q31_t X,
  3652. <a name="l06885"></a>06885 q31_t Y)
  3653. <a name="l06886"></a>06886 {
  3654. <a name="l06887"></a>06887 q63_t acc = 0; <span class="comment">/* output */</span>
  3655. <a name="l06888"></a>06888 q31_t out; <span class="comment">/* Temporary output */</span>
  3656. <a name="l06889"></a>06889 q15_t x1, x2, y1, y2; <span class="comment">/* Nearest output values */</span>
  3657. <a name="l06890"></a>06890 q31_t xfract, yfract; <span class="comment">/* X, Y fractional parts */</span>
  3658. <a name="l06891"></a>06891 int32_t rI, cI; <span class="comment">/* Row and column indices */</span>
  3659. <a name="l06892"></a>06892 q15_t *pYData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a50d75b1316cee3e0dfad6dcc4c9a2954">pData</a>; <span class="comment">/* pointer to output table values */</span>
  3660. <a name="l06893"></a>06893 uint32_t nCols = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a7fa8772d01583374ff8ac18205a26a37">numCols</a>; <span class="comment">/* num of rows */</span>
  3661. <a name="l06894"></a>06894
  3662. <a name="l06895"></a>06895 <span class="comment">/* Input is in 12.20 format */</span>
  3663. <a name="l06896"></a>06896 <span class="comment">/* 12 bits for the table index */</span>
  3664. <a name="l06897"></a>06897 <span class="comment">/* Index value calculation */</span>
  3665. <a name="l06898"></a>06898 rI = ((X &amp; 0xFFF00000) &gt;&gt; 20);
  3666. <a name="l06899"></a>06899
  3667. <a name="l06900"></a>06900 <span class="comment">/* Input is in 12.20 format */</span>
  3668. <a name="l06901"></a>06901 <span class="comment">/* 12 bits for the table index */</span>
  3669. <a name="l06902"></a>06902 <span class="comment">/* Index value calculation */</span>
  3670. <a name="l06903"></a>06903 cI = ((Y &amp; 0xFFF00000) &gt;&gt; 20);
  3671. <a name="l06904"></a>06904
  3672. <a name="l06905"></a>06905 <span class="comment">/* Care taken for table outside boundary */</span>
  3673. <a name="l06906"></a>06906 <span class="comment">/* Returns zero output when values are outside table boundary */</span>
  3674. <a name="l06907"></a>06907 <span class="keywordflow">if</span>(rI &lt; 0 || rI &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a2130ae30a804995a9f5d0e2189e08565">numRows</a>-1) || cI &lt; 0 || cI &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a7fa8772d01583374ff8ac18205a26a37">numCols</a>-1))
  3675. <a name="l06908"></a>06908 {
  3676. <a name="l06909"></a>06909 <span class="keywordflow">return</span>(0);
  3677. <a name="l06910"></a>06910 }
  3678. <a name="l06911"></a>06911
  3679. <a name="l06912"></a>06912 <span class="comment">/* 20 bits for the fractional part */</span>
  3680. <a name="l06913"></a>06913 <span class="comment">/* xfract should be in 12.20 format */</span>
  3681. <a name="l06914"></a>06914 xfract = (X &amp; 0x000FFFFF);
  3682. <a name="l06915"></a>06915
  3683. <a name="l06916"></a>06916 <span class="comment">/* Read two nearest output values from the index */</span>
  3684. <a name="l06917"></a>06917 x1 = pYData[(rI) + nCols * (cI)];
  3685. <a name="l06918"></a>06918 x2 = pYData[(rI) + nCols * (cI) + 1u];
  3686. <a name="l06919"></a>06919
  3687. <a name="l06920"></a>06920
  3688. <a name="l06921"></a>06921 <span class="comment">/* 20 bits for the fractional part */</span>
  3689. <a name="l06922"></a>06922 <span class="comment">/* yfract should be in 12.20 format */</span>
  3690. <a name="l06923"></a>06923 yfract = (Y &amp; 0x000FFFFF);
  3691. <a name="l06924"></a>06924
  3692. <a name="l06925"></a>06925 <span class="comment">/* Read two nearest output values from the index */</span>
  3693. <a name="l06926"></a>06926 y1 = pYData[(rI) + nCols * (cI + 1)];
  3694. <a name="l06927"></a>06927 y2 = pYData[(rI) + nCols * (cI + 1) + 1u];
  3695. <a name="l06928"></a>06928
  3696. <a name="l06929"></a>06929 <span class="comment">/* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 13.51 format */</span>
  3697. <a name="l06930"></a>06930
  3698. <a name="l06931"></a>06931 <span class="comment">/* x1 is in 1.15(q15), xfract in 12.20 format and out is in 13.35 format */</span>
  3699. <a name="l06932"></a>06932 <span class="comment">/* convert 13.35 to 13.31 by right shifting and out is in 1.31 */</span>
  3700. <a name="l06933"></a>06933 out = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) x1 * (0xFFFFF - xfract)) &gt;&gt; 4u);
  3701. <a name="l06934"></a>06934 acc = ((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (0xFFFFF - yfract));
  3702. <a name="l06935"></a>06935
  3703. <a name="l06936"></a>06936 <span class="comment">/* x2 * (xfract) * (1-yfract) in 1.51 and adding to acc */</span>
  3704. <a name="l06937"></a>06937 out = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) x2 * (0xFFFFF - yfract)) &gt;&gt; 4u);
  3705. <a name="l06938"></a>06938 acc += ((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (xfract));
  3706. <a name="l06939"></a>06939
  3707. <a name="l06940"></a>06940 <span class="comment">/* y1 * (1 - xfract) * (yfract) in 1.51 and adding to acc */</span>
  3708. <a name="l06941"></a>06941 out = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) y1 * (0xFFFFF - xfract)) &gt;&gt; 4u);
  3709. <a name="l06942"></a>06942 acc += ((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (yfract));
  3710. <a name="l06943"></a>06943
  3711. <a name="l06944"></a>06944 <span class="comment">/* y2 * (xfract) * (yfract) in 1.51 and adding to acc */</span>
  3712. <a name="l06945"></a>06945 out = (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a>) (((q63_t) y2 * (xfract)) &gt;&gt; 4u);
  3713. <a name="l06946"></a>06946 acc += ((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (yfract));
  3714. <a name="l06947"></a>06947
  3715. <a name="l06948"></a>06948 <span class="comment">/* acc is in 13.51 format and down shift acc by 36 times */</span>
  3716. <a name="l06949"></a>06949 <span class="comment">/* Convert out to 1.15 format */</span>
  3717. <a name="l06950"></a>06950 <span class="keywordflow">return</span> (acc &gt;&gt; 36);
  3718. <a name="l06951"></a>06951
  3719. <a name="l06952"></a>06952 }
  3720. <a name="l06953"></a>06953
  3721. <a name="l06962"></a><a class="code" href="group___bilinear_interpolate.html#gade8db9706a3ae9ad03b2750a239d2ee6">06962</a> <span class="keyword">static</span> __INLINE q7_t <a class="code" href="group___bilinear_interpolate.html#gade8db9706a3ae9ad03b2750a239d2ee6" title="Q7 bilinear interpolation.">arm_bilinear_interp_q7</a>(
  3722. <a name="l06963"></a>06963 <a class="code" href="structarm__bilinear__interp__instance__q7.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q7</a> * S,
  3723. <a name="l06964"></a>06964 q31_t X,
  3724. <a name="l06965"></a>06965 q31_t Y)
  3725. <a name="l06966"></a>06966 {
  3726. <a name="l06967"></a>06967 q63_t acc = 0; <span class="comment">/* output */</span>
  3727. <a name="l06968"></a>06968 q31_t out; <span class="comment">/* Temporary output */</span>
  3728. <a name="l06969"></a>06969 q31_t xfract, yfract; <span class="comment">/* X, Y fractional parts */</span>
  3729. <a name="l06970"></a>06970 q7_t x1, x2, y1, y2; <span class="comment">/* Nearest output values */</span>
  3730. <a name="l06971"></a>06971 int32_t rI, cI; <span class="comment">/* Row and column indices */</span>
  3731. <a name="l06972"></a>06972 q7_t *pYData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#af05194d691bbefb02c34bafb22ca9ef0">pData</a>; <span class="comment">/* pointer to output table values */</span>
  3732. <a name="l06973"></a>06973 uint32_t nCols = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#a860dd0d24380ea06cfbb348fb3b12c9a">numCols</a>; <span class="comment">/* num of rows */</span>
  3733. <a name="l06974"></a>06974
  3734. <a name="l06975"></a>06975 <span class="comment">/* Input is in 12.20 format */</span>
  3735. <a name="l06976"></a>06976 <span class="comment">/* 12 bits for the table index */</span>
  3736. <a name="l06977"></a>06977 <span class="comment">/* Index value calculation */</span>
  3737. <a name="l06978"></a>06978 rI = ((X &amp; 0xFFF00000) &gt;&gt; 20);
  3738. <a name="l06979"></a>06979
  3739. <a name="l06980"></a>06980 <span class="comment">/* Input is in 12.20 format */</span>
  3740. <a name="l06981"></a>06981 <span class="comment">/* 12 bits for the table index */</span>
  3741. <a name="l06982"></a>06982 <span class="comment">/* Index value calculation */</span>
  3742. <a name="l06983"></a>06983 cI = ((Y &amp; 0xFFF00000) &gt;&gt; 20);
  3743. <a name="l06984"></a>06984
  3744. <a name="l06985"></a>06985 <span class="comment">/* Care taken for table outside boundary */</span>
  3745. <a name="l06986"></a>06986 <span class="comment">/* Returns zero output when values are outside table boundary */</span>
  3746. <a name="l06987"></a>06987 <span class="keywordflow">if</span>(rI &lt; 0 || rI &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#ad5a8067cab5f9ea4688b11a623e16607">numRows</a>-1) || cI &lt; 0 || cI &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#a860dd0d24380ea06cfbb348fb3b12c9a">numCols</a>-1))
  3747. <a name="l06988"></a>06988 {
  3748. <a name="l06989"></a>06989 <span class="keywordflow">return</span>(0);
  3749. <a name="l06990"></a>06990 }
  3750. <a name="l06991"></a>06991
  3751. <a name="l06992"></a>06992 <span class="comment">/* 20 bits for the fractional part */</span>
  3752. <a name="l06993"></a>06993 <span class="comment">/* xfract should be in 12.20 format */</span>
  3753. <a name="l06994"></a>06994 xfract = (X &amp; 0x000FFFFF);
  3754. <a name="l06995"></a>06995
  3755. <a name="l06996"></a>06996 <span class="comment">/* Read two nearest output values from the index */</span>
  3756. <a name="l06997"></a>06997 x1 = pYData[(rI) + nCols * (cI)];
  3757. <a name="l06998"></a>06998 x2 = pYData[(rI) + nCols * (cI) + 1u];
  3758. <a name="l06999"></a>06999
  3759. <a name="l07000"></a>07000
  3760. <a name="l07001"></a>07001 <span class="comment">/* 20 bits for the fractional part */</span>
  3761. <a name="l07002"></a>07002 <span class="comment">/* yfract should be in 12.20 format */</span>
  3762. <a name="l07003"></a>07003 yfract = (Y &amp; 0x000FFFFF);
  3763. <a name="l07004"></a>07004
  3764. <a name="l07005"></a>07005 <span class="comment">/* Read two nearest output values from the index */</span>
  3765. <a name="l07006"></a>07006 y1 = pYData[(rI) + nCols * (cI + 1)];
  3766. <a name="l07007"></a>07007 y2 = pYData[(rI) + nCols * (cI + 1) + 1u];
  3767. <a name="l07008"></a>07008
  3768. <a name="l07009"></a>07009 <span class="comment">/* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 16.47 format */</span>
  3769. <a name="l07010"></a>07010 out = ((x1 * (0xFFFFF - xfract)));
  3770. <a name="l07011"></a>07011 acc = (((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (0xFFFFF - yfract)));
  3771. <a name="l07012"></a>07012
  3772. <a name="l07013"></a>07013 <span class="comment">/* x2 * (xfract) * (1-yfract) in 2.22 and adding to acc */</span>
  3773. <a name="l07014"></a>07014 out = ((x2 * (0xFFFFF - yfract)));
  3774. <a name="l07015"></a>07015 acc += (((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (xfract)));
  3775. <a name="l07016"></a>07016
  3776. <a name="l07017"></a>07017 <span class="comment">/* y1 * (1 - xfract) * (yfract) in 2.22 and adding to acc */</span>
  3777. <a name="l07018"></a>07018 out = ((y1 * (0xFFFFF - xfract)));
  3778. <a name="l07019"></a>07019 acc += (((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (yfract)));
  3779. <a name="l07020"></a>07020
  3780. <a name="l07021"></a>07021 <span class="comment">/* y2 * (xfract) * (yfract) in 2.22 and adding to acc */</span>
  3781. <a name="l07022"></a>07022 out = ((y2 * (yfract)));
  3782. <a name="l07023"></a>07023 acc += (((<a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a>) out * (xfract)));
  3783. <a name="l07024"></a>07024
  3784. <a name="l07025"></a>07025 <span class="comment">/* acc in 16.47 format and down shift by 40 to convert to 1.7 format */</span>
  3785. <a name="l07026"></a>07026 <span class="keywordflow">return</span> (acc &gt;&gt; 40);
  3786. <a name="l07027"></a>07027
  3787. <a name="l07028"></a>07028 }
  3788. <a name="l07029"></a>07029
  3789. <a name="l07039"></a>07039 <span class="preprocessor">#ifdef __cplusplus</span>
  3790. <a name="l07040"></a>07040 <span class="preprocessor"></span>}
  3791. <a name="l07041"></a>07041 <span class="preprocessor">#endif</span>
  3792. <a name="l07042"></a>07042 <span class="preprocessor"></span>
  3793. <a name="l07043"></a>07043
  3794. <a name="l07044"></a>07044 <span class="preprocessor">#endif </span><span class="comment">/* _ARM_MATH_H */</span>
  3795. <a name="l07045"></a>07045
  3796. <a name="l07046"></a>07046
  3797. </pre></div></div>
  3798. </div>
  3799. <!--- window showing the filter options -->
  3800. <div id="MSearchSelectWindow"
  3801. onmouseover="return searchBox.OnSearchSelectShow()"
  3802. onmouseout="return searchBox.OnSearchSelectHide()"
  3803. onkeydown="return searchBox.OnSearchSelectKey(event)">
  3804. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>
  3805. <!-- iframe showing the search results (closed by default) -->
  3806. <div id="MSearchResultsWindow">
  3807. <iframe src="" frameborder="0"
  3808. name="MSearchResults" id="MSearchResults">
  3809. </iframe>
  3810. </div>
  3811. <hr class="footer"/><address class="footer"><small>Generated on Fri Jul 15 2011 13:16:17 for CMSIS DSP Software Library by&#160;
  3812. <a href="http://www.doxygen.org/index.html">
  3813. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
  3814. </body>
  3815. </html>