MISRA Discussion Forums

Full Version: Which rule of MISRA C:2012 matches rule 13.3 of MISRA C: 2004
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
MISRA C: 2004 has Rule 13.3 (required): Floating-point expressions shall not be tested for equality or inequality.

This rule is very useful. We use Mathworks/Polyspace for static analysis. We can find issues of (floating variable == or != 0.0) by turning on MISRA C: 2004, but we miss this check by using MISRA C:2012.

We want to always apply the latest MISRA C standard, but not sure which rule in MISRA C: 2012 matches rule 13.3 of MISRA C: 2004?
Qiong Wrote:MISRA C: 2004 has Rule 13.3 (required): Floating-point expressions shall not be tested for equality or inequality.

This rule is very useful. We use Mathworks/Polyspace for static analysis. We can find issues of (floating variable == or != 0.0) by turning on MISRA C: 2004, but we miss this check by using MISRA C:2012.

We want to always apply the latest MISRA C standard, but not sure which rule in MISRA C: 2012 matches rule 13.3 of MISRA C: 2004?

https://misra.org.uk/forum/viewtopic.php?f=241&t=1256
The information is really useful. Thank you.
dg1980 Wrote:
Qiong Wrote:MISRA C: 2004 has Rule 13.3 (required): Floating-point expressions shall not be tested for equality or inequality.

This rule is very useful. We use Mathworks/Polyspace for static analysis. We can find issues of (floating variable == or != 0.0) by turning on MISRA C: 2004, but we miss this check by using MISRA C:2012.

We want to always apply the latest MISRA C standard, but not sure which rule in MISRA C: 2012 matches rule 13.3 of MISRA C: 2004?

https://misra.org.uk/forum/viewtopic.php?f=241&t=1256
Floating-point arithmetic is inherently implementation-defined, which is covered by:
Quote:Directive 1.1 Any implementation-defned behaviour on which the output of the
program depends shall be documented and understood
The https://misra.org.uk/forum/viewtopic.php?t=1256 document on MISRA-C:2004 to MISRA C:2012 mappings states
Quote:Focussing on one aspect of floating-point arithmetic (as in MISRA C:2004 Rule 13.3) attached too much importance to that aspect and might give users a false sense of confidence.