Go to the documentation of this file.
6 #ifndef CoinModelUseful_H
7 #define CoinModelUseful_H
50 inline int row()
const
140 return triple.
row & 0x7fffffff;
144 triple.
row = iRow | (triple.
row & 0x80000000);
148 return (triple.
row & 0x80000000) != 0;
152 triple.
row = (
string ? 0x80000000 : 0) | (triple.
row & 0x7fffffff);
155 int iRow,
bool string)
157 triple.
row = (
string ? 0x80000000 : 0) | iRow;
241 void resize(
int maxItems,
bool forceReHash =
false);
256 inline const char *
const *
names()
const
271 const char *
name(
int which)
const;
void setRowAndStringInTriple(CoinModelTriple &triple, int iRow, bool string)
CoinBigIndex maximumElements() const
Maximum number of elements.
~CoinModelLinkedList()
Destructor.
int maximumMajor() const
Maximum number of major items i.e. rows if just row links.
CoinModelHashLink * hash_
hash
~CoinModelHash()
Destructor.
void setStringInTriple(CoinModelTriple &triple, bool string)
int maximumItems_
Maximum number of items.
CoinBigIndex lastFree() const
Last on free chain.
int hash(const char *name) const
Returns index or -1.
CoinModelLinkedList(const CoinModelLinkedList &)
The copy constructor.
const CoinBigIndex * previous() const
Previous array.
CoinBigIndex maximumElements_
Maximum number of elements.
bool onRow() const
Get onRow.
void deleteRowOne(CoinBigIndex position, CoinModelTriple *triples, CoinModelHash2 &hash)
Deletes one element from Row list.
CoinModelHash(const CoinModelHash &)
The copy constructor.
CoinBigIndex numberItems_
Number of items.
CoinModelHash()
Default constructor.
int numberMajor() const
Number of major items i.e. rows if just row links.
CoinBigIndex position() const
Get position.
double value() const
Get value.
void updateDeletedOne(CoinBigIndex position, const CoinModelTriple *triples)
Update column list for one element when one element deleted from row copy.
int maximumMajor_
Maximum number of major items i.e. rows if just row links.
void setName(int which, char *name)
Sets name at position (does not create)
void addHash(CoinBigIndex index, int row, int column, const CoinModelTriple *triples)
Adds to hash.
CoinYacc & operator=(const CoinYacc &rhs)
~CoinModelLink()
Destructor.
CoinYacc(const CoinYacc &rhs)
bool stringInTriple(const CoinModelTriple &triple)
CoinModelLink()
Default constructor.
CoinModelLinkedList & operator=(const CoinModelLinkedList &)
=
void setOnRow(bool onRow)
Set onRow.
CoinBigIndex numberElements_
Number of elements.
void setRowInTriple(CoinModelTriple &triple, int iRow)
CoinBigIndex numberItems() const
Number of items.
const char * name(int which) const
Returns name at position (or NULL)
CoinBigIndex * first_
First - maximumMajor+1 long (last free element chain)
int hashValue(const char *name) const
Returns a hash value.
void setNumberItems(int number)
Set number of items.
void setNumberItems(CoinBigIndex number)
Set number of items.
This is for various structures/classes needed by CoinModel.
CoinModelLink & operator=(const CoinModelLink &)
=
double value_
Value as double.
const char *const * names() const
Names.
void setColumn(int column)
Set column.
CoinBigIndex hashValue(int row, int column) const
Returns a hash value.
CoinBigIndex firstFree() const
First on free chain.
CoinBigIndex last(int which) const
Last on chain.
~CoinModelHash2()
Destructor.
CoinBigIndex position_
Position in data.
int column() const
Get column.
void validateHash() const
Validates.
const CoinBigIndex * next() const
Next array.
void setValue(double value)
Set value.
CoinBigIndex addEasy(int majorIndex, CoinBigIndex numberOfElements, const int *indices, const double *elements, CoinModelTriple *triples, CoinModelHash2 &hash)
Adds to list - easy case i.e.
char * getName(int which) const
Returns non const name at position (or NULL)
void resize(CoinBigIndex maxItems, const CoinModelTriple *triples, bool forceReHash=false)
Resize hash (also re-hashs)
void resize(int maxItems, bool forceReHash=false)
Resize hash (also re-hashs)
CoinBigIndex maximumItems_
Maximum number of items.
int numberMajor_
Number of major items i.e. rows if just row links.
void updateDeleted(int which, CoinModelTriple *triples, CoinModelLinkedList &otherList)
Deletes from list - other case i.e.
void validateLinks(const CoinModelTriple *triples) const
Checks that links are consistent.
void addHash(int index, const char *name)
Adds to hash.
void addHard(CoinBigIndex first, const CoinModelTriple *triples, CoinBigIndex firstFree, CoinBigIndex lastFree, const CoinBigIndex *nextOther)
Adds to list - hard case i.e.
CoinModelLinkedList()
Default constructor.
void resize(int maxMajor, CoinBigIndex maxElements)
Resize list - for row list maxMajor is maximum rows.
CoinBigIndex * next_
Next - maximumElements long.
CoinBigIndex lastSlot_
Last slot looked at.
void fill(int first, int last)
Fills first,last with -1.
CoinModelHash2()
Default constructor.
void create(int maxMajor, CoinBigIndex maxElements, int numberMajor, int numberMinor, int type, CoinBigIndex numberElements, const CoinModelTriple *triples)
Create list - for row list maxMajor is maximum rows.
void addHard(int minorIndex, CoinBigIndex numberOfElements, const int *indices, const double *elements, CoinModelTriple *triples, CoinModelHash2 &hash)
Adds to list - hard case i.e.
CoinBigIndex first(int which) const
First on chain.
CoinBigIndex numberElements() const
Number of elements.
void deleteHash(CoinBigIndex index, int row, int column)
Deletes from hash.
CoinModelHash & operator=(const CoinModelHash &)
=
CoinModelLink(const CoinModelLink &)
The copy constructor.
void setRow(int row)
Set row.
CoinBigIndex * previous_
Previous - maximumElements long.
CoinBigIndex maximumItems() const
Maximum number of items.
void deleteHash(int index)
Deletes from hash.
int numberItems_
Number of items.
void setPosition(CoinBigIndex position)
Set position.
double element() const
Get value.
CoinModelHashLink2 * hash_
hash
int maximumItems() const
Maximum number of items.
void synchronize(CoinModelLinkedList &other)
Puts in free list from other list.
CoinBigIndex hash(int row, int column, const CoinModelTriple *triples) const
Returns index or -1.
bool onRow_
If on row chain.
int rowInTriple(const CoinModelTriple &triple)
int lastSlot_
Last slot looked at.
CoinModelHash2(const CoinModelHash2 &)
The copy constructor.
CoinBigIndex * last_
Last - maximumMajor+1 long (last free element chain)
void setElement(double value)
Set value.
int numberItems() const
Number of items i.e. rows if just row names.
void deleteSame(int which, CoinModelTriple *triples, CoinModelHash2 &hash, bool zapTriples)
Deletes from list - same case i.e.
CoinModelHash2 & operator=(const CoinModelHash2 &)
=
int type_
0 row list, 1 column list