123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- // #ifdef __cplusplus
- // extern "C" {
- // #endif
- //========================================================================================================================================================================================================200
- // DEFINE/INCLUDE
- //========================================================================================================================================================================================================200
- // #include <stdlib.h>
- // #include <string.h>
- #include <stdio.h>
- // #include <math.h>
- // #include <time.h>
- // #include <sys/types.h>
- // #include <dirent.h>
- // #include <errno.h>
- #include "file.h"
- //========================================================================================================================================================================================================200
- // WRITE FUNCTION
- //========================================================================================================================================================================================================200
- void
- write_file( char* filename,
- fp* input,
- int data_rows,
- int data_cols,
- int major,
- int data_range){
- //=====================================================================
- // VARIABLES
- //=====================================================================
- FILE* fid;
- int i, j;
- //=====================================================================
- // CREATE/OPEN FILE FOR WRITING
- //=====================================================================
- fid = fopen(filename, "w");
- if( fid == NULL ){
- printf( "The file was not created/opened for writing\n" );
- fflush(0);
- return;
- }
- //=====================================================================
- // WRITE VALUES TO THE FILE
- //=====================================================================
- // if matrix is saved row major in memory (C)
- if(major==0){
- for(i=0; i<data_rows; i++){
- for(j=0; j<data_cols; j++){
- fprintf(fid, "%f ", (fp)input[i*data_cols+j]);
- }
- fprintf(fid, "\n");
- }
- }
- // if matrix is saved column major in memory (MATLAB)
- else{
- for(i=0; i<data_rows; i++){
- for(j=0; j<data_cols; j++){
- fprintf(fid, "%f ", (fp)input[j*data_rows+i]);
- }
- fprintf(fid, "\n");
- }
- }
- //=====================================================================
- // CLOSE FILE
- //=====================================================================
- fclose(fid);
- }
- //========================================================================================================================================================================================================200
- // READ FUNCTION
- //========================================================================================================================================================================================================200
- void read_file( char* filename,
- fp* input,
- int data_rows,
- int data_cols,
- int major){
- //=====================================================================
- // VARIABLES
- //=====================================================================
- FILE* fid;
- int i, j;
- fp temp;
- //=====================================================================
- // OPEN FILE FOR READING
- //=====================================================================
- fid = fopen(filename, "r");
- if( fid == NULL ){
- printf( "The file was not opened for reading\n" );
- fflush(0);
- return;
- }
- //=====================================================================
- // READ VALUES FROM THE FILE
- //=====================================================================
- if(major==0){ // if matrix is saved row major in memory (C)
- for(i=0; i<data_rows; i++){
- for(j=0; j<data_cols; j++){
- fscanf(fid, "%f", &temp);
- input[i*data_cols+j] = (fp)temp;
- }
- }
- }
- else{ // if matrix is saved column major in memory (MATLAB)
- for(i=0; i<data_rows; i++){
- for(j=0; j<data_cols; j++){
- fscanf(fid, "%f", &temp);
- input[j*data_rows+i] = (fp)temp;
- }
- }
- }
- //=====================================================================
- // CLOSE FILE
- //=====================================================================
- fclose(fid);
- }
- //========================================================================================================================================================================================================200
- // END
- //========================================================================================================================================================================================================200
- // #ifdef __cplusplus
- // }
- // #endif
|