<!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_testindex">
 <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="../arm__fft__bin__example__f32_8c.html#a4a391651dbb95db35ccba70fc4f9e049" target="_parent">testIndex</a>
  <span class="SRScope">arm_fft_bin_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testinput_5ff32">
 <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="javascript:searchResults.Toggle('SR_testinput_5ff32')">testInput_f32</a>
  <div class="SRChildren">
    <a id="Item1_c0" onkeydown="return searchResults.NavChild(event,1,0)" onkeypress="return searchResults.NavChild(event,1,0)" onkeyup="return searchResults.NavChild(event,1,0)" class="SRScope" href="../arm__graphic__equalizer__example__q31_8c.html#aa4699dc6ee05353c83e0be4e69f6ad05" target="_parent">testInput_f32():&#160;arm_sin_cos_example_f32.c</a>
    <a id="Item1_c1" onkeydown="return searchResults.NavChild(event,1,1)" onkeypress="return searchResults.NavChild(event,1,1)" onkeyup="return searchResults.NavChild(event,1,1)" class="SRScope" href="../arm__signal__converge__example__f32_8c.html#aac98609c83ad8ed2b05c4fd82d2ba59b" target="_parent">testInput_f32():&#160;arm_sin_cos_example_f32.c</a>
    <a id="Item1_c2" onkeydown="return searchResults.NavChild(event,1,2)" onkeypress="return searchResults.NavChild(event,1,2)" onkeyup="return searchResults.NavChild(event,1,2)" class="SRScope" href="../arm__sin__cos__example__f32_8c.html#a8b3b7113988efd5bf11a247d07ae39a1" target="_parent">testInput_f32():&#160;arm_sin_cos_example_f32.c</a>
    <a id="Item1_c3" onkeydown="return searchResults.NavChild(event,1,3)" onkeypress="return searchResults.NavChild(event,1,3)" onkeyup="return searchResults.NavChild(event,1,3)" class="SRScope" href="../arm__variance__example__f32_8c.html#a9170ec9e681e2b519fe9c46a30455841" target="_parent">testInput_f32():&#160;arm_variance_example_f32.c</a>
  </div>
 </div>
</div>
<div class="SRResult" id="SR_testinput_5ff32_5f10khz">
 <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="../arm__fft__bin__example__f32_8c.html#a3d8ecb82590486ceebccc76263963b16" target="_parent">testInput_f32_10khz</a>
  <span class="SRScope">arm_fft_bin_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testinput_5ff32_5f1khz_5f15khz">
 <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="../arm__fir__example__f32_8c.html#a35d190391c204b677e2839d76ede6e8b" target="_parent">testInput_f32_1kHz_15kHz</a>
  <span class="SRScope">arm_fir_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testinputa_5ff32">
 <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="../arm__convolution__example__f32_8c.html#a7db2f016e1afcb524a2fdc3c5a3cb640" target="_parent">testInputA_f32</a>
  <span class="SRScope">arm_convolution_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testinputb_5ff32">
 <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="../arm__convolution__example__f32_8c.html#acb22287e7e096b677e352dfd363ba60d" target="_parent">testInputB_f32</a>
  <span class="SRScope">arm_convolution_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testinputsin_5ff32">
 <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="../arm__linear__interp__example__f32_8c.html#a4be0c4d25e63ce04b8cc8ad070805287" target="_parent">testInputSin_f32</a>
  <span class="SRScope">arm_linear_interp_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testlinintoutput">
 <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__linear__interp__example__f32_8c.html#a8ca7d0ad6e04efed464bcaacedacf925" target="_parent">testLinIntOutput</a>
  <span class="SRScope">arm_linear_interp_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testmarks_5ff32">
 <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__class__marks__example__f32_8c.html#a0153222efa82b7f1a0ea3835921bf921" target="_parent">testMarks_f32</a>
  <span class="SRScope">arm_class_marks_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testoutput">
 <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="javascript:searchResults.Toggle('SR_testoutput')">testOutput</a>
  <div class="SRChildren">
    <a id="Item9_c0" onkeydown="return searchResults.NavChild(event,9,0)" onkeypress="return searchResults.NavChild(event,9,0)" onkeyup="return searchResults.NavChild(event,9,0)" class="SRScope" href="../arm__class__marks__example__f32_8c.html#afd4d61aad5f35a4e42d580004e2f9a1d" target="_parent">testOutput():&#160;arm_class_marks_example_f32.c</a>
    <a id="Item9_c1" onkeydown="return searchResults.NavChild(event,9,1)" onkeypress="return searchResults.NavChild(event,9,1)" onkeyup="return searchResults.NavChild(event,9,1)" class="SRScope" href="../arm__dotproduct__example__f32_8c.html#a324833b61eae796082e07d078a67c34f" target="_parent">testOutput():&#160;arm_dotproduct_example_f32.c</a>
    <a id="Item9_c2" onkeydown="return searchResults.NavChild(event,9,2)" onkeypress="return searchResults.NavChild(event,9,2)" onkeyup="return searchResults.NavChild(event,9,2)" class="SRScope" href="../arm__fir__example__f32_8c.html#afd4d61aad5f35a4e42d580004e2f9a1d" target="_parent">testOutput():&#160;arm_fir_example_f32.c</a>
    <a id="Item9_c3" onkeydown="return searchResults.NavChild(event,9,3)" onkeypress="return searchResults.NavChild(event,9,3)" onkeyup="return searchResults.NavChild(event,9,3)" class="SRScope" href="../arm__fft__bin__example__f32_8c.html#aaaf907bde12051bc8bb5d48b7d315a35" target="_parent">testOutput():&#160;arm_fft_bin_example_f32.c</a>
    <a id="Item9_c4" onkeydown="return searchResults.NavChild(event,9,4)" onkeypress="return searchResults.NavChild(event,9,4)" onkeyup="return searchResults.NavChild(event,9,4)" class="SRScope" href="../arm__graphic__equalizer__example__q31_8c.html#a3293e83a154108a1d398bb042e293894" target="_parent">testOutput():&#160;arm_graphic_equalizer_example_q31.c</a>
    <a id="Item9_c5" onkeydown="return searchResults.NavChild(event,9,5)" onkeypress="return searchResults.NavChild(event,9,5)" onkeyup="return searchResults.NavChild(event,9,5)" class="SRScope" href="../arm__linear__interp__example__f32_8c.html#afd4d61aad5f35a4e42d580004e2f9a1d" target="_parent">testOutput():&#160;arm_linear_interp_example_f32.c</a>
    <a id="Item9_c6" onkeydown="return searchResults.NavChild(event,9,6)" onkeypress="return searchResults.NavChild(event,9,6)" onkeyup="return searchResults.NavChild(event,9,6)" class="SRScope" href="../arm__sin__cos__example__f32_8c.html#a324833b61eae796082e07d078a67c34f" target="_parent">testOutput():&#160;arm_sin_cos_example_f32.c</a>
  </div>
 </div>
