National Instruments AutoCode NI MATRIX User Manual

Page 206

Advertising
background image

Chapter 7

Code Optimization

© National Instruments Corporation

7-15

AutoCode Reference

/* {const..4} */

Y->const_4_1 = 2.0*const_2_1;

..

..

Example 7-10

Code Generated with the Constant Propagation Option

void subsys_1(Y)

struct _Subsys_1_out *Y;

{

static RT_INTEGER iinfo[4];

/***** Local Block Outputs. *****/

/******* Initialization. *******/

if (SUBSYS_PREINIT[1]) {

iinfo[0] = 0;

iinfo[1] = 1;

iinfo[2] = 1;

iinfo[3] = 1;

SUBSYS_PREINIT[1] = FALSE;

return;

}

/***** Output Update. *****/

/* ---------------------------- Algebraic Expression */

/* {const..1} */

/* ---------------------------- Algebraic Expression */

/* {const..11} */

/* ---------------------------- Sum of Vectors */

/* {const..2} */

/* ---------------------------- Gain Block */

/* {const..4} */

Y->const_4_1 = 4.0;

..

..

In Example 7-10, during code generation time, AutoCode figures out that
the outputs of both the algebraic expressions are constants and feeds them
to the summation block. As all of the inputs to the summation block are
constants (5 and 3), AutoCode computes the output of the summation block
at code generation time (

const_2_1 = 5 - 3 = 2

). This becomes the

Advertising