4 #ifndef ClpPlusMinusOneMatrix_H
5 #define ClpPlusMinusOneMatrix_H
8 #include "CoinPragma.hpp"
59 virtual void deleteCols(
const int numDel,
const int * indDel);
61 virtual void deleteRows(
const int numDel,
const int * indDel);
63 virtual void appendCols(
int number,
const CoinPackedVectorBase *
const * columns);
65 virtual void appendRows(
int number,
const CoinPackedVectorBase *
const * rows);
72 const CoinBigIndex * starts,
const int * index,
73 const double * element,
int numberOther = -1);
79 const int * whichColumn,
80 int & numberColumnBasic);
83 const int * whichColumn,
84 int & numberColumnBasic,
85 int * row,
int * start,
86 int * rowCount,
int * columnCount,
87 CoinFactorizationDouble * element);
96 virtual void rangeOfElements(
double & smallestNegative,
double & largestNegative,
97 double & smallestPositive,
double & largestPositive);
107 CoinIndexedVector * rowArray,
111 virtual void add(
const ClpSimplex * model, CoinIndexedVector * rowArray,
112 int column,
double multiplier)
const ;
115 int column,
double multiplier)
const;
133 virtual void times(
double scalar,
134 const double * x,
double * y)
const;
136 virtual void times(
double scalar,
137 const double * x,
double * y,
138 const double * rowScale,
139 const double * columnScale)
const;
144 const double * x,
double * y)
const;
147 const double * x,
double * y,
148 const double * rowScale,
149 const double * columnScale,
double * spare = NULL)
const;
155 const CoinIndexedVector * x,
156 CoinIndexedVector * y,
157 CoinIndexedVector * z)
const;
164 const CoinIndexedVector * x,
165 CoinIndexedVector * y,
166 CoinIndexedVector * z)
const;
171 const CoinIndexedVector * x,
172 const CoinIndexedVector * y,
173 CoinIndexedVector * z)
const;
177 const CoinIndexedVector * pi)
const;
180 const CoinIndexedVector * pi1, CoinIndexedVector * dj1,
181 const CoinIndexedVector * pi2,
182 CoinIndexedVector * spare,
183 double referenceIn,
double devex,
185 unsigned int * reference,
186 double * weights,
double scaleFactor);
189 CoinIndexedVector * dj1,
190 const CoinIndexedVector * pi2, CoinIndexedVector * dj2,
191 double referenceIn,
double devex,
193 unsigned int * reference,
194 double * weights,
double scaleFactor);
231 bool columnOrdered,
const int * indices,
236 int numberRows,
const int * whichRows,
237 int numberColumns,
const int * whichColumns);
245 int numberRows,
const int * whichRows,
246 int numberColumns,
const int * whichColumns)
const ;
248 void passInCopy(
int numberRows,
int numberColumns,
249 bool columnOrdered,
int * indices,
255 int & bestSequence,
int & numberWanted);
263 mutable CoinPackedMatrix *
matrix_;