//
// by Boris Stefanovic on 01/06/22
//

#ifndef PROG_KMEANS_CLUSTER_H
#define PROG_KMEANS_CLUSTER_H

#include "vector.h"


typedef vector_int_t* cluster_int_t;  // a cluster may be represented by its center

typedef struct cluster_point_int {
	vector_int_t* vector;
	cluster_int_t cluster;  // justified by "many-to-one" relationship and several passes over all points
} cluster_point_int_t;

cluster_point_int_t* cluster_point_int_create(vector_int_t* vector);

void cluster_point_int_destroy(cluster_point_int_t* cp);


#endif //PROG_KMEANS_CLUSTER_H