I am well aware of all the problems involved in comparing floats. This is exactly the reason for this question.
I\'m looking to create a fast hash table for values that
don't know how fast this might be, but since you have unit vectors, they all lie on the surface of a sphere. convert to a http://en.wikipedia.org/wiki/Spherical_coordinate_system. then use phi and theta to choose a bucket. there will be no false positives. you can look in the neighboring cells for false negatives.