beautypg.com

National Instruments AutoCode NI MATRIX User Manual

Page 198

background image

Chapter 7

Code Optimization

© National Instruments Corporation

7-7

AutoCode Reference

the buffer

_R_P

and the initialization code are optimized away. Instead, the

buffer

R_P

(parameter array), states, derivatives, and

info

structures are

initialized directly in the declaration portion. After these structures are
modified by computations, the initial values are lost, and the application
cannot be restarted again.

Example 7-4

Sample Segment of Code with Restart Capability Optimized Away

void subsys_1(U, Y)

struct _Sys_ExtIn *U;

struct _Subsys_1_out *Y;

{

/***** States Array. *****/

static struct _Subsys_1_states ss_1_states[2] = {{0.0, 0.0}, {0.0, 0.0}};

/***** Current and Next States Pointers. *****/

static struct _Subsys_1_states *X = &ss_1_states[0];

static struct _Subsys_1_states *XD = &ss_1_states[1];

static struct _Subsys_1_states *XTMP;

static RT_INTEGER iinfo[4] = {0, 1, 1, 1};

static RT_INTEGER INIT = 1;

const RT_DURATION TSAMP = 0.1;

/***** Parameters. *****/

static RT_FLOAT R_P[8] = {-1.0, 1.0, 1.5, 2.0, -1.0, 1.0, 1.25, 1.4};

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

RT_FLOAT proc_2_1;

RT_FLOAT proc_14_1;

RT_FLOAT proc_12_1;

/***** Algorithmic Local Variables. *****/

RT_INTEGER ilower;

RT_INTEGER iupper;

RT_FLOAT uval;

RT_INTEGER k;

RT_FLOAT alpha;

..

..