Added all the F4 libraries to the project
[fw/stlink] / exampleF4 / CMSIS / Documentation / DSP_Lib / html / group__power.html
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: Power</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><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>
43 <div class="header">
44   <div class="summary">
45 <a href="#func-members">Functions</a>  </div>
46   <div class="headertitle">
47 <h1>Power<br/>
48 <small>
49 [<a class="el" href="group__group_stats.html">Statistics Functions</a>]</small>
50 </h1>  </div>
51 </div>
52 <div class="contents">
53 <table class="memberdecls">
54 <tr><td colspan="2"><h2><a name="func-members"></a>
55 Functions</h2></td></tr>
56 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__power.html#ga993c00dd7f661d66bdb6e58426e893aa">arm_power_f32</a> (<a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> *pSrc, uint32_t <a class="el" href="arm__variance__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>, <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> *pResult)</td></tr>
57 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__power.html#ga0b93d31bb5b5ed214c2b94d8a7744cd2">arm_power_q31</a> (<a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> *pSrc, uint32_t <a class="el" href="arm__variance__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>, <a class="el" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6">q63_t</a> *pResult)</td></tr>
58 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__power.html#ga7050c04b7515e01a75c38f1abbaf71ba">arm_power_q15</a> (<a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> *pSrc, uint32_t <a class="el" href="arm__variance__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>, <a class="el" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6">q63_t</a> *pResult)</td></tr>
59 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__power.html#gaf969c85c5655e3d72d7b99ff188f92c9">arm_power_q7</a> (<a class="el" href="arm__math_8h.html#ae541b6f232c305361e9b416fc9eed263">q7_t</a> *pSrc, uint32_t <a class="el" href="arm__variance__example__f32_8c.html#ab6558f40a619c2502fbc24c880fd4fb0">blockSize</a>, <a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> *pResult)</td></tr>
60 </table>
61 <hr/><a name="_details"></a><h2>Detailed Description</h2>
62 <p>Calculates the sum of the squares of the elements in the input vector. The underlying algorithm is used:</p>
63 <pre>   
64         Result = pSrc[0] * pSrc[0] + pSrc[1] * pSrc[1] + pSrc[2] * pSrc[2] + ... + pSrc[blockSize-1] * pSrc[blockSize-1];   
65  </pre><p>There are separate functions for floating point, Q31, Q15, and Q7 data types. </p>
66 <hr/><h2>Function Documentation</h2>
67 <a class="anchor" id="ga993c00dd7f661d66bdb6e58426e893aa"></a><!-- doxytag: member="arm_power_f32.c::arm_power_f32" ref="ga993c00dd7f661d66bdb6e58426e893aa" args="(float32_t *pSrc, uint32_t blockSize, float32_t *pResult)" -->
68 <div class="memitem">
69 <div class="memproto">
70       <table class="memname">
71         <tr>
72           <td class="memname">void arm_power_f32 </td>
73           <td>(</td>
74           <td class="paramtype"><a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> *&#160;</td>
75           <td class="paramname"> <em>pSrc</em>, </td>
76         </tr>
77         <tr>
78           <td class="paramkey"></td>
79           <td></td>
80           <td class="paramtype">uint32_t&#160;</td>
81           <td class="paramname"> <em>blockSize</em>, </td>
82         </tr>
83         <tr>
84           <td class="paramkey"></td>
85           <td></td>
86           <td class="paramtype"><a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> *&#160;</td>
87           <td class="paramname"> <em>pResult</em>&#160;</td>
88         </tr>
89         <tr>
90           <td></td>
91           <td>)</td>
92           <td></td><td></td>
93         </tr>
94       </table>
95 </div>
96 <div class="memdoc">
97
98 <p>Sum of the squares of the elements of a floating-point vector. </p>
99 <dl><dt><b>Parameters:</b></dt><dd>
100   <table class="params">
101     <tr><td class="paramdir">[in]</td><td class="paramname">*pSrc</td><td>points to the input vector </td></tr>
102     <tr><td class="paramdir">[in]</td><td class="paramname">blockSize</td><td>length of the input vector </td></tr>
103     <tr><td class="paramdir">[out]</td><td class="paramname">*pResult</td><td>sum of the squares value returned here </td></tr>
104   </table>
105   </dd>
106 </dl>
107 <dl class="return"><dt><b>Returns:</b></dt><dd>none. </dd></dl>
108
109 <p>Definition at line <a class="el" href="arm__power__f32_8c_source.html#l00068">68</a> of file <a class="el" href="arm__power__f32_8c_source.html">arm_power_f32.c</a>.</p>
110
111 </div>
112 </div>
113 <a class="anchor" id="ga0b93d31bb5b5ed214c2b94d8a7744cd2"></a><!-- doxytag: member="arm_power_q31.c::arm_power_q31" ref="ga0b93d31bb5b5ed214c2b94d8a7744cd2" args="(q31_t *pSrc, uint32_t blockSize, q63_t *pResult)" -->
114 <div class="memitem">
115 <div class="memproto">
116       <table class="memname">
117         <tr>
118           <td class="memname">void arm_power_q31 </td>
119           <td>(</td>
120           <td class="paramtype"><a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> *&#160;</td>
121           <td class="paramname"> <em>pSrc</em>, </td>
122         </tr>
123         <tr>
124           <td class="paramkey"></td>
125           <td></td>
126           <td class="paramtype">uint32_t&#160;</td>
127           <td class="paramname"> <em>blockSize</em>, </td>
128         </tr>
129         <tr>
130           <td class="paramkey"></td>
131           <td></td>
132           <td class="paramtype"><a class="el" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6">q63_t</a> *&#160;</td>
133           <td class="paramname"> <em>pResult</em>&#160;</td>
134         </tr>
135         <tr>
136           <td></td>
137           <td>)</td>
138           <td></td><td></td>
139         </tr>
140       </table>
141 </div>
142 <div class="memdoc">
143
144 <p>Sum of the squares of the elements of a Q31 vector. </p>
145 <dl><dt><b>Parameters:</b></dt><dd>
146   <table class="params">
147     <tr><td class="paramdir">[in]</td><td class="paramname">*pSrc</td><td>points to the input vector </td></tr>
148     <tr><td class="paramdir">[in]</td><td class="paramname">blockSize</td><td>length of the input vector </td></tr>
149     <tr><td class="paramdir">[out]</td><td class="paramname">*pResult</td><td>sum of the squares value returned here </td></tr>
150   </table>
151   </dd>
152 </dl>
153 <dl class="return"><dt><b>Returns:</b></dt><dd>none.</dd></dl>
154 <p><b>Scaling and Overflow Behavior:</b></p>
155 <dl class="user"><dt><b></b></dt><dd>The function is implemented using a 64-bit internal accumulator. The input is represented in 1.31 format. Intermediate multiplication yields a 2.62 format, and this result is truncated to 2.48 format by discarding the lower 14 bits. The 2.48 result is then added without saturation to a 64-bit accumulator in 16.48 format. With 15 guard bits in the accumulator, there is no risk of overflow, and the full precision of the intermediate multiplication is preserved. Finally, the return result is in 16.48 format. </dd></dl>
156
157 <p>Definition at line <a class="el" href="arm__power__q31_8c_source.html#l00063">63</a> of file <a class="el" href="arm__power__q31_8c_source.html">arm_power_q31.c</a>.</p>
158
159 </div>
160 </div>
161 <a class="anchor" id="ga7050c04b7515e01a75c38f1abbaf71ba"></a><!-- doxytag: member="arm_power_q15.c::arm_power_q15" ref="ga7050c04b7515e01a75c38f1abbaf71ba" args="(q15_t *pSrc, uint32_t blockSize, q63_t *pResult)" -->
162 <div class="memitem">
163 <div class="memproto">
164       <table class="memname">
165         <tr>
166           <td class="memname">void arm_power_q15 </td>
167           <td>(</td>
168           <td class="paramtype"><a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> *&#160;</td>
169           <td class="paramname"> <em>pSrc</em>, </td>
170         </tr>
171         <tr>
172           <td class="paramkey"></td>
173           <td></td>
174           <td class="paramtype">uint32_t&#160;</td>
175           <td class="paramname"> <em>blockSize</em>, </td>
176         </tr>
177         <tr>
178           <td class="paramkey"></td>
179           <td></td>
180           <td class="paramtype"><a class="el" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6">q63_t</a> *&#160;</td>
181           <td class="paramname"> <em>pResult</em>&#160;</td>
182         </tr>
183         <tr>
184           <td></td>
185           <td>)</td>
186           <td></td><td></td>
187         </tr>
188       </table>
189 </div>
190 <div class="memdoc">
191
192 <p>Sum of the squares of the elements of a Q15 vector. </p>
193 <dl><dt><b>Parameters:</b></dt><dd>
194   <table class="params">
195     <tr><td class="paramdir">[in]</td><td class="paramname">*pSrc</td><td>points to the input vector </td></tr>
196     <tr><td class="paramdir">[in]</td><td class="paramname">blockSize</td><td>length of the input vector </td></tr>
197     <tr><td class="paramdir">[out]</td><td class="paramname">*pResult</td><td>sum of the squares value returned here </td></tr>
198   </table>
199   </dd>
200 </dl>
201 <dl class="return"><dt><b>Returns:</b></dt><dd>none.</dd></dl>
202 <p><b>Scaling and Overflow Behavior:</b></p>
203 <dl class="user"><dt><b></b></dt><dd>The function is implemented using a 64-bit internal accumulator. The input is represented in 1.15 format. Intermediate multiplication yields a 2.30 format, and this result is added without saturation to a 64-bit accumulator in 34.30 format. With 33 guard bits in the accumulator, there is no risk of overflow, and the full precision of the intermediate multiplication is preserved. Finally, the return result is in 34.30 format. </dd></dl>
204
205 <p>Definition at line <a class="el" href="arm__power__q15_8c_source.html#l00062">62</a> of file <a class="el" href="arm__power__q15_8c_source.html">arm_power_q15.c</a>.</p>
206
207 </div>
208 </div>
209 <a class="anchor" id="gaf969c85c5655e3d72d7b99ff188f92c9"></a><!-- doxytag: member="arm_power_q7.c::arm_power_q7" ref="gaf969c85c5655e3d72d7b99ff188f92c9" args="(q7_t *pSrc, uint32_t blockSize, q31_t *pResult)" -->
210 <div class="memitem">
211 <div class="memproto">
212       <table class="memname">
213         <tr>
214           <td class="memname">void arm_power_q7 </td>
215           <td>(</td>
216           <td class="paramtype"><a class="el" href="arm__math_8h.html#ae541b6f232c305361e9b416fc9eed263">q7_t</a> *&#160;</td>
217           <td class="paramname"> <em>pSrc</em>, </td>
218         </tr>
219         <tr>
220           <td class="paramkey"></td>
221           <td></td>
222           <td class="paramtype">uint32_t&#160;</td>
223           <td class="paramname"> <em>blockSize</em>, </td>
224         </tr>
225         <tr>
226           <td class="paramkey"></td>
227           <td></td>
228           <td class="paramtype"><a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> *&#160;</td>
229           <td class="paramname"> <em>pResult</em>&#160;</td>
230         </tr>
231         <tr>
232           <td></td>
233           <td>)</td>
234           <td></td><td></td>
235         </tr>
236       </table>
237 </div>
238 <div class="memdoc">
239
240 <p>Sum of the squares of the elements of a Q7 vector. </p>
241 <dl><dt><b>Parameters:</b></dt><dd>
242   <table class="params">
243     <tr><td class="paramdir">[in]</td><td class="paramname">*pSrc</td><td>points to the input vector </td></tr>
244     <tr><td class="paramdir">[in]</td><td class="paramname">blockSize</td><td>length of the input vector </td></tr>
245     <tr><td class="paramdir">[out]</td><td class="paramname">*pResult</td><td>sum of the squares value returned here </td></tr>
246   </table>
247   </dd>
248 </dl>
249 <dl class="return"><dt><b>Returns:</b></dt><dd>none.</dd></dl>
250 <p><b>Scaling and Overflow Behavior:</b></p>
251 <dl class="user"><dt><b></b></dt><dd>The function is implemented using a 32-bit internal accumulator. The input is represented in 1.7 format. Intermediate multiplication yields a 2.14 format, and this result is added without saturation to an accumulator in 18.14 format. With 17 guard bits in the accumulator, there is no risk of overflow, and the full precision of the intermediate multiplication is preserved. Finally, the return result is in 18.14 format. </dd></dl>
252
253 <p>Definition at line <a class="el" href="arm__power__q7_8c_source.html#l00062">62</a> of file <a class="el" href="arm__power__q7_8c_source.html">arm_power_q7.c</a>.</p>
254
255 </div>
256 </div>
257 </div>
258 <!--- window showing the filter options -->
259 <div id="MSearchSelectWindow"
260      onmouseover="return searchBox.OnSearchSelectShow()"
261      onmouseout="return searchBox.OnSearchSelectHide()"
262      onkeydown="return searchBox.OnSearchSelectKey(event)">
263 <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>
264
265 <!-- iframe showing the search results (closed by default) -->
266 <div id="MSearchResultsWindow">
267 <iframe src="" frameborder="0" 
268         name="MSearchResults" id="MSearchResults">
269 </iframe>
270 </div>
271
272 <hr class="footer"/><address class="footer"><small>Generated on Fri Jul 15 2011 13:16:21 for CMSIS DSP Software Library by&#160;
273 <a href="http://www.doxygen.org/index.html">
274 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
275 </body>
276 </html>