" написал свой: d1>d2?d1:d2; Пролистнул дальше, и что я вижу? Мои строки, только для int. Зачем с double с NaN заморачивались мне непонятно. 
А у нас всё по быстрому
И по-моему NaN это не ноль, это неопределенное значение aka бесконечность
Кто-то словил льва инвертацией пространства.
6 авг 2010 в 19:47
public static int abs(int i) {
return i >= 0 ? i : -i;
}
а для запяточных так:
public static double abs(double d) {
long bits = Double.doubleToLongBits(d);
bits &= 0x7fffffffffffffffL;
return Double.longBitsToDouble(bits);
}
для float так-же, только патерн короче.