-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
executable file
·48 lines (39 loc) · 1.19 KB
/
main.cpp
File metadata and controls
executable file
·48 lines (39 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "include/point.hpp"
#include "include/node.hpp"
#include "include/region.hpp"
#include "include/quad_tree.hpp"
#include <iostream>
#include <random>
#include <chrono>
int main()
{
const int bucket_size = 5;
const long point_count = 1e6;
Point<long double> center(0,0);
Region<long double> region(512,center);
quad_tree<long double> quadtree(region,bucket_size);
std::mt19937_64 machine;
std::uniform_real_distribution<long double> distrubition(-512, 512);
std::cout << "Allocating Space...\n";
std::vector<Point<long double>> points(point_count);
std::cout << "Space allocated...\nGenerating random data...\n";
for (auto& i : points)
{
i = Point<long double>(distrubition(machine), distrubition(machine));
}
std::cout << "Random data generated\nInserting...\n";
using namespace std::chrono;
auto begin = high_resolution_clock::now();
for (auto& i : points)
{
quadtree.insert(i);
}
auto end = high_resolution_clock::now();
std::cout << "Inserted\n";
duration<long double> duration = end - begin;
std::cout << "Duration:"<< duration.count() << std::endl;
std::cin.get();
std::cout << quadtree;
std::cin.get();
return 0;
}