Reports an equality check with Float.NaN or Double.NaN that should be replaced with an isNaN() check.

According to IEEE 754, equality check against NaN always returns false, even for NaN == NaN. Therefore, such a check is likely to be a mistake.

A quick-fix replaces comparison with isNaN() check that uses a different comparison technique and handles NaN values correctly.

Example:


  fun check(value: Double): Boolean {
      return Double.NaN == value
  }

After the fix is applied:


  fun check(value: Double): Boolean {
      return value.isNaN()
  }