00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef dbl_READ_MPS_STATE_H
00025 #define dbl_READ_MPS_STATE_H
00026
00027 #include "dbl_iqsutil.h"
00028
00029 #include "dbl_mps.h"
00030
00031 typedef struct dbl_ILLread_mps_state_struct
00032 {
00033 int section[ILL_MPS_N_SECTIONS];
00034 ILLmps_section active;
00035 const char *file_name;
00036 dbl_qsline_reader *file;
00037 unsigned int line_num;
00038 unsigned int field_num;
00039 int intvar;
00040 int sosvar;
00041 char line[ILL_namebufsize];
00042 char key[ILL_namebufsize];
00043 char field[ILL_namebufsize];
00044 char *obj;
00045 char *p;
00046 }
00047 dbl_ILLread_mps_state;
00048
00049 extern int dbl_ILLmps_state_init (
00050 dbl_ILLread_mps_state * state,
00051 dbl_qsline_reader * file,
00052 const char *dbl_fname);
00053 extern void dbl_ILLmps_state_clear (
00054 dbl_ILLread_mps_state * state);
00055 extern int dbl_ILLmps_set_section (
00056 dbl_ILLread_mps_state * state,
00057 const ILLmps_section sec);
00058
00059 extern int dbl_ILLmps_next_line (
00060 dbl_ILLread_mps_state * state);
00061 extern int dbl_ILLmps_next_field (
00062 dbl_ILLread_mps_state * state);
00063 extern int dbl_ILLmps_next_coef (
00064 dbl_ILLread_mps_state * state,
00065 double * coef);
00066 extern int dbl_ILLmps_next_bound (
00067 dbl_ILLread_mps_state * state,
00068 double * coef);
00069 extern void dbl_ILLmps_check_end_of_line (
00070 dbl_ILLread_mps_state * state);
00071 extern void dbl_ILLmps_set_end_of_line (
00072 dbl_ILLread_mps_state * state);
00073
00074 extern int dbl_ILLmps_int_sos_mode (
00075 dbl_ILLread_mps_state * state);
00076
00077 extern const char *dbl_ILLmps_possibly_blank_name (
00078 const char *field,
00079 dbl_ILLread_mps_state * state,
00080 ILLsymboltab * tab);
00081 extern int dbl_ILLmps_empty_key (
00082 dbl_ILLread_mps_state * state);
00083 extern int dbl_ILLmps_empty_field (
00084 dbl_ILLread_mps_state * state);
00085
00086 extern int dbl_ILLmps_error (
00087 dbl_ILLread_mps_state * state,
00088 const char *format,
00089 ...);
00090 extern void dbl_ILLmps_warn (
00091 dbl_ILLread_mps_state * state,
00092 const char *format,
00093 ...);
00094
00095 #endif