</div>
<div class="SRResult" id="SR_testrefoutput_5ff32">
 <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="javascript:searchResults.Toggle('SR_testrefoutput_5ff32')">testRefOutput_f32</a>
  <div class="SRChildren">
    <a id="Item10_c0" onkeydown="return searchResults.NavChild(event,10,0)" onkeypress="return searchResults.NavChild(event,10,0)" onkeyup="return searchResults.NavChild(event,10,0)" class="SRScope" href="../arm__convolution__example__f32_8c.html#a6463f7327432fc62ad9f6017593330d3" target="_parent">testRefOutput_f32():&#160;arm_convolution_example_f32.c</a>
    <a id="Item10_c1" onkeydown="return searchResults.NavChild(event,10,1)" onkeypress="return searchResults.NavChild(event,10,1)" onkeyup="return searchResults.NavChild(event,10,1)" class="SRScope" href="../arm__graphic__equalizer__example__q31_8c.html#a9cbbafa975d67bc8ee8ea3260fdd5638" target="_parent">testRefOutput_f32():&#160;arm_convolution_example_f32.c</a>
    <a id="Item10_c2" onkeydown="return searchResults.NavChild(event,10,2)" onkeypress="return searchResults.NavChild(event,10,2)" onkeyup="return searchResults.NavChild(event,10,2)" class="SRScope" href="../arm__sin__cos__example__f32_8c.html#a8bcb5c1f75ed5f1737e435f0de1850a3" target="_parent">testRefOutput_f32():&#160;arm_sin_cos_example_f32.c</a>
  </div>
 </div>
