00001
00002
00003
00004
00005 #include <cstdio>
00006
00007 #include "CoinPragma.hpp"
00008
00009 #include "ClpSimplex.hpp"
00010 #include "ClpDummyMatrix.hpp"
00011 #include "ClpFactorization.hpp"
00012 #include "ClpMessage.hpp"
00013
00014
00015
00016
00017
00018
00019
00020
00021 ClpDummyMatrix::ClpDummyMatrix ()
00022 : ClpMatrixBase()
00023 {
00024 setType(14);
00025 numberRows_=0;
00026 numberColumns_=0;
00027 numberElements_=0;
00028 }
00029
00030
00031 ClpDummyMatrix::ClpDummyMatrix(int numberColumns, int numberRows,
00032 int numberElements)
00033 : ClpMatrixBase()
00034 {
00035 setType(14);
00036 numberRows_=numberRows;
00037 numberColumns_=numberColumns;
00038 numberElements_=numberElements;
00039 }
00040
00041
00042
00043 ClpDummyMatrix::ClpDummyMatrix (const ClpDummyMatrix & rhs)
00044 : ClpMatrixBase(rhs)
00045 {
00046 numberRows_=rhs.numberRows_;
00047 numberColumns_=rhs.numberColumns_;
00048 numberElements_=rhs.numberElements_;
00049 }
00050
00051 ClpDummyMatrix::ClpDummyMatrix (const CoinPackedMatrix & rhs)
00052 : ClpMatrixBase()
00053 {
00054 std::cerr<<"Constructor from CoinPackedMatrix nnot supported - ClpDummyMatrix"<<std::endl;
00055 abort();
00056 }
00057
00058
00059
00060
00061 ClpDummyMatrix::~ClpDummyMatrix ()
00062 {
00063 }
00064
00065
00066
00067
00068 ClpDummyMatrix &
00069 ClpDummyMatrix::operator=(const ClpDummyMatrix& rhs)
00070 {
00071 if (this != &rhs) {
00072 ClpMatrixBase::operator=(rhs);
00073 numberRows_=rhs.numberRows_;
00074 numberColumns_=rhs.numberColumns_;
00075 numberElements_=rhs.numberElements_;
00076 }
00077 return *this;
00078 }
00079
00080
00081
00082 ClpMatrixBase * ClpDummyMatrix::clone() const
00083 {
00084 return new ClpDummyMatrix(*this);
00085 }
00086
00087
00088 ClpMatrixBase *
00089 ClpDummyMatrix::reverseOrderedCopy() const
00090 {
00091 std::cerr<<"reverseOrderedCopy not supported - ClpDummyMatrix"<<std::endl;
00092 abort();
00093 return NULL;
00094 }
00095
00096 void
00097 ClpDummyMatrix::times(double scalar,
00098 const double * x, double * y) const
00099 {
00100 std::cerr<<"times not supported - ClpDummyMatrix"<<std::endl;
00101 abort();
00102 }
00103 void
00104 ClpDummyMatrix::transposeTimes(double scalar,
00105 const double * x, double * y) const
00106 {
00107 std::cerr<<"transposeTimes not supported - ClpDummyMatrix"<<std::endl;
00108 abort();
00109 }
00110 void
00111 ClpDummyMatrix::times(double scalar,
00112 const double * x, double * y,
00113 const double * rowScale,
00114 const double * columnScale) const
00115 {
00116 std::cerr<<"timesnot supported - ClpDummyMatrix"<<std::endl;
00117 abort();
00118 }
00119 void
00120 ClpDummyMatrix::transposeTimes( double scalar,
00121 const double * x, double * y,
00122 const double * rowScale,
00123 const double * columnScale) const
00124 {
00125 std::cerr<<"transposeTimesnot supported - ClpDummyMatrix"<<std::endl;
00126 abort();
00127 }
00128
00129
00130 void
00131 ClpDummyMatrix::transposeTimes(const ClpSimplex * model, double scalar,
00132 const CoinIndexedVector * rowArray,
00133 CoinIndexedVector * y,
00134 CoinIndexedVector * columnArray) const
00135 {
00136 std::cerr<<"transposeTimes not supported - ClpDummyMatrix"<<std::endl;
00137 abort();
00138 }
00139
00140
00141
00142 void
00143 ClpDummyMatrix::subsetTransposeTimes(const ClpSimplex * model,
00144 const CoinIndexedVector * rowArray,
00145 const CoinIndexedVector * y,
00146 CoinIndexedVector * columnArray) const
00147 {
00148 std::cerr<<"subsetTransposeTimes not supported - ClpDummyMatrix"<<std::endl;
00149 abort();
00150 }
00151
00152
00153 CoinBigIndex
00154 ClpDummyMatrix::numberInBasis(const int * columnIsBasic) const
00155 {
00156 std::cerr<<"numberInBasis not supported - ClpDummyMatrix"<<std::endl;
00157 abort();
00158 return 0;
00159 }
00160
00161 CoinBigIndex
00162 ClpDummyMatrix::fillBasis(const ClpSimplex * model,
00163 const int * columnIsBasic, int & numberBasic,
00164 int * indexRowU, int * indexColumnU,
00165 double * elementU) const
00166 {
00167 std::cerr<<"fillBasis not supported - ClpDummyMatrix"<<std::endl;
00168 abort();
00169 return 0;
00170 }
00171
00172
00173 CoinBigIndex
00174 ClpDummyMatrix::fillBasis(const ClpSimplex * model,
00175 const int * whichColumn,
00176 int numberBasic,
00177 int numberColumnBasic,
00178 int * indexRowU, int * indexColumnU,
00179 double * elementU) const
00180 {
00181 std::cerr<<"fillBasis not supported - ClpDummyMatrix"<<std::endl;
00182 abort();
00183 return 0;
00184 }
00185
00186
00187 void
00188 ClpDummyMatrix::unpack(const ClpSimplex * model,CoinIndexedVector * rowArray,
00189 int iColumn) const
00190 {
00191 std::cerr<<"unpack not supported - ClpDummyMatrix"<<std::endl;
00192 abort();
00193 }
00194
00195
00196
00197
00198 void
00199 ClpDummyMatrix::unpackPacked(ClpSimplex * model,
00200 CoinIndexedVector * rowArray,
00201 int iColumn) const
00202 {
00203 std::cerr<<"unpackPacked not supported - ClpDummyMatrix"<<std::endl;
00204 abort();
00205 }
00206
00207
00208 void
00209 ClpDummyMatrix::add(const ClpSimplex * model,CoinIndexedVector * rowArray,
00210 int iColumn, double multiplier) const
00211 {
00212 std::cerr<<"add not supported - ClpDummyMatrix"<<std::endl;
00213 abort();
00214 }
00215
00216
00217 CoinPackedMatrix *
00218 ClpDummyMatrix::getPackedMatrix() const
00219 {
00220 std::cerr<<"getPackedMatrix not supported - ClpDummyMatrix"<<std::endl;
00221 abort();
00222 return NULL;
00223 }
00224
00225
00226
00227
00228 const double *
00229 ClpDummyMatrix::getElements() const
00230 {
00231 std::cerr<<"getElements not supported - ClpDummyMatrix"<<std::endl;
00232 abort();
00233 return NULL;
00234 }
00235
00236 const CoinBigIndex *
00237 ClpDummyMatrix::getVectorStarts() const
00238 {
00239 std::cerr<<"getVectorStarts not supported - ClpDummyMatrix"<<std::endl;
00240 abort();
00241 return NULL;
00242 }
00243
00244 const int *
00245 ClpDummyMatrix::getVectorLengths() const
00246 {
00247 std::cerr<<"get VectorLengths not supported - ClpDummyMatrix"<<std::endl;
00248 abort();
00249 return NULL;
00250 }
00251
00252 void ClpDummyMatrix::deleteCols(const int numDel, const int * indDel)
00253 {
00254 std::cerr<<"deleteCols not supported - ClpDummyMatrix"<<std::endl;
00255 abort();
00256 }
00257
00258 void ClpDummyMatrix::deleteRows(const int numDel, const int * indDel)
00259 {
00260 std::cerr<<"deleteRows not supported - ClpDummyMatrix"<<std::endl;
00261 abort();
00262 }
00263 const int *
00264 ClpDummyMatrix::getIndices() const
00265 {
00266 std::cerr<<"getIndices not supported - ClpDummyMatrix"<<std::endl;
00267 abort();
00268 return NULL;
00269 }