13 #ifndef BonFilterWarmStart_H
14 #define BonFilterWarmStart_H
16 #include "CoinWarmStartBasis.hpp"
17 #include "CoinWarmStartPrimalDual.hpp"
19 #include "CoinSmartPtr.hpp"
34 public virtual CoinWarmStartPrimalDual,
public virtual CoinWarmStartBasis,
35 public Coin::ReferencedObject
45 const real* xArray = NULL,
46 const fint lamSize = 0,
47 const real* lamArray = NULL,
56 virtual CoinWarmStart *
clone()
const
65 virtual CoinWarmStartDiff*
generateDiff(
const CoinWarmStart *
const other)
const;
68 virtual void applyDiff(
const CoinWarmStartDiff *
const cswDiff);
122 virtual CoinWarmStartDiff *
clone()
const
const fint * istat() const
virtual ~FilterWarmStart()
Destructor.
fint lwsSize() const
Access to lws size.
virtual ~FilterWarmStartDiff()
std::pair< fint, fint > OneDiff
One difference is two integers (indice and difference).
virtual CoinWarmStartDiff * generateDiff(const CoinWarmStart *const other) const
Generate differences.
Warm start for filter interface.
const fint * lwsArray() const
Access to lws array.
FilterWarmStart(const fint xSize=0, const real *xArray=NULL, const fint lamSize=0, const real *lamArray=NULL, const fint lwsSize=0, const fint *lwsArray=NULL, const fint istat[14]=def_istat)
Constructor.
virtual CoinWarmStartDiff * clone() const
fint istat_[14]
Filter's istat (AW: I think we only need first entry)
std::vector< OneDiff > differences
Vector of all the differences.
FORTRAN_INTEGER_TYPE fint
Fortran type for integer used in filter.
bool empty() const
Is this an empty warm start?
FilterWarmStartDiff(CoinWarmStartPrimalDualDiff *diff, fint capacity)
virtual void applyDiff(const CoinWarmStartDiff *const cswDiff)
Apply differences.
double real
Fortran type for double.used in filter.
static fint def_istat[14]
Default values for istat.
bool empty_
Say if warm start is empty.
virtual CoinWarmStart * clone() const
virtual copy
fint lwsSize_
Size of fint lws array store.
void flushPoint()
flush the starting point
fint * lwsArray_
fint lws array to store