#include #include "fastlib/fastlib.h" #include "u/nvasil/mmanager/memory_manager.h" #include "u/nvasil/dataset/binary_dataset.h" #include "u/nvasil/tree/euclidean_metric.h" #include "u/nvasil/tree/null_statistics.h" #include "u/nvasil/tree/hyper_rectangle.h" #include "u/nvasil/tree/point_identity_discriminator.h" #include "u/nvasil/tree/kd_pivoter1.h" #include "u/nvasil/tree/binary_tree.h" struct BasicTypes { typedef float32 Precision_t; typedef mmapmm::MemoryManager Allocator_t; typedef EuclideanMetric Metric_t; }; struct Parameters { typedef float32 Precision_t; typedef mmapmm::MemoryManager Allocator_t; typedef EuclideanMetric Metric_t; typedef HyperRectangle BoundingBox_t; typedef NullStatistics NodeCachedStatistics_t; typedef SimpleDiscriminator PointIdDiscriminator_t; typedef KdPivoter1 Pivot_t; }; typedef BinaryTree BinaryTree_t; typedef Point Point_t; int main(int argc, char *argv[]) { BasicTypes::Allocator_t::allocator_=new BasicTypes::Allocator_t(); BasicTypes::Allocator_t::allocator_->Init(); BinaryTree_t tree; int32 dimension=2; index_t num_of_points=1000; string data_file="data"; index_t knns=40; string result_file="allnn"; BinaryDataset data; data.Init(data_file, num_of_points, dimension); for(index_t i=0; i > nearest_tree; for(index_t i=0; i