00001 #ifndef __EH_DATA_RECORD_H__ 00002 #define __EH_DATA_RECORD_H__ 00003 00004 #include <glib.h> 00005 #include <utils/eh_types.h> 00006 #include <utils/eh_symbol_table.h> 00007 00008 #define EH_FAST_DIM_ROW (0) 00009 #define EH_FAST_DIM_COL (1) 00010 00011 new_handle( Eh_data_record ); 00012 00013 Eh_data_record eh_data_record_new ( void ); 00014 Eh_data_record eh_data_record_destroy ( Eh_data_record p ); 00015 void eh_data_record_print ( Eh_data_record p , 00016 char *rec_name , 00017 char *delim , 00018 gboolean row_major , 00019 gboolean with_header , 00020 FILE *fp ); 00021 int eh_data_record_size ( Eh_data_record p , 00022 int dim ); 00023 Eh_symbol_table eh_data_record_table ( Eh_data_record p ); 00024 double* eh_data_record_row ( Eh_data_record p , 00025 gssize row ); 00026 double* eh_data_record_dup_row ( Eh_data_record p , 00027 gssize row ); 00028 void eh_data_record_set_row ( Eh_data_record p , 00029 int row , 00030 double* a ); 00031 void eh_data_record_add_row ( Eh_data_record p , 00032 double* a ); 00033 void eh_data_record_add_column ( Eh_data_record p , 00034 double* a ); 00035 void eh_data_record_add_label ( Eh_data_record p , 00036 char *label , 00037 char *value ); 00038 void eh_data_record_interpolate_rows( Eh_data_record p , 00039 gssize row , 00040 double* y , 00041 gssize new_len ); 00042 Eh_data_record* eh_data_record_scan_file ( const char* file , 00043 const char* delim , 00044 int fast_dim , 00045 gboolean with_header , 00046 GError** error ); 00047 Eh_data_record eh_data_record_scan ( GScanner* s , 00048 const char* delim , 00049 int fast_dim , 00050 gboolean with_header ); 00051 00052 #endif 00053