6int main(
int argc,
char* argv[]) {
9 std::vector<std::vector<double>> well_separated = {
15 std::vector<std::vector<double>> mixed_chunks = {
25 bool debug = (argc > 1 && std::string(argv[1]) ==
"--debug");
28 std::cout <<
"\nComputing chunk metrics...\n" << std::endl;
35 std::cout <<
"Cohesion Metrics:" << std::endl;
36 std::cout <<
" Well-separated chunks: " << high_cohesion << std::endl;
37 std::cout <<
" Mixed cohesion chunks: " << mixed_cohesion << std::endl;
41 std::cout <<
"\nSeparation Metric: " << separation << std::endl;
45 std::cout <<
"Silhouette Score: " << silhouette << std::endl;
51 std::cout <<
"\nQuality Scores:" << std::endl;
52 std::cout <<
" Well-separated chunks: " << high_quality << std::endl;
53 std::cout <<
" Mixed cohesion chunks: " << mixed_quality << std::endl;
57 std::cout <<
"\nSize Metrics:" << std::endl;
58 for (
const auto& [metric, value] : size_metrics) {
59 std::cout <<
" " << metric <<
": " << value << std::endl;
63 std::cout <<
"\nDebug Information:" << std::endl;
64 std::cout <<
" Number of chunks: " << well_separated.size() << std::endl;
65 std::cout <<
" Chunk sizes: ";
66 for (
const auto& chunk : well_separated) {
67 std::cout << chunk.size() <<
" ";
69 std::cout << std::endl;
72 }
catch (
const std::exception& e) {
73 std::cerr <<
"Error computing metrics: " << e.what() << std::endl;
77 std::cout <<
"\nMetrics computation completed successfully.\n" << std::endl;
80 }
catch (
const std::exception& e) {
81 std::cerr <<
"Fatal error: " << e.what() << std::endl;