</div>
<div class="SRResult" id="SR_testrefsinoutput32_5ff32">
 <div class="SREntry">
  <a id="Item11" onkeydown="return searchResults.Nav(event,11)" onkeypress="return searchResults.Nav(event,11)" onkeyup="return searchResults.Nav(event,11)" class="SRSymbol" href="../arm__linear__interp__example__f32_8c.html#a5a33218d422603f3e5267b6984bdddd1" target="_parent">testRefSinOutput32_f32</a>
  <span class="SRScope">arm_linear_interp_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_testunity_5ff32">
 <div class="SREntry">
  <a id="Item12" onkeydown="return searchResults.Nav(event,12)" onkeypress="return searchResults.Nav(event,12)" onkeyup="return searchResults.Nav(event,12)" class="SRSymbol" href="../arm__class__marks__example__f32_8c.html#a993b9b2a1faf43b319c1c6d58b26e7a1" target="_parent">testUnity_f32</a>
  <span class="SRScope">arm_class_marks_example_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_twidcoefmodifier">
 <div class="SREntry">
  <a id="Item13" onkeydown="return searchResults.Nav(event,13)" onkeypress="return searchResults.Nav(event,13)" onkeyup="return searchResults.Nav(event,13)" class="SRSymbol" href="javascript:searchResults.Toggle('SR_twidcoefmodifier')">twidCoefModifier</a>
  <div class="SRChildren">
    <a id="Item13_c0" onkeydown="return searchResults.NavChild(event,13,0)" onkeypress="return searchResults.NavChild(event,13,0)" onkeyup="return searchResults.NavChild(event,13,0)" class="SRScope" href="../structarm__cfft__radix4__instance__q15.html#af32fdc78bcc27ca385f9b76a0a1f71c3" target="_parent">arm_cfft_radix4_instance_q15::twidCoefModifier()</a>
    <a id="Item13_c1" onkeydown="return searchResults.NavChild(event,13,1)" onkeypress="return searchResults.NavChild(event,13,1)" onkeyup="return searchResults.NavChild(event,13,1)" class="SRScope" href="../structarm__cfft__radix4__instance__q31.html#a8cf8187b8232815cf17ee82bf572ecf9" target="_parent">arm_cfft_radix4_instance_q31::twidCoefModifier()</a>
    <a id="Item13_c2" onkeydown="return searchResults.NavChild(event,13,2)" onkeypress="return searchResults.NavChild(event,13,2)" onkeyup="return searchResults.NavChild(event,13,2)" class="SRScope" href="../structarm__cfft__radix4__instance__f32.html#abe31ea2157dfa233e389cdfd3b9993ee" target="_parent">arm_cfft_radix4_instance_f32::twidCoefModifier()</a>
  </div>
 </div>
</div>
<div class="SRResult" id="SR_twidcoefrmodifier">
 <div class="SREntry">
  <a id="Item14" onkeydown="return searchResults.Nav(event,14)" onkeypress="return searchResults.Nav(event,14)" onkeyup="return searchResults.Nav(event,14)" class="SRSymbol" href="javascript:searchResults.Toggle('SR_twidcoefrmodifier')">twidCoefRModifier</a>
  <div class="SRChildren">
    <a id="Item14_c0" onkeydown="return searchResults.NavChild(event,14,0)" onkeypress="return searchResults.NavChild(event,14,0)" onkeyup="return searchResults.NavChild(event,14,0)" class="SRScope" href="../structarm__rfft__instance__q15.html#afd444d05858c5f419980e94e8240d5c3" target="_parent">arm_rfft_instance_q15::twidCoefRModifier()</a>
    <a id="Item14_c1" onkeydown="return searchResults.NavChild(event,14,1)" onkeypress="return searchResults.NavChild(event,14,1)" onkeyup="return searchResults.NavChild(event,14,1)" class="SRScope" href="../structarm__rfft__instance__q31.html#a6fc90252b579f7c29e01bd279334fc43" target="_parent">arm_rfft_instance_q31::twidCoefRModifier()</a>
    <a id="Item14_c2" onkeydown="return searchResults.NavChild(event,14,2)" onkeypress="return searchResults.NavChild(event,14,2)" onkeyup="return searchResults.NavChild(event,14,2)" class="SRScope" href="../structarm__rfft__instance__f32.html#aede85350fb5ae6baa1b3e8bfa15b18d6" target="_parent">arm_rfft_instance_f32::twidCoefRModifier()</a>
  </div>
 </div>
</div>
<div class="SRResult" id="SR_twiddlecoef">
 <div class="SREntry">
  <a id="Item15" onkeydown="return searchResults.Nav(event,15)" onkeypress="return searchResults.Nav(event,15)" onkeyup="return searchResults.Nav(event,15)" class="SRSymbol" href="../group___c_f_f_t___c_i_f_f_t.html#gaa2c67d40295ace7cab3d063c15e70b18" target="_parent">twiddleCoef</a>
  <span class="SRScope">arm_cfft_radix4_init_f32.c</span>
 </div>
</div>
<div class="SRResult" id="SR_twiddlecoefq15">
 <div class="SREntry">
  <a id="Item16" onkeydown="return searchResults.Nav(event,16)" onkeypress="return searchResults.Nav(event,16)" onkeyup="return searchResults.Nav(event,16)" class="SRSymbol" href="../group___c_f_f_t___c_i_f_f_t.html#ga5a1667c1f9ffa6b40cddb90034d7d3b0" target="_parent">twiddleCoefQ15</a>
  <span class="SRScope">arm_cfft_radix4_init_q15.c</span>
 </div>
</div>
<div class="SRResult" id="SR_twiddlecoefq31">
 <div class="SREntry">
  <a id="Item17" onkeydown="return searchResults.Nav(event,17)" onkeypress="return searchResults.Nav(event,17)" onkeyup="return searchResults.Nav(event,17)" class="SRSymbol" href="../group___c_f_f_t___c_i_f_f_t.html#gaaff0656425a80136572711cefae9800f" target="_parent">twiddleCoefQ31</a>
  <span class="SRScope">arm_cfft_radix4_init_q31.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>
