минимизирует количество пропусков кеша, при условии, что вы выбрали правильный размер узла. Это должно сделать это довольно быстро на практике.

орошо известны все проблемы, связанные со сравнением поплавков. Это как раз причина этого вопроса.
Я хочу создать быструю хэш-таблицу для значений, которые являются трехмерными векторами (3 числа с плавающей точкой - x, y, z). Можно предположить, что длина вектора всегда равна 1,0 (sqrt(x*x+y*y+z*z) это 1.0)

По сути, это означает, что я ищу хэш-функцию, которая принимает значения, которые почти равны одному и тому же значению без знака int, и соответствующий оператор равенства, который имеет значение true, если значения хеш-функции равны (не обязательно, только если они равны)

редактировать -
Ложные срабатывания (то есть векторы, которые различны, но отображаются на одно и то же ведро) - это данные, поскольку это хеш-таблица.
Ложные негативы (т. Е. Векторы, которые находятся близко друг к другу, но отображаются в разные области), нежелательны, но кажется, что их невозможно избежать. В моем случае они не приведут к полному разрыву, просто некоторое дублирование данных, с которым мне придется смириться.

Ответы на вопрос(1)

Ваш ответ на вопрос