Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rules 13.4 Function call with float
#2
Using a floating point object to count or compare loop iterations is not recommended. For some values of the loop limits and increment, the accumulation of rounding errors could result in a number of iterations that differs from the expected number.

There are contexts in which use of floating point objects in a controlling expression might not cause any issues (including the example you cite). However a strict interpretation of MISRA-C:2004 does not permit any such uses.

See also: http://misra.org.uk/forum/viewtopic.php?f=69&t=873

---

For MISRA C:2012 this has been clarified in Rule 14.1 and Rule 14.2 - this would allow your example to be compliant, provided that float_to_int(float_var) was invarient
Posted by and on behalf of the MISRA C Working Group
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)