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>