SmiQuadratic.hpp
Go to the documentation of this file.
1 // Copyright (C) 2014, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 
4 #ifndef SmiQuadratic_HPP
5 #define SmiQuadratic_HPP
6 
7 #include "CoinPragma.hpp"
8 #include "OsiSolverInterface.hpp"
9 #include "CoinPackedVector.hpp"
10 
11 #include <map>
12 #include <vector>
13 
14 using namespace std;
15 
16 
17 //SmiQuadratic.hpp
18 //
19 //Classes to implement quadratic SP
20 
22 protected:
23  int _n;
24  int *_starts;
25  int *_indx;
26  double *_els;
27  int _coff;
28  bool _hasData;
29 public:
30  SmiQuadraticData(int n, int *starts, int *indx, double *els,int coff=0):
31  _n(n),_starts(starts),_indx(indx),_els(els),_coff(coff){
32  if (n==0 || starts==NULL || indx==NULL || els==NULL)
33  _hasData=false;
34  else
35  _hasData=true;
36  }
37 
38  SmiQuadraticData():_n(0),_starts(NULL),_indx(NULL),_els(NULL),_coff(0),_hasData(false){}
39 
40  bool hasData() {return _hasData;}
41  void setHasData(bool hasData){_hasData=hasData;}
42 
43  int *getQDstarts() {return _starts;}
44  void setQDstarts(int *starts) {_starts=starts;}
45  int *getQDindx() {return _indx;}
46  void setQDindx(int *indx) {_indx=indx;}
47  double *getQDels() {return _els;}
48  void setQDels( double *els) {_els=els;}
49  int getQDncols() {return _n;}
50  void setQDncols(int ncols) {_n=ncols;}
51  int getNumEls() {return _starts[_n] - _starts[0];}
52 
53 };
54 
56 public:
57  SmiQuadraticDataDC(int ncols, int nels){
58  this->setQDstarts(new int[ncols+1]);
59  memset(this->getQDstarts(),0,(ncols+1)*sizeof(int));
60  this->setQDindx(new int[nels]);
61  this->setQDels(new double[nels]);
62  this->setQDncols(ncols);
63  }
65  delete[] _starts; delete[] _indx; delete[] _els;
66  }
67 };
68 
69 
70 
71 #endif
void setQDncols(int ncols)
SmiQuadraticData(int n, int *starts, int *indx, double *els, int coff=0)
double * getQDels()
void setQDindx(int *indx)
void setQDstarts(int *starts)
void setQDels(double *els)
SmiQuadraticDataDC(int ncols, int nels)
void setHasData(bool hasData)