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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.168.4 Description<br />

Based on sign of second parameter this function shifts the first parameter to right or left<br />

<strong>and</strong> saturate if an overflow is detected. If the sign of second parameter is negative, shift to<br />

right.<br />

Note<br />

The shift amount cannot exceed in magnitude the bit-width of<br />

the shift value, that means must be within the range -15...15.<br />

Otherwise the result of the function is undefined. Due to<br />

effectivity reason this function is implemented as inline <strong>and</strong><br />

thus is not ANSI-C compliant.<br />

4.168.5 Re-entrancy<br />

The function is re-entrant.<br />

4.168.6 Code Example<br />

#include "mlib.h"<br />

tFrac16 f16In1;<br />

tFrac16 f16Out;<br />

tS16 s16In2;<br />

void main(void)<br />

{<br />

// first input = 0.25<br />

f16In1 = FRAC16 (0.25);<br />

// second input = -1<br />

s16In2 = -1;<br />

}<br />

// output should be 0x1000 ~ FRAC16(0.125)<br />

f16Out = MLIB_ShBiSat_F16(f16In1, s16In2);<br />

// output should be 0x1000 ~ FRAC16(0.125)<br />

f16Out = MLIB_ShBiSat (f16In1, s16In2, Define F16);<br />

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

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

// as default<br />

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

// output should be 0x1000 ~ FRAC16(0.125)<br />

f16Out = MLIB_ShBiSat (f16In1, s16In2);<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. 651

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

Saved successfully!

Ooh no, something went wrong!