32 void addRow(
int numberInRow,
const int * columns,
37 void addColumn(
int numberInColumn,
const int * rows,
38 const double * elements,
39 double columnLower=0.0,
40 double columnUpper=
COIN_DBL_MAX,
double objectiveValue=0.0);
42 inline void addCol(
int numberInColumn,
const int * rows,
43 const double * elements,
44 double columnLower=0.0,
45 double columnUpper=
COIN_DBL_MAX,
double objectiveValue=0.0)
46 {
addColumn(numberInColumn, rows, elements, columnLower, columnUpper, objectiveValue);}
49 {
return (type_==0) ? numberItems_ : numberOther_;}
52 {
return (type_==1) ? numberItems_ : numberOther_;}
55 {
return numberElements_;}
58 int row(
int whichRow,
double & rowLower,
double & rowUpper,
59 const int * & indices,
const double * & elements)
const;
63 int currentRow(
double & rowLower,
double & rowUpper,
64 const int * & indices,
const double * & elements)
const;
71 int column(
int whichColumn,
72 double & columnLower,
double & columnUpper,
double & objectiveValue,
73 const int * & indices,
const double * & elements)
const;
77 int currentColumn(
double & columnLower,
double & columnUpper,
double & objectiveValue,
78 const int * & indices,
const double * & elements)
const;
108 void setMutableCurrent(
int which)
const;
110 void addItem(
int numberInItem,
const int * indices,
111 const double * elements,
113 double itemUpper,
double objectiveValue);
116 int item(
int whichItem,
117 double & itemLower,
double & itemUpper,
double & objectiveValue,
118 const int * & indices,
const double * & elements)
const;
122 int currentItem(
double & itemLower,
double & itemUpper,
double & objectiveValue,
123 const int * & indices,
const double * & elements)
const;
125 void setCurrentItem(
int whichItem);
127 int currentItem()
const;
139 mutable double * currentItem_;
void setCurrentColumn(int whichColumn)
Set current column.
int type() const
Returns type.
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 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 currentColumn() const
Returns current column number.
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.
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.
CoinBigIndex numberElements() const
Return number of elements.
int currentRow() const
Returns current row number.
const double COIN_DBL_MAX
int numberRows() const
Return number of rows or maximum found so far.
CoinBuild()
Default constructor.
In many cases it is natural to build a model by adding one row at a time.