Main Content

Check relational comparisons on floating-point signals

mathworks.hism.hisl_0016

Since R2021a

Dependencies: Simulink® Check™

Usage: High-Integrity System Modeling

Guideline: hisl_0016: Usage of blocks that compute relational operators

Description

Use this check to identify the relational blocks or operations that perform equal-to or not-equal-to comparisons on floating-point signals.

Check Parameters

Use the Model Advisor Configuration Editor to define the scope of the analysis by specifying the input parameters.

ParameterDescription
Check external .m files referenced in the model

Specify whether to run on referenced MATLAB® files in the model.

on (default) | off

Follow links

Specify whether to include content of library-linked blocks in the analysis.

on (default) | off

Look under masks

Specify whether to include masked model elements in the analysis.

all (default) | none | graphical | functional

  • all — Check analysis includes all masked model elements.

  • none — Check analysis excludes masked model elements.

  • graphical — Check analysis includes only the graphical masked model elements.

  • functional — Check analysis includes only the functional masked model elements.

Recommended Actions and Results

Review the violations that are flagged by the check and the recommended action for fixing the issue. After applying the changes, save the model and rerun the check analysis.

Modeling ConditionRecommended Action
One or more relational operations used in the model perform equal-to or not-equal-to comparisons on floating-point signals.

For the identified blocks and expressions, do one of these:

  • Change the signal data type.

  • Revise the model to eliminate using == or ~= operators on floating-point signals.

One or more If blocks used in the model have if expressions or elseif expressions that can cause floating-point equal-to or not-equal-to comparisons in generated code.Modify the expressions to avoid floating-point equal-to or not-equal-to comparisons in generated code.

Capabilities and Limitations

  • Does not run on library models

  • Allows exclusions of blocks and charts

  • Analyzes only active variant choices

  • Performs model compilation

Version History

Introduced in R2021a