Esempio n. 1
0
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); 
}
Esempio n. 2
0
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;
}
Esempio n. 3
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;
}