Main Content

Signed integer division rounds to

Description

Describe how your compiler for the test hardware rounds the result of dividing two signed integers.

Category: Hardware Implementation

Settings

Default: Undefined

Undefined

Choose this option if neither Zero nor Floor describes the compiler behavior, or if that behavior is unknown.

Zero

If the quotient is between two integers, the compiler chooses the integer that is closer to zero as the result.

Floor

If the quotient is between two integers, the compiler chooses the integer that is closer to negative infinity.

Tips

  • Use the Integer rounding mode parameter on your model's blocks to simulate the rounding behavior of the C compiler that you use to compile code generated from the model. This setting appears on the Signal Attributes pane of the parameter dialog boxes of blocks that can perform signed integer arithmetic, such as the Product block.

  • For most blocks, the value of Integer rounding mode completely defines rounding behavior. For blocks that support fixed-point data and the Simplest rounding mode, the value of Signed integer division rounds to also affects rounding. For details, see Rounding (Fixed-Point Designer).

  • For information on how this option affects code generation, see Hardware Implementation Options (Simulink Coder).

  • This table illustrates the compiler behavior described by the options for this parameter.

    NDIdeal N/DZeroFloorUndefined

    33

    4

    8.25

    8

    8

    8

    -33

    4

    -8.25

    -8

    -9

    -8 or -9

    33

    -4

    -8.25

    -8

    -9

    -8 or -9

    -33

    -4

    8.25

    8

    8

    8 or 9

Dependency

  • Selecting a device by using the Device vendor and Device type parameters sets a device-specific value for this parameter.

  • This parameter is enabled only if you can modify it for the selected hardware.

Command-Line Information

Parameter: TargetIntDivRoundTo
Value: 'Floor' | 'Zero' | 'Undefined'
Default: 'Undefined'

Recommended settings

ApplicationSetting
DebuggingNo impact for simulation or during development.
Undefined for production code generation.
TraceabilityNo impact for simulation or during development.
Zero or Floor for production code generation.
EfficiencyNo impact for simulation or during development.
Zero for production code generation.
Safety precaution

No impact when Test hardware is the same as production hardware is selected. If it is not selected, no recommendation.

Related Topics