Error while conditional compilation of float values.

1 次查看(过去 30 天)
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?

回答(1 个)

Vandana Ravichandran
编辑:Vandana Ravichandran 2017-4-12
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 个评论
vishwajit jadhav
vishwajit jadhav 2017-4-13
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
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

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by