📄 testset.c
字号:
} // "square6" else if (strcmp(name, "square6") == 0) { par->num_cluster = 4; par->kclusters = 4; par->binsize = 1000; par->bindim = 2; par->mu_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->sigma_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->size_cluster = new int[par->num_cluster]; // allocation of memory to store mean and stdv for (int i=0; i<par->num_cluster; i++) { par->mu_cluster[i] = new USED_DATA_TYPE[par->bindim]; par->sigma_cluster[i] = new USED_DATA_TYPE[par->bindim]; } // description of the Normal Distributions par->mu_cluster[0][0] = 5; par->mu_cluster[0][1] = 5; par->mu_cluster[1][0] = 5; par->mu_cluster[1][1] = 0; par->mu_cluster[2][0] = 0; par->mu_cluster[2][1] = 5; par->mu_cluster[3][0] = 0; par->mu_cluster[3][1] = 0; for (int i=0; i<par->num_cluster; i++) { par->sigma_cluster[i][0] = 2; par->sigma_cluster[i][1] = 2; par->size_cluster[i] = par->binsize / par->num_cluster; } // allocation of memory to store data items point_coordinates = new USED_DATA_TYPE* [par->binsize]; if (point_coordinates == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } // generation of the data items int ctr = 0; for (int i=0; i<par->num_cluster; i++) { for (int j=0; j<par->size_cluster[i]; j++) { point_coordinates[ctr] = new USED_DATA_TYPE[par->bindim]; if (point_coordinates[ctr] == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } point_coordinates[ctr][0] = par->mu_cluster[i][0] + gasdev(&idum)*par->sigma_cluster[i][0]; point_coordinates[ctr][1] = par->mu_cluster[i][1] + gasdev(&idum)*par->sigma_cluster[i][1]; ctr++; } } } // "square7" else if (strcmp(name, "square7") == 0) { par->num_cluster = 4; par->kclusters = 4; par->binsize = 1000; par->bindim = 2; par->mu_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->sigma_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->size_cluster = new int[par->num_cluster]; // allocation of memory to store mean and stdv for (int i=0; i<par->num_cluster; i++) { par->mu_cluster[i] = new USED_DATA_TYPE[par->bindim]; par->sigma_cluster[i] = new USED_DATA_TYPE[par->bindim]; } // description of the Normal Distributions par->mu_cluster[0][0] = 4; par->mu_cluster[0][1] = 4; par->mu_cluster[1][0] = 4; par->mu_cluster[1][1] = 0; par->mu_cluster[2][0] = 0; par->mu_cluster[2][1] = 4; par->mu_cluster[3][0] = 0; par->mu_cluster[3][1] = 0; for (int i=0; i<par->num_cluster; i++) { par->sigma_cluster[i][0] = 2; par->sigma_cluster[i][1] = 2; par->size_cluster[i] = par->binsize / par->num_cluster; } // allocation of memory to store data items point_coordinates = new USED_DATA_TYPE* [par->binsize]; if (point_coordinates == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } // generation of the data items int ctr = 0; for (int i=0; i<par->num_cluster; i++) { for (int j=0; j<par->size_cluster[i]; j++) { point_coordinates[ctr] = new USED_DATA_TYPE[par->bindim]; if (point_coordinates[ctr] == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } point_coordinates[ctr][0] = par->mu_cluster[i][0] + gasdev(&idum)*par->sigma_cluster[i][0]; point_coordinates[ctr][1] = par->mu_cluster[i][1] + gasdev(&idum)*par->sigma_cluster[i][1]; ctr++; } } } // sizes1 else if (strcmp(name, "sizes1") == 0) { par->num_cluster = 4; par->kclusters = 4; par->binsize = 1000; par->bindim = 2; par->mu_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->sigma_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->size_cluster = new int[par->num_cluster]; for (int i=0; i<par->num_cluster; i++) { par->mu_cluster[i] = new USED_DATA_TYPE[par->bindim]; par->sigma_cluster[i] = new USED_DATA_TYPE[par->bindim]; } par->mu_cluster[0][0] = 10; par->mu_cluster[0][1] = 10; par->mu_cluster[1][0] = 10; par->mu_cluster[1][1] = 0; par->mu_cluster[2][0] = 0; par->mu_cluster[2][1] = 10; par->mu_cluster[3][0] = 0; par->mu_cluster[3][1] = 0; for (int i=0; i<par->num_cluster; i++) { par->sigma_cluster[i][0] = 2; par->sigma_cluster[i][1] = 2; } par->size_cluster[0] = 400; par->size_cluster[1] = 200; par->size_cluster[2] = 200; par->size_cluster[3] = 200; point_coordinates = new USED_DATA_TYPE* [par->binsize]; if (point_coordinates == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } int ctr = 0; for (int i=0; i<par->num_cluster; i++) { for (int j=0; j<par->size_cluster[i]; j++) { point_coordinates[ctr] = new USED_DATA_TYPE[par->bindim]; if (point_coordinates[ctr] == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } point_coordinates[ctr][0] = par->mu_cluster[i][0] + gasdev(&idum)*par->sigma_cluster[i][0]; point_coordinates[ctr][1] = par->mu_cluster[i][1] + gasdev(&idum)*par->sigma_cluster[i][1]; ctr++; } } } // sizes2 else if (strcmp(name, "sizes2") == 0) { par->num_cluster = 4; par->kclusters = 4; par->binsize = 1000; par->bindim = 2; par->mu_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->sigma_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->size_cluster = new int[par->num_cluster]; for (int i=0; i<par->num_cluster; i++) { par->mu_cluster[i] = new USED_DATA_TYPE[par->bindim]; par->sigma_cluster[i] = new USED_DATA_TYPE[par->bindim]; } par->mu_cluster[0][0] = 10; par->mu_cluster[0][1] = 10; par->mu_cluster[1][0] = 10; par->mu_cluster[1][1] = 0; par->mu_cluster[2][0] = 0; par->mu_cluster[2][1] = 10; par->mu_cluster[3][0] = 0; par->mu_cluster[3][1] = 0; for (int i=0; i<par->num_cluster; i++) { par->sigma_cluster[i][0] = 2; par->sigma_cluster[i][1] = 2; } par->size_cluster[0] = 571; par->size_cluster[1] = 143; par->size_cluster[2] = 143; par->size_cluster[3] = 143; point_coordinates = new USED_DATA_TYPE* [par->binsize]; if (point_coordinates == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } int ctr = 0; for (int i=0; i<par->num_cluster; i++) { for (int j=0; j<par->size_cluster[i]; j++) { point_coordinates[ctr] = new USED_DATA_TYPE[par->bindim]; if (point_coordinates[ctr] == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } point_coordinates[ctr][0] = par->mu_cluster[i][0] + gasdev(&idum)*par->sigma_cluster[i][0]; point_coordinates[ctr][1] = par->mu_cluster[i][1] + gasdev(&idum)*par->sigma_cluster[i][1]; ctr++; } } } // sizes3 else if (strcmp(name, "sizes3") == 0) { par->num_cluster = 4; par->kclusters = 4; par->binsize = 1000; par->bindim = 2; par->mu_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->sigma_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->size_cluster = new int[par->num_cluster]; for (int i=0; i<par->num_cluster; i++) { par->mu_cluster[i] = new USED_DATA_TYPE[par->bindim]; par->sigma_cluster[i] = new USED_DATA_TYPE[par->bindim]; } par->mu_cluster[0][0] = 10; par->mu_cluster[0][1] = 10; par->mu_cluster[1][0] = 10; par->mu_cluster[1][1] = 0; par->mu_cluster[2][0] = 0; par->mu_cluster[2][1] = 10; par->mu_cluster[3][0] = 0; par->mu_cluster[3][1] = 0; for (int i=0; i<par->num_cluster; i++) { par->sigma_cluster[i][0] = 2; par->sigma_cluster[i][1] = 2; } par->size_cluster[0] = 667; par->size_cluster[1] = 111; par->size_cluster[2] = 111; par->size_cluster[3] = 111; point_coordinates = new USED_DATA_TYPE* [par->binsize]; if (point_coordinates == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } int ctr = 0; for (int i=0; i<par->num_cluster; i++) { for (int j=0; j<par->size_cluster[i]; j++) { point_coordinates[ctr] = new USED_DATA_TYPE[par->bindim]; if (point_coordinates[ctr] == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } point_coordinates[ctr][0] = par->mu_cluster[i][0] + gasdev(&idum)*par->sigma_cluster[i][0]; point_coordinates[ctr][1] = par->mu_cluster[i][1] + gasdev(&idum)*par->sigma_cluster[i][1]; ctr++; } } } // sizes4 else if (strcmp(name, "sizes4") == 0) { par->num_cluster = 4; par->kclusters = 4; par->binsize = 1000; par->bindim = 2; par->mu_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->sigma_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->size_cluster = new int[par->num_cluster]; for (int i=0; i<par->num_cluster; i++) { par->mu_cluster[i] = new USED_DATA_TYPE[par->bindim]; par->sigma_cluster[i] = new USED_DATA_TYPE[par->bindim]; } par->mu_cluster[0][0] = 10; par->mu_cluster[0][1] = 10; par->mu_cluster[1][0] = 10; par->mu_cluster[1][1] = 0; par->mu_cluster[2][0] = 0; par->mu_cluster[2][1] = 10; par->mu_cluster[3][0] = 0; par->mu_cluster[3][1] = 0; for (int i=0; i<par->num_cluster; i++) { par->sigma_cluster[i][0] = 2; par->sigma_cluster[i][1] = 2; } par->size_cluster[0] = 727; par->size_cluster[1] = 91; par->size_cluster[2] = 91; par->size_cluster[3] = 91; point_coordinates = new USED_DATA_TYPE* [par->binsize]; if (point_coordinates == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } int ctr = 0; for (int i=0; i<par->num_cluster; i++) { for (int j=0; j<par->size_cluster[i]; j++) { point_coordinates[ctr] = new USED_DATA_TYPE[par->bindim]; if (point_coordinates[ctr] == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } point_coordinates[ctr][0] = par->mu_cluster[i][0] + gasdev(&idum)*par->sigma_cluster[i][0]; point_coordinates[ctr][1] = par->mu_cluster[i][1] + gasdev(&idum)*par->sigma_cluster[i][1]; ctr++; } } } // sizes5 else if (strcmp(name, "sizes5") == 0) { par->num_cluster = 4; par->kclusters = 4; par->binsize = 1000; par->bindim = 2; par->mu_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->sigma_cluster = new USED_DATA_TYPE * [par->num_cluster]; par->size_cluster = new int[par->num_cluster]; for (int i=0; i<par->num_cluster; i++) { par->mu_cluster[i] = new USED_DATA_TYPE[par->bindim]; par->sigma_cluster[i] = new USED_DATA_TYPE[par->bindim]; } par->mu_cluster[0][0] = 10; par->mu_cluster[0][1] = 10; par->mu_cluster[1][0] = 10; par->mu_cluster[1][1] = 0; par->mu_cluster[2][0] = 0; par->mu_cluster[2][1] = 10; par->mu_cluster[3][0] = 0; par->mu_cluster[3][1] = 0; for (int i=0; i<par->num_cluster; i++) { par->sigma_cluster[i][0] = 2; par->sigma_cluster[i][1] = 2; } par->size_cluster[0] = 769; par->size_cluster[1] = 77;; par->size_cluster[2] = 77;; par->size_cluster[3] = 77;; point_coordinates = new USED_DATA_TYPE* [par->binsize]; if (point_coordinates == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } int ctr = 0; for (int i=0; i<par->num_cluster; i++) { for (int j=0; j<par->size_cluster[i]; j++) { point_coordinates[ctr] = new USED_DATA_TYPE[par->bindim]; if (point_coordinates[ctr] == NULL) { cerr << "Testset: Memory allocation failed" << endl; exit(0); } point_coordinates[ctr][0] = par->mu_cluster[i][0] + gasdev(&idum)*par->sigma_cluster[i][0]; point_coordinates[ctr][1] = par->mu_cluster[i][1] + gasdev(&idum)*par->sigma_cluster[i][1]; ctr++; } } } else { cout << "Unknown data set: " << name << endl; exit(0); } }double mysquare(double x) { return x*x;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -