Re[6]: std::sort и приближенный предикат
От: Went  
Дата: 30.01.16 07:23
Оценка:
Здравствуйте, Erop, Вы писали:
E>Ну, флоаты сами по себе гранулированы, относительно даблов. Просто неудобно.
E>Но можно же их гранулировать насильно, как часть твоей функции?
Может, мы друг друга не понимаем. Не важно, дабл или флоат — они оба меньше внутреннего представления FPU и в быстрой модели мусор будет оставаться наверняка. Мусор заползает в значимые биты. Чтобы с этим бороться, мы будем вынуждены срезать мусор самостоятельно, причем и до операции, и после оной. И количество срезаемых бит мантиссы должно учитывать сущность операции — одно дело сложение (там заползет меньше), другое дело — возведение в квадрат. Правка: тут даже не знаю у кого больше заполезт

E>Вот смотри, у алгоритма, который вероятность коллизии считает, есть предусловие, что точки должны быть отсортированы.

E>Это предусловие как выражается? Например, есть две точки, на одинаковом расстоянии. У тебя из-за дребезга получилось, что они должны идти в порядке а, b, а в том алгоритме получится, что ожидаемый порядок b, a. Что тогда случится?
E>Или алгоритму достаточно приблизительной сортировки? Ну, типа, что бы если встретил точку на расстоянии r, это гарантировало, что дальше точки не ближе, чем r-e? Где е > 0 -- некоторая допустимая погрешность?
Да. Тому алгоритму будет достаточно, чтобы точки были отсортированы более-менее приблизительно. То есть дребезг не создает алгоритмической проблемы, он создает исключительно техническую проблему падения алгоритма сортировки.
Отредактировано 30.01.2016 8:18 Went . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.