Main Content

Signed integer division rounds to

Description

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

Category: Hardware Implementation

Settings

Default: Zero

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

  • To simulate rounding behavior of the C compiler that you use to compile generated code, use the Integer rounding mode parameter for blocks. 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 more information on how this parameter affects code generation, see Hardware Implementation Options (Simulink Coder).

  • This table lists 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: ProdIntDivRoundTo
Type: string
Value: 'Floor' | 'Zero' | 'Undefined'
Default: 'Zero'

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 recommendation for simulation without code generation.
For simulation with code generation, select your Device vendor and Device type if they are available in the drop-down list.  If your Device vendor and Device type are not available, set device-specific values by using Custom Processor.

See Also