Very simple code for reading MPS data. More...
#include <CoinMpsIO.hpp>
Public Member Functions | |
Constructor and destructor | |
CoinMpsCardReader (CoinFileInput *input, CoinMpsIO *reader) | |
Constructor expects file to be open This one takes gzFile if fp null. More... | |
~CoinMpsCardReader () | |
Destructor. More... | |
card stuff | |
COINSectionType | readToNextSection () |
Read to next section. More... | |
COINSectionType | nextField () |
Gets next field and returns section type e.g. COIN_COLUMN_SECTION. More... | |
int | nextGmsField (int expectedType) |
Gets next field for .gms file and returns type. More... | |
COINSectionType | whichSection () const |
Returns current section type. More... | |
void | setWhichSection (COINSectionType section) |
Sets current section type. More... | |
bool | freeFormat () const |
Sees if free format. More... | |
void | setFreeFormat (bool yesNo) |
Sets whether free format. Mainly for blank RHS etc. More... | |
COINMpsType | mpsType () const |
Only for first field on card otherwise BLANK_COLUMN e.g. More... | |
int | cleanCard () |
Reads and cleans card - taking out trailing blanks - return 1 if EOF. More... | |
const char * | rowName () const |
Returns row name of current field. More... | |
const char * | columnName () const |
Returns column name of current field. More... | |
double | value () const |
Returns value in current field. More... | |
const char * | valueString () const |
Returns value as string in current field. More... | |
const char * | card () const |
Whole card (for printing) More... | |
char * | mutableCard () |
Whole card - so we look at it (not const so nextBlankOr will work for gms reader) More... | |
void | setPosition (char *position) |
set position (again so gms reader will work) More... | |
char * | getPosition () const |
get position (again so gms reader will work) More... | |
CoinBigIndex | cardNumber () const |
Returns card number. More... | |
CoinFileInput * | fileInput () const |
Returns file input. More... | |
void | setStringsAllowed () |
Sets whether strings allowed. More... | |
Protected Attributes | |
data | |
double | value_ |
Current value. More... | |
char | card_ [MAX_CARD_LENGTH] |
Current card image. More... | |
char * | position_ |
Current position within card image. More... | |
char * | eol_ |
End of card. More... | |
COINMpsType | mpsType_ |
Current COINMpsType. More... | |
char | rowName_ [COIN_MAX_FIELD_LENGTH] |
Current row name. More... | |
char | columnName_ [COIN_MAX_FIELD_LENGTH] |
Current column name. More... | |
CoinFileInput * | input_ |
File input. More... | |
COINSectionType | section_ |
Which section we think we are in. More... | |
CoinBigIndex | cardNumber_ |
Card number. More... | |
bool | freeFormat_ |
Whether free format. Just for blank RHS etc. More... | |
int | ieeeFormat_ |
Whether IEEE - 0 no, 1 INTEL, 2 not INTEL. More... | |
bool | eightChar_ |
If all names <= 8 characters then allow embedded blanks. More... | |
CoinMpsIO * | reader_ |
MpsIO. More... | |
CoinMessageHandler * | handler_ |
Message handler. More... | |
CoinMessages | messages_ |
Messages. More... | |
char | valueString_ [COIN_MAX_FIELD_LENGTH] |
Current element as characters (only if strings allowed) More... | |
bool | stringsAllowed_ |
Whether strings allowed. More... | |
methods | |
double | osi_strtod (char *ptr, char **output, int type) |
type - 0 normal, 1 INTEL IEEE, 2 other IEEE More... | |
double | osi_strtod (char *ptr, char **output) |
For strings. More... | |
static void | strcpyAndCompress (char *to, const char *from) |
remove blanks More... | |
static char * | nextBlankOr (char *image) |
type - 0 normal, 1 INTEL IEEE, 2 other IEEE More... | |
Very simple code for reading MPS data.
Definition at line 59 of file CoinMpsIO.hpp.
CoinMpsCardReader::CoinMpsCardReader | ( | CoinFileInput * | input, |
CoinMpsIO * | reader | ||
) |
Constructor expects file to be open This one takes gzFile if fp null.
CoinMpsCardReader::~CoinMpsCardReader | ( | ) |
Destructor.
COINSectionType CoinMpsCardReader::readToNextSection | ( | ) |
Read to next section.
COINSectionType CoinMpsCardReader::nextField | ( | ) |
Gets next field and returns section type e.g. COIN_COLUMN_SECTION.
int CoinMpsCardReader::nextGmsField | ( | int | expectedType | ) |
Gets next field for .gms file and returns type.
-1 - EOF 0 - what we expected (and processed so pointer moves past) 1 - not what we expected leading blanks always ignored input types 0 - anything - stops on non blank card 1 - name (in columnname) 2 - value 3 - value name pair 4 - equation type 5 - ;
|
inline |
Returns current section type.
Definition at line 95 of file CoinMpsIO.hpp.
|
inline |
Sets current section type.
Definition at line 99 of file CoinMpsIO.hpp.
|
inline |
Sees if free format.
Definition at line 103 of file CoinMpsIO.hpp.
|
inline |
Sets whether free format. Mainly for blank RHS etc.
Definition at line 106 of file CoinMpsIO.hpp.
|
inline |
Only for first field on card otherwise BLANK_COLUMN e.g.
COIN_E_ROW
Definition at line 110 of file CoinMpsIO.hpp.
int CoinMpsCardReader::cleanCard | ( | ) |
Reads and cleans card - taking out trailing blanks - return 1 if EOF.
|
inline |
Returns row name of current field.
Definition at line 116 of file CoinMpsIO.hpp.
|
inline |
Returns column name of current field.
Definition at line 120 of file CoinMpsIO.hpp.
|
inline |
Returns value in current field.
Definition at line 124 of file CoinMpsIO.hpp.
|
inline |
Returns value as string in current field.
Definition at line 128 of file CoinMpsIO.hpp.
|
inline |
Whole card (for printing)
Definition at line 132 of file CoinMpsIO.hpp.
|
inline |
Whole card - so we look at it (not const so nextBlankOr will work for gms reader)
Definition at line 136 of file CoinMpsIO.hpp.
|
inline |
set position (again so gms reader will work)
Definition at line 140 of file CoinMpsIO.hpp.
|
inline |
get position (again so gms reader will work)
Definition at line 143 of file CoinMpsIO.hpp.
|
inline |
Returns card number.
Definition at line 146 of file CoinMpsIO.hpp.
|
inline |
Returns file input.
Definition at line 150 of file CoinMpsIO.hpp.
|
inline |
Sets whether strings allowed.
Definition at line 154 of file CoinMpsIO.hpp.
double CoinMpsCardReader::osi_strtod | ( | char * | ptr, |
char ** | output, | ||
int | type | ||
) |
type - 0 normal, 1 INTEL IEEE, 2 other IEEE
|
static |
remove blanks
|
static |
type - 0 normal, 1 INTEL IEEE, 2 other IEEE
double CoinMpsCardReader::osi_strtod | ( | char * | ptr, |
char ** | output | ||
) |
For strings.
|
protected |
Current value.
Definition at line 164 of file CoinMpsIO.hpp.
|
protected |
Current card image.
Definition at line 166 of file CoinMpsIO.hpp.
|
protected |
Current position within card image.
Definition at line 168 of file CoinMpsIO.hpp.
|
protected |
End of card.
Definition at line 170 of file CoinMpsIO.hpp.
|
protected |
Current COINMpsType.
Definition at line 172 of file CoinMpsIO.hpp.
|
protected |
Current row name.
Definition at line 174 of file CoinMpsIO.hpp.
|
protected |
Current column name.
Definition at line 176 of file CoinMpsIO.hpp.
|
protected |
File input.
Definition at line 178 of file CoinMpsIO.hpp.
|
protected |
Which section we think we are in.
Definition at line 180 of file CoinMpsIO.hpp.
|
protected |
Card number.
Definition at line 182 of file CoinMpsIO.hpp.
|
protected |
Whether free format. Just for blank RHS etc.
Definition at line 184 of file CoinMpsIO.hpp.
|
protected |
Whether IEEE - 0 no, 1 INTEL, 2 not INTEL.
Definition at line 186 of file CoinMpsIO.hpp.
|
protected |
If all names <= 8 characters then allow embedded blanks.
Definition at line 188 of file CoinMpsIO.hpp.
|
protected |
MpsIO.
Definition at line 190 of file CoinMpsIO.hpp.
|
protected |
Message handler.
Definition at line 192 of file CoinMpsIO.hpp.
|
protected |
Messages.
Definition at line 194 of file CoinMpsIO.hpp.
|
protected |
Current element as characters (only if strings allowed)
Definition at line 196 of file CoinMpsIO.hpp.
|
protected |
Whether strings allowed.
Definition at line 198 of file CoinMpsIO.hpp.