<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRResult" id="SR_realcoefa">
 <div class="SREntry">
  <a id="Item0" onkeydown="return searchResults.Nav(event,0)" onkeypress="return searchResults.Nav(event,0)" onkeyup="return searchResults.Nav(event,0)" class="SRSymbol" href="../group___r_f_f_t___r_i_f_f_t.html#gaae653673880e55a10f8b11823e0911b7" target="_parent">realCoefA</a>
  <span class="SRScope">arm_rfft_init_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_realcoefaq15">
 <div class="SREntry">
  <a id="Item1" onkeydown="return searchResults.Nav(event,1)" onkeypress="return searchResults.Nav(event,1)" onkeyup="return searchResults.Nav(event,1)" class="SRSymbol" href="../group___r_f_f_t___r_i_f_f_t.html#gabb599b7817b377892d3674931849a5f1" target="_parent">realCoefAQ15</a>
  <span class="SRScope">arm_rfft_init_q15.c</span>
 </div>
</div>
<div class="SRResult" id="SR_realcoefaq31">
 <div class="SREntry">
  <a id="Item2" onkeydown="return searchResults.Nav(event,2)" onkeypress="return searchResults.Nav(event,2)" onkeyup="return searchResults.Nav(event,2)" class="SRSymbol" href="../group___r_f_f_t___r_i_f_f_t.html#gacebced5a9d92f1913a0afe2adef7a886" target="_parent">realCoefAQ31</a>
  <span class="SRScope">arm_rfft_init_q31.c</span>
 </div>
</div>
<div class="SRResult" id="SR_realcoefb">
 <div class="SREntry">
  <a id="Item3" onkeydown="return searchResults.Nav(event,3)" onkeypress="return searchResults.Nav(event,3)" onkeyup="return searchResults.Nav(event,3)" class="SRSymbol" href="../group___r_f_f_t___r_i_f_f_t.html#ga848be13f6359b0dfe02e77aecd74cf2e" target="_parent">realCoefB</a>
  <span class="SRScope">arm_rfft_init_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_realcoefbq15">
 <div class="SREntry">
  <a id="Item4" onkeydown="return searchResults.Nav(event,4)" onkeypress="return searchResults.Nav(event,4)" onkeyup="return searchResults.Nav(event,4)" class="SRSymbol" href="../group___r_f_f_t___r_i_f_f_t.html#ga07c39dddf1799f8394533710fb9e17b0" target="_parent">realCoefBQ15</a>
  <span class="SRScope">arm_rfft_init_q15.c</span>
 </div>
</div>
<div class="SRResult" id="SR_realcoefbq31">
 <div class="SREntry">
  <a id="Item5" onkeydown="return searchResults.Nav(event,5)" onkeypress="return searchResults.Nav(event,5)" onkeyup="return searchResults.Nav(event,5)" class="SRSymbol" href="../group___r_f_f_t___r_i_f_f_t.html#gaa3baee87ab9cc94a81d63135a004a3be" target="_parent">realCoefBQ31</a>
  <span class="SRScope">arm_rfft_init_q31.c</span>
 </div>
</div>
<div class="SRResult" id="SR_reciptable">
 <div class="SREntry">
  <a id="Item6" onkeydown="return searchResults.Nav(event,6)" onkeypress="return searchResults.Nav(event,6)" onkeyup="return searchResults.Nav(event,6)" class="SRSymbol" href="javascript:searchResults.Toggle('SR_reciptable')">recipTable</a>
  <div class="SRChildren">
    <a id="Item6_c0" onkeydown="return searchResults.NavChild(event,6,0)" onkeypress="return searchResults.NavChild(event,6,0)" onkeyup="return searchResults.NavChild(event,6,0)" class="SRScope" href="../structarm__lms__norm__instance__q31.html#a85836d0907077b9ac660f7bbbaa9d694" target="_parent">arm_lms_norm_instance_q31::recipTable()</a>
    <a id="Item6_c1" onkeydown="return searchResults.NavChild(event,6,1)" onkeypress="return searchResults.NavChild(event,6,1)" onkeyup="return searchResults.NavChild(event,6,1)" class="SRScope" href="../structarm__lms__norm__instance__q15.html#a9aabb0e4c79f3db807e7a441fa36f5f8" target="_parent">arm_lms_norm_instance_q15::recipTable()</a>
  </div>
 </div>
</div>
<div class="SRResult" id="SR_refdotprodout">
 <div class="SREntry">
  <a id="Item7" onkeydown="return searchResults.Nav(event,7)" onkeypress="return searchResults.Nav(event,7)" onkeyup="return searchResults.Nav(event,7)" class="SRSymbol" href="../arm__dotproduct__example__f32_8c.html#ad57c1f9ad68d098d79b15ec6844a26fc" target="_parent">refDotProdOut</a>
  <span class="SRScope">arm_dotproduct_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_refindex">
 <div class="SREntry">
  <a id="Item8" onkeydown="return searchResults.Nav(event,8)" onkeypress="return searchResults.Nav(event,8)" onkeyup="return searchResults.Nav(event,8)" class="SRSymbol" href="../arm__fft__bin__example__f32_8c.html#aec50b0f697fd9e7e7e244487a4bd57e4" target="_parent">refIndex</a>
  <span class="SRScope">arm_fft_bin_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_refoutput">
 <div class="SREntry">
  <a id="Item9" onkeydown="return searchResults.Nav(event,9)" onkeypress="return searchResults.Nav(event,9)" onkeyup="return searchResults.Nav(event,9)" class="SRSymbol" href="../arm__fir__example__f32_8c.html#a12d0acaa028f1dcd964d2d188e7df331" target="_parent">refOutput</a>
  <span class="SRScope">arm_fir_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_refvarianceout">
 <div class="SREntry">
  <a id="Item10" onkeydown="return searchResults.Nav(event,10)" onkeypress="return searchResults.Nav(event,10)" onkeyup="return searchResults.Nav(event,10)" class="SRSymbol" href="../arm__variance__example__f32_8c.html#a26cbbfe2a7905669e8440159465050df" target="_parent">refVarianceOut</a>
  <span class="SRScope">arm_variance_example_f32.c</span>
 </div>
</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>
