Error while conditional compilation of float values.

2 views (last 30 days)
I am using IHME-8.2.0.15 (R2011b) version of polyspace. My code has conditional compilation part where it compares(<= or >=) two float values in #if condition. The polyspace throws error as "expression must have integral type" while compilation. Is there any way to allow float comparision in polyspace?

Answers (1)

Vandana Ravichandran
Vandana Ravichandran on 12 Apr 2017
Edited: Vandana Ravichandran on 12 Apr 2017
While comparing floating-point numbers, it is invalid to use equality (==) or inequality (!=). There are two exceptions to this: when one of the operands is 0.0 because zero can be represented exactly, and when comparing a variable against itself such as foo == foo or foo != foo. However, it should be possible to use a different operator such as '>' or '<'.
Refer to the example listed on the following page:
  2 Comments
vishwajit jadhav
vishwajit jadhav on 13 Apr 2017
Hi Vandana,Thank you for your answer.Polyspace does not allow any kind of comparision('<','>','<=','>=') of two different values.Is there any way to make polyspace ignore error?
Alexandre De Barros
Alexandre De Barros on 14 Apr 2017
Hi vishwajit,
can you confirm that the floats are used in the preprocessor directives like:
#if VALUE >= 1.0
If yes, what is the name of your compiler?
And can you show me the #if line?
Alex

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!