Ejemplo n.º 1
0
result_t examine_del_end(list_t *list, data_t *p_object)
{
	if(is_empty(list) == TRUE)
	{
		return (ERROR);
	}

	node_t *head = get_last_node(list);
	*p_object = head -> data;
	unlink_node(head);

	return (SUCCESS);
}
Ejemplo n.º 2
0
result_t is_at_end(list_t *list, data_t data)
{
	node_t *run;
	
	run = get_last_node(list);
	
	if(run -> data == data)
	{
		return (TRUE);
	}
	else 
	{
		return (FALSE);
	}
}
Ejemplo n.º 3
0
result_t insert_at_end(list_t *list, data_t data)
{
	node_t *last_node, *new_node;

	if(NULL_CHECK(list))
	{
		return (ERROR);
	}

	last_node = get_last_node(list); 
	new_node = get_node(data);
	
	link_nodes(last_node, new_node);

	return (SUCCESS);
}
Ejemplo n.º 4
0
result_t delete_end(list_t *list)
{
	node_t *target;

	if(is_empty(list) == TRUE)
	{
		return (ERROR);
	}

	target = get_last_node(list); 
	
	if(target != NULL)
	{
		unlink_node(target);
		return (SUCCESS);
	}
	else
	{
		return (ERROR);
	}
}
Ejemplo n.º 5
0
int read_radar_file(matrix* data, radar_variables* variables){
  FILE* fp = fopen(variables->radar_data_filename, "r");
  if(fp == NULL)
    return -1;

  //fseek(fp, 0L, SEEK_END);
  //unsigned int file_size = ftell(fp);
  //fseek(fp, 0L, SEEK_SET);
  
  radar_metadata meta;
  
  int ret;
  printf("Radar rows: ");
  ret = scanf("%u", &meta.rows);

  printf("Radar cols: ");
  ret = scanf("%u", &meta.cols);

  meta.real_or_complex = 'r';

  matrix* meta_radar = get_last_node(data);
  strcpy(meta_radar->name, "radar_image");
  meta_radar->rows = meta.rows;
  meta_radar->cols = meta.cols;
  meta_radar->data = malloc(meta.rows*meta.cols*sizeof(complex double));
  memset(meta_radar->data, 0, meta.rows*meta.cols*sizeof(complex double));
  complex double* radar_image = meta_radar->data;

  //FILE* mp = fopen("radar_metadata", "r");
  //ret = fread(&meta, sizeof(radar_metadata), 1, mp);

  //fclose(mp);


  int i,j;
  unsigned int real;
  complex double imag;
  if(meta.real_or_complex == 'r'){
      for(j = 0; j < meta.cols; j++){
    for(i = 0; i < meta.rows; i++){
        //ret = fread(data->radar_image + i*sizeof(complex double), sizeof(double), 1, fp);
	ret = fscanf(fp, "%u", &real);
	imag = real + _Complex_I*0;
	radar_image[j*meta.rows+i] = imag;
      }
    }
  }
  else if(meta.real_or_complex == 'c'){
      for(j = 0; j < meta.rows; j++){
    for(i = 0; i < meta.rows*meta.cols; i++){
      //ret = fread(data->radar_image + i*sizeof(complex double), sizeof(complex double), 1, fp);
        ret = fscanf(fp, "%lf", (double*)(  &radar_image[i*meta.rows+j]  ));
      }
    }
  }
  else{
    printf("Invalid data mode, should be real or complex, read %c.\n", meta.real_or_complex);
    fclose(fp);
    return -1;
  }

  fclose(fp);
  return 1;
}