Beispiel #1
0
int array_read(FILE *istrm, float *array, int max_array)
{
   // reads in an array of floats from a single line of istrm
   // returns the number of elements read in

   char in_string[MAX_STR_LEN];

   if(fgets(in_string, MAX_STR_LEN, istrm) == NULL ) return(FAIL);
#ifdef DEBUG_ARRAY
   printf("\nInput String\n %s", in_string);
#endif

   int slen = strlen(in_string);

   int k=0;
   while(isspace(in_string[k]) && k < slen) k++;
   if(slen==0 || !(isdigit(in_string[k])
              ||    in_string[k] == '.'
              ||    in_string[k] == '+'
              ||    in_string[k] == '-'))
   {
      return(0); // skip blank and non-numerical lines
   }
   int nread = array_read(in_string,array,max_array);
   
   return(nread);  // return the number of elements read
}
int read_lambdal(char *directory)
{
	int size = terms_late;
	int lambdal_total_size = size*size;
	lambdal = (double **)create_array(size,size);
	array_read(&lambdal_total_size, lambdal_data_file, &lambdal[0][0]);

	return 0;
}
int read_orthol(char *directory)
{
	int size = terms_late;
	int orthol_total_size = size*size;
	orthol = (double **)create_array(size,size);
	array_read(&orthol_total_size, orthol_data_file, &orthol[0][0]);

	return 0;
}
Beispiel #4
0
static ssize_t vobject_list_get_next_header(void *object, void *buf, size_t mtu,
								uint8_t *hi)
{
	struct pbap_object *obj = object;
	struct pbap_session *pbap = obj->session;

	/* Backend still busy reading contacts */
	if (!pbap->cache.valid)
		return -EAGAIN;

	*hi = OBEX_HDR_APPARAM;

	if (pbap->params->maxlistcount == 0)
		return array_read(obj->aparams, buf, mtu);

	return 0;
}
Beispiel #5
0
int
main(int argc, char** argv)
{
  // Declarations
  struct array * array;

  // Load input data from file
  array = array_read(argv[1]);

  // Compute and output result
  printf("Computing summation... %i\n", prefix_sum(array));

  // Free memory out
  array_free(array);

  // Everything went well
  return 0;
}
Beispiel #6
0
static ssize_t vobject_pull_get_next_header(void *object, void *buf, size_t mtu,
								uint8_t *hi)
{
	struct pbap_object *obj = object;
	struct pbap_session *pbap = obj->session;

	if (!obj->buffer && !obj->aparams)
		return -EAGAIN;

	*hi = OBEX_HDR_APPARAM;

	if (pbap->params->maxlistcount == 0 || obj->firstpacket) {
		obj->firstpacket = FALSE;

		return array_read(obj->aparams, buf, mtu);
	}

	return 0;
}
int read_beta(){

	int number = 2;
	int *sizes = create_ivector(number);
	ivector_read(&number, proj_size_file, &sizes[0]);
	b_lsize = sizes[0]-1;
	b_xsize = sizes[1]-1;
	b_lvec = create_ivector(b_lsize);
	b_xvec = create_vector(b_xsize);
	int data_size = (b_lsize+1) * (b_xsize+1);
	double **data = create_array(b_lsize+1, b_xsize+1);
	char filename[100];

    //int xsize_pad = (b_xsize + 7) & ~7;
	create_beta(b_lsize, b_xsize);
	int n,l,i;
	double (*restrict beta)[pmax_prim+1][b_xsize] = (double (*restrict)[pmax_prim+1][b_xsize]) beta_flat;
	
	if(eflag_order_prim!=4)
	{
		for(n=0;n<pmax_prim+1;n++)
		{
			char suffix[3] = "";
			sprintf(suffix, "%d", n);
			
			filename[0] = '\0';
			strcat(filename, proj_data_file);
			strcat(filename, "_");
			strcat(filename, suffix);
			
			array_read(&data_size, filename, &data[0][0]);
			
			if(n==0)
			{
				for (i=0; i<b_xsize; i++) b_xvec[i] = data[0][i+1];
				for (l=0; l<b_lsize; l++) b_lvec[l] = (int)data[l+1][0];
				
			}
	
			for(l=0; l<b_lsize; l++) beta[l][n][0] = 0.0;
			
			for(i=0; i<b_xsize; i++)
			{
				for(l=0; l<b_lsize; l++)
				{
					beta[l][n][i] = data[l+1][i+1];
				}
			}
			
		}
	}

	else
	{
		for(n=0;n<pmax_prim-1;n++)
		{
			char suffix[3] = "";
			sprintf(suffix, "%d", n);
			
			filename[0] = '\0';
			strcat(filename, proj_data_file);
			strcat(filename, "_");
			strcat(filename, suffix);
			
			array_read(&data_size, filename, &data[0][0]);
			
			if(n==0)
			{
				for (i=0; i<b_xsize; i++) b_xvec[i] = data[0][i+1];
				for (l=0; l<b_lsize; l++) b_lvec[l] = (int)data[l+1][0];
			}
	
			for(l=0; l<b_lsize; l++) beta[l][n][0] = 0.0;
			
			for(i=0; i<b_xsize; i++)
			{
				for(l=0; l<b_lsize; l++)
				{
					beta[l][n][i] = data[l+1][i+1];
				}
			}
		}
			
		filename[0] = '\0';
		strcat(filename, proj_data_file);
		strcat(filename, "_l1");
			
		array_read(&data_size, filename, &data[0][0]);
	
		for(l=0; l<b_lsize; l++) beta[l][pmax_prim-1][0] = 0.0;
			
		for(i=0; i<b_xsize; i++){
			for(l=0; l<b_lsize; l++){
				beta[l][pmax_prim-1][i] = data[l+1][i+1];
			}
		}
			
		filename[0] = '\0';
		strcat(filename, proj_data_file);
		strcat(filename, "_l2");
			
		array_read(&data_size, filename, &data[0][0]);
	
		for(l=0; l<b_lsize; l++) beta[l][pmax_prim][0] = 0.0;
			
		for(i=0; i<b_xsize; i++){
			for(l=0; l<b_lsize; l++){
				beta[l][pmax_prim][i] = data[l+1][i+1];
			}
		}
	}
	destroy_array(data);

    /*
	// jb offload the values of the globals to the MIC
	int beta_flat_size = b_lsize * (xsize_pad) * (pmax_prim+1);
	int offload_target;
    MPI_Comm_rank(MPI_COMM_WORLD, &offload_target);
	#pragma offload_transfer target(mic:offload_target) in(b_xvec[0:b_xsize] : ALLOC RETAIN) \
	                                            in(beta_flat[0:beta_flat_size] : ALLOC RETAIN) \
	                                            in(b_lsize) \
                                                in(b_xsize) 
	  */                                   
	return 0;
}