int test_csv_IO()
{
	double x[10];
	double y[10];
	double z[10];	
	double mat[30];	
	int i,j;
	FILE* csvfile;
	
	/* write a csv file */
	csvfile=fopen("csv_file.dat","w");
	for(i=0;i<10;++i)
	{
		x[i]=(double)i;
		y[i]=(double)i*2;
		z[i]=(double)i*3;
	}
	write_csv_file(csvfile,10,x);
	write_csv_file(csvfile,10,y);
	write_csv_file(csvfile,10,z);
	
	fclose(csvfile);
	
	/* read the csv file */
	for(i=0;i<30;++i)
	{
		mat[i]=0;
	}
	csvfile=fopen("csv_file.dat","r");
	read_csv_file(csvfile,3,10,mat);
	
	/* test if they are equal */
	for(i=0;i<3;++i)
	{
		for(j=0;j<10;++j)
		{
			if(mat[i*(int)10+j] != (double)j*(i+1) )
				return EXIT_FAILURE;
		}
	}
	
	fclose(csvfile);
	
	
	return EXIT_SUCCESS;
}
Example #2
0
void main() {
    char *inputBuffer;
    char *outputBuffer;
    
    size_t inputSize = load_csv_to_buffer(INPUT_FILEPATH, 
            &inputBuffer);
    
    outputBuffer = malloc(NUM_COORDINATES * MAX_OUTPUT_LINE_SIZE *
            sizeof(char));
    
    // convert the csv file
    size_t outputSize = convert_to_csv(inputBuffer, &outputBuffer);
    
    write_csv_file(OUTPUT_FILEPATH, outputBuffer, 
            outputSize);
    
    printf("%s", outputBuffer);
    
    free(inputBuffer);
    free(outputBuffer);
}
Example #3
0
int main() {
    char *fileBuffer;
    char *csvBuffer;
    
    size_t fileLength = load_plt_to_buffer("000/20081023025304.plt", &fileBuffer);
    // printf("%s", fileBuffer);
    int numCoordinates = count_GPS_coordinates(fileBuffer);
    
    csvBuffer = malloc(numCoordinates * MAX_LINE_SIZE * sizeof(char));
    
    int fileSize = convert_to_csv(fileBuffer, numCoordinates, &csvBuffer);
    
    write_csv_file(csvBuffer, fileSize);
    
    printf("%s", csvBuffer);
    
    free(fileBuffer);
    free(csvBuffer);
    
    return 0;

}
Example #4
0
void write_diag_data_to_file(hanson_data* diag_data,const char* file_name)
{
	int i;
	double* num_samples;
	double* mean;
	double* std_dvn;
	FILE *outfile;
	outfile=fopen(file_name,"w");
	
	/* assign memory */
	num_samples=(double*)malloc(diag_data->num_dims*sizeof(double));
	mean=(double*)malloc(diag_data->num_dims*sizeof(double));
	std_dvn=(double*)malloc(diag_data->num_dims*sizeof(double));
	
	/* calculate the mean and standard deviation */
	for(i=0;i<diag_data->num_dims;++i)
	{
		num_samples[i]=(double)diag_data->num_ents;
		mean[i]=diag_data->sum_x[i]/num_samples[i];
		std_dvn[i]=sqrt(diag_data->sum_x2[i]/num_samples[i]-mean[i]*mean[i]);
	}
	
	/* write the data */
	write_csv_file(outfile,diag_data->num_dims,diag_data->start_point);
	write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x);
	write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x2);
	write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x3dpsi);
	write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x2dpsi);
	write_csv_file(outfile,diag_data->num_dims,diag_data->sum_xdpsi);
	write_csv_file(outfile,diag_data->num_dims,diag_data->sum_dpsi);
	write_csv_file(outfile,diag_data->num_dims,num_samples);
	write_csv_file(outfile,diag_data->num_dims,diag_data->hanson);
	write_csv_file(outfile,diag_data->num_dims,mean);
	write_csv_file(outfile,diag_data->num_dims,std_dvn);
	
	/* free memory */
	free(num_samples);
	free(mean);
	free(std_dvn);
	fclose(outfile);
}