30 void addRow(
int numberInRow,
const int *columns,
35 void addColumn(
int numberInColumn,
const int *rows,
36 const double *elements,
37 double columnLower = 0.0,
38 double columnUpper =
COIN_DBL_MAX,
double objectiveValue = 0.0);
40 inline void addCol(
int numberInColumn,
const int *rows,
41 const double *elements,
42 double columnLower = 0.0,
43 double columnUpper =
COIN_DBL_MAX,
double objectiveValue = 0.0)
45 addColumn(numberInColumn, rows, elements, columnLower, columnUpper, objectiveValue);
64 int row(
int whichRow,
double &rowLower,
double &rowUpper,
65 const int *&indices,
const double *&elements)
const;
69 int currentRow(
double &rowLower,
double &rowUpper,
70 const int *&indices,
const double *&elements)
const;
77 int column(
int whichColumn,
78 double &columnLower,
double &columnUpper,
double &objectiveValue,
79 const int *&indices,
const double *&elements)
const;
83 int currentColumn(
double &columnLower,
double &columnUpper,
double &objectiveValue,
84 const int *&indices,
const double *&elements)
const;
117 void addItem(
int numberInItem,
const int *indices,
118 const double *elements,
120 double itemUpper,
double objectiveValue);
123 int item(
int whichItem,
124 double &itemLower,
double &itemUpper,
double &objectiveValue,
125 const int *&indices,
const double *&elements)
const;
129 int currentItem(
double &itemLower,
double &itemUpper,
double &objectiveValue,
130 const int *&indices,
const double *&elements)
const;
void setCurrentColumn(int whichColumn)
Set current column.
void addRow(int numberInRow, const int *columns, const double *elements, double rowLower=-COIN_DBL_MAX, double rowUpper=COIN_DBL_MAX)
add a row
void addCol(int numberInColumn, const int *rows, const double *elements, double columnLower=0.0, double columnUpper=COIN_DBL_MAX, double objectiveValue=0.0)
add a column
CoinBuild & operator=(const CoinBuild &)
=
void setCurrentRow(int whichRow)
Set current row.
void addItem(int numberInItem, const int *indices, const double *elements, double itemLower, double itemUpper, double objectiveValue)
add a item
int column(int whichColumn, double &columnLower, double &columnUpper, double &objectiveValue, const int *&indices, const double *&elements) const
Returns number of elements in a column and information in column.
int currentRow() const
Returns current row number.
int currentColumn() const
Returns current column number.
void setMutableCurrent(int which) const
Set current.
void addColumn(int numberInColumn, const int *rows, const double *elements, double columnLower=0.0, double columnUpper=COIN_DBL_MAX, double objectiveValue=0.0)
add a column
int numberItems_
Current number of items.
CoinBigIndex numberElements() const
Return number of elements.
int numberOther_
Current number of other dimension i.e. Columns if addRow (i.e. max)
int numberRows() const
Return number of rows or maximum found so far.
CoinBigIndex numberElements_
Current number of elements.
int numberColumns() const
Return number of columns or maximum found so far.
int row(int whichRow, double &rowLower, double &rowUpper, const int *&indices, const double *&elements) const
Returns number of elements in a row and information in row.
void setCurrentItem(int whichItem)
Set current item.
int type_
Type of build - 0 for row, 1 for column, -1 unset.
int currentItem() const
Returns current item number.
double * lastItem_
Last item pointer.
int item(int whichItem, double &itemLower, double &itemUpper, double &objectiveValue, const int *&indices, const double *&elements) const
Returns number of elements in a item and information in item.
int type() const
Returns type.
double * firstItem_
First item pointer.
const double COIN_DBL_MAX
double * currentItem_
Current item pointer.
CoinBuild()
Default constructor.
In many cases it is natural to build a model by adding one row at a time.