A Scala library containing a k-d tree implementation.
Trees are immutable. Construction is done asynchronously using a fork-join approach.
val nodes: Seq[(HyperPoint, String)] = List(
(HyperPoint(2, 3), "A"),
(HyperPoint(5, 4), "B")
)
val tree = KDTree(nodes)
tree.filterRange(HyperSphere(HyperPoint(7, 2), 1.5))
tree.findNeighbours(HyperPoint(9.1, 6.1), k = 1)