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.
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.
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 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
CoinBigIndex numberElements() const
Return number of elements.
int numberRows() const
Return number of rows or maximum found so far.
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 type() const
Returns type.
const double COIN_DBL_MAX
CoinBuild()
Default constructor.
In many cases it is natural to build a model by adding one row at a time.