Casting modes

Description

Specify how the code generator casts data types for variables.

Category: Code Generation > Code Style

Settings

Default: Nominal

Nominal

Generate code that uses default C compiler data type casting.

void rtwdemo_rtwecintro_step(void)
{
  boolean_T rtb_equal_to_count;
  rtDWork.X++;
  rtb_equal_to_count = (rtDWork.X != 16);
  if (rtb_equal_to_count && (rtPrevZCSigState.Amplifier_Trig_ZCE != POS_ZCSIG))
  {
    rtY.Output = rtU.Input << 1;
  }

Standards Compliant

Generate code that casts data types to conform to MISRA® standards.

void rtwdemo_rtwecintro_step(void)
{
  boolean_T rtb_equal_to_count;
	 rtDWork.X++;
  rtb_equal_to_count = (boolean_T)(int32_T)((int32_T)rtDWork.X != (int32_T)16);
  if (((int32_T)rtb_equal_to_count) && (rtPrevZCSigState.Amplifier_Trig_ZCE !=
       POS_ZCSIG)) {
    rtY.Output = (int32_T)(uint32_T)((uint32_T)rtU.Input << (uint32_T)(int8_T)1);
  }

Explicit

Generate code that casts data type values explicitly.

/* Model step function */
void rtwdemo_rtwecintro_step(void)
{
  boolean_T rtb_equal_to_count;
  rtDWork.X = (uint8_T)(1U + (uint32_T)(int32_T)rtDWork.X);
  rtb_equal_to_count = (boolean_T)((int32_T)rtDWork.X != 16);
  if (((int32_T)rtb_equal_to_count) && ((int32_T)((int32_T)
        rtPrevZCSigState.Amplifier_Trig_ZCE != (int32_T)POS_ZCSIG))) {
    rtY.Output = rtU.Input << 1;
  }

Command-Line Information

Parameter: CastingMode
Type: character vector
Value: 'Nominal' | 'Standards' | 'Explicit'
Default: 'Nominal'

Recommended Settings

ApplicationSetting
DebuggingNo impact
TraceabilityNo impact
EfficiencyNo impact
Safety precautionNo impact

Related Topics