diff options
Diffstat (limited to 'build/Bonmin/include/coin/CoinBuild.hpp')
-rw-r--r-- | build/Bonmin/include/coin/CoinBuild.hpp | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/build/Bonmin/include/coin/CoinBuild.hpp b/build/Bonmin/include/coin/CoinBuild.hpp deleted file mode 100644 index 770c269..0000000 --- a/build/Bonmin/include/coin/CoinBuild.hpp +++ /dev/null @@ -1,149 +0,0 @@ -/* $Id: CoinBuild.hpp 1416 2011-04-17 09:57:29Z stefan $ */ -// Copyright (C) 2005, International Business Machines -// Corporation and others. All Rights Reserved. -// This code is licensed under the terms of the Eclipse Public License (EPL). - -#ifndef CoinBuild_H -#define CoinBuild_H - - -#include "CoinPragma.hpp" -#include "CoinTypes.hpp" -#include "CoinFinite.hpp" - - -/** - In many cases it is natural to build a model by adding one row at a time. In Coin this - is inefficient so this class gives some help. An instance of CoinBuild can be built up - more efficiently and then added to the Clp/OsiModel in one go. - - It may be more efficient to have fewer arrays and re-allocate them but this should - give a large gain over addRow. - - I have now extended it to columns. - -*/ - -class CoinBuild { - -public: - /**@name Useful methods */ - //@{ - /// add a row - void addRow(int numberInRow, const int * columns, - const double * elements, double rowLower=-COIN_DBL_MAX, - double rowUpper=COIN_DBL_MAX); - /// add a column - 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 - inline void addCol(int numberInColumn, const int * rows, - const double * elements, - double columnLower=0.0, - double columnUpper=COIN_DBL_MAX, double objectiveValue=0.0) - { addColumn(numberInColumn, rows, elements, columnLower, columnUpper, objectiveValue);} - /// Return number of rows or maximum found so far - inline int numberRows() const - { return (type_==0) ? numberItems_ : numberOther_;} - /// Return number of columns or maximum found so far - inline int numberColumns() const - { return (type_==1) ? numberItems_ : numberOther_;} - /// Return number of elements - inline CoinBigIndex numberElements() const - { return numberElements_;} - /** Returns number of elements in a row and information in row - */ - int row(int whichRow, double & rowLower, double & rowUpper, - const int * & indices, const double * & elements) const; - /** Returns number of elements in current row and information in row - Used as rows may be stored in a chain - */ - int currentRow(double & rowLower, double & rowUpper, - const int * & indices, const double * & elements) const; - /// Set current row - void setCurrentRow(int whichRow); - /// Returns current row number - int currentRow() const; - /** Returns number of elements in a column and information in column - */ - int column(int whichColumn, - double & columnLower, double & columnUpper,double & objectiveValue, - const int * & indices, const double * & elements) const; - /** Returns number of elements in current column and information in column - Used as columns may be stored in a chain - */ - int currentColumn( double & columnLower, double & columnUpper,double & objectiveValue, - const int * & indices, const double * & elements) const; - /// Set current column - void setCurrentColumn(int whichColumn); - /// Returns current column number - int currentColumn() const; - /// Returns type - inline int type() const - { return type_;} - //@} - - - /**@name Constructors, destructor */ - //@{ - /** Default constructor. */ - CoinBuild(); - /** Constructor with type 0==for addRow, 1== for addColumn. */ - CoinBuild(int type); - /** Destructor */ - ~CoinBuild(); - //@} - - /**@name Copy method */ - //@{ - /** The copy constructor. */ - CoinBuild(const CoinBuild&); - /// = - CoinBuild& operator=(const CoinBuild&); - //@} -private: - /// Set current - void setMutableCurrent(int which) const; - /// add a item - void addItem(int numberInItem, const int * indices, - const double * elements, - double itemLower, - double itemUpper, double objectiveValue); - /** Returns number of elements in a item and information in item - */ - int item(int whichItem, - double & itemLower, double & itemUpper,double & objectiveValue, - const int * & indices, const double * & elements) const; - /** Returns number of elements in current item and information in item - Used as items may be stored in a chain - */ - int currentItem( double & itemLower, double & itemUpper,double & objectiveValue, - const int * & indices, const double * & elements) const; - /// Set current item - void setCurrentItem(int whichItem); - /// Returns current item number - int currentItem() const; - -private: - /**@name Data members */ - //@{ - /// Current number of items - int numberItems_; - /// Current number of other dimension i.e. Columns if addRow (i.e. max) - int numberOther_; - /// Current number of elements - CoinBigIndex numberElements_; - /// Current item pointer - mutable double * currentItem_; - /// First item pointer - double * firstItem_; - /// Last item pointer - double * lastItem_; - /// Type of build - 0 for row, 1 for column, -1 unset - int type_; - //@} -}; - -#endif |