34# include <gsl/gsl_rng.h>
47 for (
size_t i = 0; i < n; ++i)
57 size_t sample_size = 128;
67 for (
size_t i = 0; i <
num_exp; ++i)
69 cout <<
"Testing sample size: " << sample_size <<
endl;
73 bf[i] =
gw[i] =
qh[i] = 0.0;
75 for (
size_t j = 0; j <
num_test; ++j)
82 qh[i] +=
now.elapsed();
86 gw[i] +=
now.elapsed();
90 bf[i] +=
now.elapsed();
93 sample_size = sample_size << 1;
96 cout <<
"Sample size\tQuick hull\tGift wrapping\tBrute force\n"
97 <<
"===========\t===========\t=============\t==========\n";
99 for (
size_t i = 0; i <
num_exp; ++i)
High-resolution timer and benchmarking utilities.
Brute force convex hull algorithm.
Doubly-linked list (defined in tpl_dynList.H).
T & append(const T &item)
Gift wrapping (Jarvis march) convex hull algorithm.
Class Now is a practical class for timing based in a high resolution clock.
TimePointType start()
Sets internally the current time point.
Represents a point with rectangular coordinates in a 2D plane.
QuickHull convex hull algorithm.
Computational geometry algorithms.
size_t blossom_maximum_cardinality_matching(const GT &g, DynDlist< typename GT::Arc * > &matching, SA sa=SA())
Alias of compute_maximum_cardinality_general_matching().
Points generate_points(size_t n, gsl_rng *&rng)