void free_tour1d(displayd *dsp) { vectori_free(&dsp->t1d.subset_vars); vectorb_free(&dsp->t1d.subset_vars_p); vectori_free(&dsp->t1d.active_vars); vectorb_free(&dsp->t1d.active_vars_p); vectord_free(&dsp->t1d.lambda); vectord_free(&dsp->t1d.tau); vectord_free(&dsp->t1d.tinc); arrayd_free (&dsp->t1d.Fa); arrayd_free (&dsp->t1d.Fz); arrayd_free (&dsp->t1d.F); arrayd_free (&dsp->t1d.Ga); arrayd_free (&dsp->t1d.Gz); arrayd_free (&dsp->t1d.F); arrayd_free (&dsp->t1d.Va); arrayd_free (&dsp->t1d.Vz); arrayd_free (&dsp->t1d.tv); arrayd_free (&dsp->t1d_manbasis); }
int main(int argc, char** argv) { int total_test_number = 10, successes = 0; char buffer[1024]; int i, rows, cols, n; for(i = 0; i < total_test_number; ++i) { printf("Test number %d out of %d\n", i + 1, total_test_number); sprintf(buffer, "data/source_mat_a_%d.txt", i); int** source_mat_a = matrixi_load(&rows, &cols, buffer); printf("source matrix a "); matrixi_print(source_mat_a, rows, cols); sprintf(buffer, "data/source_mat_b_%d.txt", i); int** source_mat_b = matrixi_load(&rows, &cols, buffer); printf("source matrix b "); matrixi_print(source_mat_b, rows, cols); sprintf(buffer, "data/expected_vec_%d.txt", i); int* expected_vec = vectori_load(&n, buffer); printf("expected vector: "); vectori_print(expected_vec, n); printf("expected returned vector size: %d\n", n); int* output_vec; int dim = matrix_min(&output_vec, source_mat_a, source_mat_b, rows, cols); printf("output vector: "); vectori_print(output_vec, dim); printf("output vector size: %d\n", dim); int cmp = vectori_compare(expected_vec, output_vec, n); if(n == dim && cmp > 0) { printf("SUCCESS\n"); successes++; } else { printf("FAILURE\n"); } printf("Current success rate: %0.02f%%\n", (float)(successes) * 100.0f/ (float)(total_test_number)); printf("\n*************************************************\n\n"); matrixi_free(source_mat_a, rows); matrixi_free(source_mat_b, rows); vectori_free(expected_vec); vectori_free(output_vec); } printf("FINAL SUCCESS RATE: %0.02f%%\n", (float)(successes) * 100.0f / (float)(total_test_number)); return 0; }
int main(int argc, char** argv) { int total_test_number = 10, successes = 0; int num[10] = { 3, 2, 0, 4, 3, 1, 4, 3, 2 }; char buffer[1024]; int i, n; for(i = 0; i < total_test_number; ++i) { printf("Test number %d out of %d\n", i + 1, total_test_number); sprintf(buffer, "lists/list%d.txt", i); TipoSCL source_list = TipoSCL_load(buffer); printf("src "); TipoSCL_print(source_list); printf("rotate list of %d positions\n", num[i]); sprintf(buffer, "vectors/expectedvector%d.txt", i); int* expected_vector = vectori_load(&n, buffer); printf("expected "); vectori_print(expected_vector, n); int* output_vector; int result = rotateList(&output_vector, source_list, num[i]); printf("output "); vectori_print(output_vector, result); printf("Size of the output vector: %d\n", result); int cmp = vectori_compare(expected_vector, output_vector, n); if(cmp > 0 && result == n) { printf("SUCCESS\n"); successes++; } else { printf("FAILURE\n"); } printf("Current success rate: %0.02f%%\n", (float)(successes) * 100.0f/ (float)(total_test_number)); printf("\n*************************************************\n\n"); TipoSCL_free(source_list); vectori_free(output_vector); } printf("FINAL SUCCESS RATE: %0.02f%%\n", (float)(successes) * 100.0f / (float)(total_test_number)); return 0; }