I tried:
import kotlin.Double.Companion.POSITIVE_INFINITY
import kotlin.Double.Companion.NaN
const val inf = POSITIVE_INFINITY
const val nan = NaN
But I get:
The initializer 'Const' val 'must be a constant value
EDIT:
The reason I need to do this is because Junit5 parameterized tests :
@ParameterizedTest
@ValueSource(doubles = doubleArrayOf(nan, inf, -2* epsilon, 1.5, -0.5, 1.0 + 2* epsilon))
fun ensureNotAProbability(number: Double)
{
...
}
Due to some limitations of Java annotations (described in this SO answer ), things passed to annotation can only be compile-time constants. So I need NaN compilation time, positive and negative infinity.
source
share