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.

Function MLIB_VMac_F16<br />

The output of the function is defined by the following simple equation:<br />

Equation MLIB_VMac_Eq1<br />

This inline function returns the vector multiply accumulate of input values. The input<br />

values as well as output value is considered as 16-bit fractional values. The output<br />

saturation is not implemented in this function, thus in case the vector multiply-add of<br />

input values is outside the (-1, 1) interval, the output value will overflow without any<br />

detection.<br />

Note<br />

Due to effectivity reason this function is implemented as inline<br />

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

4.182.5 Re-entrancy<br />

The function is re-entrant.<br />

4.182.6 Code Example<br />

#include "mlib.h"<br />

tFrac16 f16In1;<br />

tFrac16 f16In2;<br />

tFrac16 f16In3;<br />

tFrac16 f16In4;<br />

tFrac16 f16Out;<br />

void main(void)<br />

{<br />

// input1 value = 0.25<br />

f16In1 = FRAC16 (0.25);<br />

// input2 value = 0.15<br />

f16In2 = FRAC16 (0.15);<br />

// input3 value = 0.35<br />

f16In3 = FRAC16 (0.35);<br />

// input4 value = 0.45<br />

f16In4 = FRAC16 (0.45);<br />

// output should be FRAC16(0.195) = 0x18F5<br />

f16Out = MLIB_VMac_F16(f16In1, f16In2, f16In3, f16In4);<br />

// output should be FRAC16(0.195) = 0x18F5<br />

f16Out = MLIB_VMac (f16In1, f16In2, f16In3, f16In4, Define F16);<br />

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

// Available only if 16-bit fractional implementation selected<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 />

680 Freescale Semiconductor, Inc.

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

Saved successfully!

Ooh no, something went wrong!