LINUX.ORG.RU

Ord trait для f64

 


0

2

У меня есть структура с f64 и я хочу сортировать структуры, почему Ord не реализован для f64? В документации написано, что PartialOrd это «Trait for values that can be compared for a sort-order.». Этот трэйт реализован для f64, но вектор не хочет сортировать даже чистые f64. Получается, что PartialOrd не достаточно для сортировки, тогда зачем PartialOrd? И какой есть простой способ реализовать Ord для f64?

Причина проста: NaN ломает отношение порядка.

И какой есть простой способ реализовать Ord для f64?

Можно обернуть в структуру, например. Но тебе всё равно нужно что-то делать с нечислом.
А можно не реализовывать Ord, а просто использовать sort_by.

quantum-troll ★★★★★
()

Для конечных+бесконечных f64 можно определить Ord. Сейчас нет времени расписывать. Поищи в интернете!

Если есть NaN, то тут сложнее.

dave ★★★★★
()

Не сыпь соль на рану. Плачем, колемся, продолжаем жрать кактус. Компилятор предельно честен о том что может быть NaN

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Не ожидал от него такой предательской честности после С и С++.

andalevor ★★
() автор топика
Ответ на: комментарий от vertexua

Вертехуй, подлый хуй. Бегом побежал оправдываться блядь.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.