Это условие, чтобы поймать случай, когда value
само по себе -0.0
. Он гарантирует, что метод возвращает -0.0
, когда входное значение равно -0.0
.
Условие -0.0 < 0.0
ложно, но 1.0 / -0.0
равно -∞
, а -∞ < 0.0
истинно.
Поэтому 1.0 / value < 0.0
будет иметь значение true, когда value
равно -0.0
, тогда как value < 0.0
приведет к ложному.
Это подтверждается комментарием в строке над цитируемой вами строкой:
// Preserve the sign of the input, including +/-0.0
return value < 0.0 || 1.0 / value < 0.0 ? -0.0 : 0.0;
Числа с плавающей точкой странные, особенно в таких случаях. См. этот ответ для получения дополнительной информации.