fp_read_matrix_with_header - Reads data row-wise from a FILE into a new matrix


#include "m/m_mat_io.h"

Example compile flags (system dependent):
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 

int fp_read_matrix_with_header
	Matrix **result_mpp,
	FILE *fp


This routine reads data in a file pointed to by a FILE into a matrix whose number of columns is not known to the calling routine. The data file MUST contain a matrix size header otherwise NOT_FOUND is returned. The routine then reads <num_rows>*<num_cols> data into the matrix row wise. The restrictions on formatting are minimal. The matrix *result_mpp is created or resized as necessary. "fp" points to a FILE as returned by "kjb_fopen". The file is scanned from the current position for the presence of a matrix size header of the form:
   #! rows=<num-matrix-rows> cols=<num-matrix-cols>
where <num-matrix-rows>,<num-matrix-cols> are positive integers. (The "#" is actually the comment char (user settable) and the "!" is actually the header char, also user settable). Data is read from the first matrix size header found until the next matrix or spectra header (if present) is located. The current file position is NOT reset to the starting after the function returns, so this function can be used to read multiple matrices from the same file. If both the number of rows and the number of cols are zero, then it is assumed that a NULL matrix is to be read.


If the file does not seem to be a matrix file with a header, then NOT_FOUND is returned. NO_ERROR is returned on success, and ERROR is returned on success, with an appropriate error message being set.


This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.


Kobus Barnard


Lindsay Martin, Kobus Barnard


read_matrix_from_config_file , read_matrix , fp_read_matrix , fp_read_raw_matrix , fp_read_formatted_matrix , read_matrix_by_rows , fp_read_matrix_by_rows , read_matrix_by_cols , fp_read_matrix_by_cols , fp_ow_read_formatted_matrix , fp_ow_read_matrix_by_rows , fp_ow_read_matrix_by_cols , write_matrix , write_matrix_2 , fp_write_matrix , fp_write_matrix_2 , write_matrix_with_header , fp_write_matrix_with_header , write_matrix_full_precision , fp_write_matrix_full_precision , write_matrix_rows , fp_write_matrix_rows , write_matrix_cols , fp_write_matrix_cols , write_matrix_vector , fp_write_matrix_vector , write_matrix_vector_full_precision , fp_write_matrix_vector_full_precision , fp_write_matrix_with_title , fp_write_matrix_full_precision_with_title , write_raw_matrix , fp_write_raw_matrix , read_matrix_vector , fp_read_matrix_vector , fp_read_raw_matrix_vector , fp_read_matrix_vector_with_headers , write_raw_matrix_vector , fp_write_raw_matrix_vector , fp_write_raw_matrix_vector_header