1. - Converted float parameters to double precision
2. - Optimised gather neighbour search