1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META http-equiv="Content-Style-Type" content="text/css">
6<BASE target="main">
7<TITLE>Arithmetic Functions (MATH) Functions</TITLE>
8<LINK rel="stylesheet" href="../css/apilist.css">
9</HEAD>
10<BODY>
11<H1>Arithmetic Functions (MATH) Functions</H1>
12<H3><A name="Utility">Utility Functions</A></H3>
13<TABLE border="1" width="100%">
14  <TBODY>
15    <TR>
16      <TH><A href="utility.html" target="_self">MATH_IAbs</A></TH>
17      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
18      <TD>Returns an int-type argument's absolute value.<br />(Inline function)</TD>
19    </TR>
20    <TR>
21      <TH width="25%"><A href="utility.html" target="_self">MATH_IMin</A></TH>
22      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
23      <TD>Compares two int-type arguments and returns the smaller.<br />(Inline function)</TD>
24    </TR>
25    <TR>
26      <TH width="25%"><A href="utility.html" target="_self">MATH_IMax</A></TH>
27      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
28      <TD>Compares two int-type arguments and returns the larger.<br />(Inline function)</TD>
29    </TR>
30    <TR>
31      <TH><A href="utility.html" target="_self">MATH_ABS</A></TH>
32      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
33      <TD>Returns an argument's absolute value<br /> ( (Function macro - has side effects)</TD>
34    </TR>
35    <TR>
36      <TH width="25%"><A href="utility.html" target="_self">MATH_MIN</A></TH>
37      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
38      <TD>Compares two numbers and returns the smaller.<br />(Function macro - has side effects)</TD>
39    </TR>
40    <TR>
41      <TH width="25%"><A href="utility.html" target="_self">MATH_MAX</A></TH>
42      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
43      <TD>Compares two numbers and returns the larger.<br />(Function macro - has side effects)</TD>
44    </TR>
45    <TR>
46      <TH><A href="utility.html" target="_self">MATH_CLAMP</A></TH>
47      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
48      <TD>Returns the value of the first argument fit into the range of <em>low</em> to <em>high</em>.<br />(Function macro - has side effects)</TD>
49    </TR>
50    <TR>
51      <TH width="25%"><A href="utility.html" target="_self">MATH_ROUNDUP</A></TH>
52      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
53      <TD>Returns the value of first argument rounded up to the multiple of second argument.<br />(Function macro)</TD>
54    </TR>
55    <TR>
56      <TH width="25%"><A href="utility.html" target="_self">MATH_ROUNDDOWN</A></TH>
57      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
58      <TD>Returns the value of first argument rounded down to the multiple of second argument.<br />(Function macro)</TD>
59    </TR>
60    <TR>
61      <TH width="25%"><A href="utility.html" target="_self">MATH_ROUNDUP32</A></TH>
62      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
63      <TD>Returns value of argument rounded up to a multiple of 32.<br />(Function macro)</TD>
64    </TR>
65    <TR>
66      <TH width="25%"><A href="utility.html" target="_self">MATH_ROUNDDOWN32</A></TH>
67      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
68      <TD>Returns value of argument rounded down to a multiple of 32.<br />(Function macro)</TD>
69    </TR>
70  </TBODY>
71</TABLE>
72<H3><A name="IntegerOperation">Integer Operations</A></H3>
73<TABLE border="1" width="100%">
74  <TBODY>
75    <TR>
76      <TH width="25%"><A href="int/MATH_ILog2.html" target="_self">MATH_ILog2</A></TH>
77      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
78      <TD>Returns the integer portion of the log base 2 of a <code>u32</code> value.</TD>
79    </TR>
80  </TBODY>
81</TABLE>
82<H3><A name="BitOperation">Bit Operations</A></H3>
83<TABLE border="1" width="100%">
84  <TBODY>
85    <TR>
86      <TH width="25%"><A href="bit/MATH_CountLeadingZeros.html" target="_self">MATH_CountLeadingZeros</A></TH>
87      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
88      <TD>Gets the number of 0s from the start, expressed in a binary 32-bit value.</TD>
89    </TR>
90    <TR>
91      <TH width="25%"><A href="bit/MATH_CountLeadingZeros.html" target="_self">MATH_CLZ</A></TH>
92      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
93      <TD>A different name for <code>MATH_CountLeadingZeros</code>.</TD>
94    </TR>
95    <TR>
96      <TH width="25%"><A href="bit/MATH_CountTrailingZeros.html" target="_self">MATH_CountTrailingZeros</A></TH>
97      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
98      <TD>Gets the number of 0s from the end, expressed in a binary 32-bit value.</TD>
99    </TR>
100    <TR>
101      <TH width="25%"><A href="bit/MATH_CountTrailingZeros.html" target="_self">MATH_CTZ</A></TH>
102      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
103      <TD>A different name for <code>MATH_CountTrailingZeros</code>.</TD>
104    </TR>
105    <TR>
106      <TH width="25%"><A href="bit/MATH_GetLeastSignificantBit.html" target="_self">MATH_GetLeastSignificantBit</A></TH>
107      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
108      <TD>Gets the lowest order bit set to 1, expressed in a binary 32-bit value.</TD>
109    </TR>
110    <TR>
111      <TH width="25%"><A href="bit/MATH_GetLeastSignificantBit.html" target="_self">MATH_LSB</A></TH>
112      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
113      <TD>A different name for <code>MATH_GetLeastSignificantBit</code>.</TD>
114    </TR>
115    <TR>
116      <TH width="25%"><A href="bit/MATH_GetMostSignificantBit.html" target="_self">MATH_GetMostSignificantBit</A></TH>
117      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
118      <TD>Gets the highest order bit set to 1, expressed in a binary 32-bit value.</TD>
119    </TR>
120    <TR>
121      <TH width="25%"><A href="bit/MATH_GetMostSignificantBit.html" target="_self">MATH_MSB</A></TH>
122      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
123      <TD>A different name for <code>MATH_GetMostSignificantBit</code>.</TD>
124    </TR>
125    <TR>
126      <TH width="25%"><A href="bit/MATH_CountPopulation.html" target="_self">MATH_CountPopulation</A></TH>
127      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
128      <TD>Gets the number of <code>1</code> bits, expressed in binary 32-bit.</TD>
129    </TR>
130  </TBODY>
131</TABLE>
132<H3><A name="Random">Random Number-Related Features</A></H3>
133<TABLE border="1" width="100%">
134  <TBODY>
135    <TR>
136      <TH width="25%"><A href="rand/MATH_InitRand.html">MATH_InitRand*</A></TD>
137      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
138      <TD>Initializes random number generated by linear congruential method.</TD>
139    </TR>
140    <TR>
141      <TH><A href="rand/MATH_Rand.html">MATH_Rand*</A></TD>
142      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
143      <TD>Gets random number generated by linear congruential method.</TD>
144    </TR>
145    <TR>
146      <TH><A href="rand/MATHRandContext.html">MATHRandContext*</A></TD>
147      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
148      <TD>The context structure of random number generated by linear congruential method.</TD>
149    </TR>
150  </TBODY>
151</TABLE>
152<H3><A name="Random">Sort-Related Functions</A></H3>
153<TABLE border="1" width="100%">
154  <TBODY>
155    <TR>
156      <TH width="25%"><A href="sort/MATH_QSort.html">MATH_QSort</A></TD>
157      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
158      <TD>Performs quicksort.</TD>
159    </TR>
160    <TR>
161      <TH><A href="sort/MATH_QSortStackSize.html">MATH_QSortStackSize</A></TD>
162      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
163      <TD>Gets the buffer size required for a quicksort.</TD>
164    </TR>
165    <TR>
166      <TH><A href="sort/MATHCompareFunc.html">MATHCompareFunc</A></TD>
167      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
168      <TD>Comparison function type that is set when using quicksort.</TD>
169    </TR>
170  </TBODY>
171</TABLE>
172<H3><A name="FFT">Fast Fourier Transforms</A></H3>
173<TABLE border="1" width="100%">
174  <TBODY>
175    <TR>
176      <TH width="25%"><A href="fft/MATH_MakeFFTSinTable.html">MATH_MakeFFTSinTable</A></TD>
177      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
178      <TD>This creates the sine value table for the fast Fourier transform.</TD>
179    </TR>
180    <TR>
181      <TH><A href="fft/MATH_FFT.html">MATH_FFT</A></TD>
182      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
183      <TD>This applies the fast Fourier transform on complex number sequences.</TD>
184    </TR>
185    <TR>
186      <TH><A href="fft/MATH_IFFT.html">MATH_IFFT</A></TD>
187      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
188      <TD>This applies the inverse fast Fourier transform on the complex number sequences.</TD>
189    </TR>
190    <TR>
191      <TH><A href="fft/MATH_FFTReal.html">MATH_FFTReal</A></TD>
192      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
193      <TD>This applies the fast Fourier transform on the real number sequences.</TD>
194    </TR>
195    <TR>
196      <TH><A href="fft/MATH_IFFTReal.html">MATH_IFFTReal</A></TD>
197      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
198      <TD>This performs the inverse fast Fourier transform on the real number sequence.</TD>
199    </TR>
200  </TBODY>
201</TABLE>
202<H3><A name="Hash">Hash Value-Related Functions</A></H3>
203<TABLE border="1" width="100%">
204  <TBODY>
205    <TR>
206      <TH width="25%"><A href="hash/MATH_ChecksumInit.html">MATH_Checksum*Init</A></TD>
207      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
208      <TD>Initializes the context structure for calculation of hash values based on checksums.</TD>
209    </TR>
210    <TR>
211      <TH><A href="hash/MATH_ChecksumUpdate.html">MATH_Checksum*Update</A></TD>
212      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
213      <TD>Updates the hash value based on checksums with the input data.</TD>
214    </TR>
215    <TR>
216      <TH><A href="hash/MATH_ChecksumGetHash.html">MATH_Checksum*GetHash</A></TD>
217      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
218      <TD>Gets the hash value based on checksums from the context structure.</TD>
219    </TR>
220    <TR>
221      <TH><A href="hash/MATHChecksumContext.html">MATHChecksum*Context</A></TD>
222      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
223      <TD>The context structure used for calculating hash based on checksums.</TD>
224    </TR>
225    <TR>
226      <TH><A href="hash/MATH_CalcChecksum.html">MATH_CalcChecksum*</A></TD>
227      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
228      <TD>The function that calculates hash value based on checksums using one function.</TD>
229    </TR>
230    <TR>
231      <TH><A href="hash/MATH_CRCInitTable.html">MATH_CRC*InitTable</A></TD>
232      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
233      <TD>Initializes the table used for calculating hash value based on CRCs.</TD>
234    </TR>
235    <TR>
236      <TH><A href="hash/MATH_CRCInit.html">MATH_CRC*Init</A></TD>
237      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
238      <TD>Initializes the context structure for calculation of hash values based on CRCs.</TD>
239    </TR>
240    <TR>
241      <TH><A href="hash/MATH_CRCUpdate.html">MATH_CRC*Update</A></TD>
242      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
243      <TD>Updates the hash value based on CRCs with the input data.</TD>
244    </TR>
245    <TR>
246      <TH><A href="hash/MATH_CRCGetHash.html">MATH_CRC*GetHash</A></TD>
247      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
248      <TD>Gets the hash value based on CRCs from the context structure.</TD>
249    </TR>
250    <TR>
251      <TH><A href="hash/MATHCRCTable.html">MATHCRC*Table</A></TD>
252      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
253      <TD>The table structure used for calculating hash values based on CRCs.</TD>
254    </TR>
255    <TR>
256      <TH><A href="hash/MATHCRCContext.html">MATHCRC*Context</A></TD>
257      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
258      <TD>The context structure used for calculating hash based on CRCs.</TD>
259    </TR>
260    <TR>
261      <TH><A href="hash/MATH_CalcCRC.html">MATH_CalcCRC*</A></TD>
262      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
263      <TD>The utility function that calculates hash values based on CRCs using one function.</TD>
264    </TR>
265  </TBODY>
266</TABLE>
267<H3><A name="Digest">Message Digest Functions</A></H3>
268<TABLE border="1" width="100%">
269  <TBODY>
270    <TR>
271      <TH width="25%"><A href="dgt/MATH_SHA1Init.html">MATH_SHA1Init</A></TD>
272      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
273      <TD>Initializes the context structure used for message digest calculation based on SHA1.</TD>
274    </TR>
275    <TR>
276      <TH><A href="dgt/MATH_SHA1Update.html">MATH_SHA1Update</A></TD>
277      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
278      <TD>Updates the SHA1-based message digest value using input data.</TD>
279    </TR>
280    <TR>
281      <TH><A href="dgt/MATH_SHA1GetHash.html">MATH_SHA1GetHash</A></TD>
282      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
283      <TD>Gets the SHA1-based message digest value from the context structure.</TD>
284    </TR>
285    <TR>
286      <TH><A href="dgt/MATHSHA1Context.html">MATHSHA1Context</A></TD>
287      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
288      <TD>The context structure used for message digest calculation based on SHA1.</TD>
289    </TR>
290    <TR>
291      <TH><A href="dgt/MATH_CalcSHA1.html">MATH_CalcSHA1</A></TD>
292      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
293      <TD>Utility function that calculates message digest values based on SHA1 using one function.</TD>
294    </TR>
295    <TR>
296      <TH><A href="dgt/MATH_CalcHMACSHA1.html">MATH_CalcHMACSHA1</A></TD>
297      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
298      <TD>Calculates keyed hash values based on HMAC-SHA1.</TD>
299    </TR>
300    <TR>
301      <TH><A href="dgt/MATH_SHA256Init.html">MATH_SHA256Init</A></TD>
302      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
303      <TD>Initializes the context structure used for SHA256 message digest calculation.</TD>
304    </TR>
305    <TR>
306      <TH><A href="dgt/MATH_SHA256Update.html">MATH_SHA256Update</A></TD>
307      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
308      <TD>Updates the SHA256 message digest value using input data.</TD>
309    </TR>
310    <TR>
311      <TH><A href="dgt/MATH_SHA256GetHash.html">MATH_SHA256GetHash</A></TD>
312      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
313      <TD>Gets the SHA256 message digest value from a context structure.</TD>
314    </TR>
315    <TR>
316      <TH><A href="dgt/MATHSHA256Context.html">MATHSHA256Context</A></TD>
317      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
318      <TD>The context structure used for SHA256 message digest calculation.</TD>
319    </TR>
320    <TR>
321      <TH><A href="dgt/MATH_CalcSHA256.html">MATH_CalcSHA256</A></TD>
322      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
323      <TD>Utility function that allows SHA256 message digest calculation to be performed with a single function call.</TD>
324    </TR>
325    <TR>
326      <TH><A href="dgt/MATH_CalcHMACSHA256.html">MATH_CalcHMACSHA256</A></TD>
327      <TD width="48"><img src="../image/NTR.gif"><img src="../image/TWL.gif"></TD>
328      <TD>Calculates HMAC-SHA256 keyed hash values.</TD>
329    </TR>
330  </TBODY>
331</TABLE>
332<table border="0" height="100%"><tr><td style="background-color : white;"></td></tr></table>
333
334<hr><p>CONFIDENTIAL</p></body>
335</HTML>