//Coreset Construction
#ifndef CORESET
#define CORESET

#include "head.h"
#include "tools.h"
#include "function.h"
#include "kmeans.h"


parti group(const parti &_Light, const datapoint &c, const double &err, int z);

pair<parti, parti> WZ_Decomposition(dataset X, const datapoint &c, const double &err, int z);

dataset Two_point_Coreset(dataset X, const datapoint &c);

dataset Uniform_Coreset(dataset S, const int &n);

dataset Outlier_Uniform(dataset X, dataset C_approx,double m, int x);

dataset HJLW23_Coreset(dataset X, dataset C_approx, double m, int x, int z, double thr);

dataset HLLW25_Coreset(dataset X, dataset C_approx, double m, int x, int z, double thr);

dataset Our_Coreset(dataset X, dataset C_approx, double m, int x, int z, double thr);

dataset Bucket_Coreset(dataset X, double m, double eps);

#endif
