Здравствуйте, Erop, Вы писали:
E>Ну, флоаты сами по себе гранулированы, относительно даблов. Просто неудобно.
E>Но можно же их гранулировать насильно, как часть твоей функции?
Может, мы друг друга не понимаем. Не важно, дабл или флоат — они оба меньше внутреннего представления FPU и в быстрой модели мусор будет оставаться наверняка. Мусор заползает в значимые биты. Чтобы с этим бороться, мы будем вынуждены срезать мусор самостоятельно, причем и до операции, и после оной. И количество срезаемых бит мантиссы должно учитывать сущность операции — одно дело сложение (там заползет меньше), другое дело — возведение в квадрат. Правка: тут даже не знаю у кого больше заполезт
E>Вот смотри, у алгоритма, который вероятность коллизии считает, есть предусловие, что точки должны быть отсортированы.
E>Это предусловие как выражается? Например, есть две точки, на одинаковом расстоянии. У тебя из-за дребезга получилось, что они должны идти в порядке а, b, а в том алгоритме получится, что ожидаемый порядок b, a. Что тогда случится?
E>Или алгоритму достаточно приблизительной сортировки? Ну, типа, что бы если встретил точку на расстоянии r, это гарантировало, что дальше точки не ближе, чем r-e? Где е > 0 -- некоторая допустимая погрешность?
Да. Тому алгоритму будет достаточно, чтобы точки были отсортированы более-менее приблизительно. То есть дребезг не создает алгоритмической проблемы, он создает исключительно техническую проблему падения алгоритма сортировки.