You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Especially, if each value considered in for-loop is 0, calculated maximum is Double.MIN_VALUE, because Double.MIN_VALUE > 0.
However, replacing Double.MIN_VALUE with Double.NEGATIVE_INFINITY cause wrong calculation. In such case maxQ(8) is Double.NEGATIVE_INFINITY and whole calculation fails.
Summary: maximum calculation is implemented wrong or at least misleading. It hard to me to propose a solution because it is not clear to me what is expected to be maxQ(8)
The text was updated successfully, but these errors were encountered:
I checked the code and I found the same issue as described above. Please use double maxValue = Double.NEGATIVE_INFINITY otherwise condition is never satisfied when it should be
if (value > maxValue)
maxValue = value;
While testing your code, I found that having double maxValue = Double.NEGATIVE_INFINITY throws off the whole calculation. Using Double.MIN_VALUE should fix things. Well, it runs perfect using MIN_VALUE anyway.
A standard pattern is used for maximum calculation:
But
Double.MIN_VALUE
in Java is not minimal double but minimal positive value. See https://stackoverflow.com/questions/3884793/why-is-double-min-value-in-not-negative for details.Especially, if each
value
considered in for-loop is 0, calculated maximum isDouble.MIN_VALUE
, becauseDouble.MIN_VALUE
> 0.However, replacing
Double.MIN_VALUE
withDouble.NEGATIVE_INFINITY
cause wrong calculation. In such casemaxQ(8)
isDouble.NEGATIVE_INFINITY
and whole calculation fails.Summary: maximum calculation is implemented wrong or at least misleading. It hard to me to propose a solution because it is not clear to me what is expected to be
maxQ(8)
The text was updated successfully, but these errors were encountered: