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