03.08.2013 Views

Embedded Software and Motor Control Libraries for PXR40xx

Embedded Software and Motor Control Libraries for PXR40xx

Embedded Software and Motor Control Libraries for PXR40xx

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Equation MLIB_MulSat_Eq1<br />

Note<br />

Overflow is detected. The functions saturates the return value if<br />

it cannot fit into the return type.<br />

4.153.7 Re-entrancy<br />

The function is re-entrant.<br />

4.153.8 Code Example<br />

#include "mlib.h"<br />

tFrac32 f32In1;<br />

tFrac32 f32In2;<br />

tFrac32 f32Out;<br />

void main(void)<br />

{<br />

// first input = 0.8<br />

f32In1 = FRAC32 (0.8);<br />

}<br />

// second input = 0.75<br />

f32In2 = FRAC32 (0.75);<br />

// output should be 0x4ccccccc = FRAC32(0.6)<br />

f32Out = MLIB_MulSat_F32(f32In1,f32In2);<br />

// output should be 0x4ccccccc = FRAC32(0.6)<br />

f32Out = MLIB_MulSat (f32In1,f32In2,Define F32);<br />

// ##############################################################<br />

// Available only if 32-bit fractional implementation selected<br />

// as default<br />

// ##############################################################<br />

// output should be 0x4ccccccc = FRAC32(0.6)<br />

f32Out = MLIB_MulSat (f32In1,f32In2);<br />

4.154 Function MLIB_MulSat_F32F16F16<br />

This function multiplies two input parameters <strong>and</strong> saturate if necessary.<br />

4.154.1 Declaration<br />

tFrac32 MLIB_MulSat_F32F16F16(register tFrac16 f16In1, register tFrac16 f16In2);<br />

<strong>Embedded</strong> <strong>Software</strong> <strong>and</strong> <strong>Motor</strong> <strong>Control</strong> <strong>Libraries</strong> <strong>for</strong> <strong>PXR40xx</strong>, Rev. 1.0<br />

Chapter 4 API References<br />

Freescale Semiconductor, Inc. 625

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!