Completions.
1.1 --- a/src/work/athos/lp/lp_base.cc Wed Mar 23 10:35:36 2005 +0000
1.2 +++ b/src/work/athos/lp/lp_base.cc Wed Mar 23 11:51:40 2005 +0000
1.3 @@ -1,4 +1,19 @@
1.4 -// -*- c++ -*-
1.5 +/* -*- C++ -*-
1.6 + * src/lemon/maps.h - Part of LEMON, a generic C++ optimization library
1.7 + *
1.8 + * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
1.9 + * (Egervary Combinatorial Optimization Research Group, EGRES).
1.10 + *
1.11 + * Permission to use, modify and distribute this software is granted
1.12 + * provided that this copyright notice appears in all copies. For
1.13 + * precise terms see the accompanying LICENSE file.
1.14 + *
1.15 + * This software is provided "AS IS" with no warranty of any kind,
1.16 + * express or implied, and with no claim as to its suitability for any
1.17 + * purpose.
1.18 + *
1.19 + */
1.20 +
1.21 #ifndef LEMON_LP_BASE_CC
1.22 #define LEMON_LP_BASE_CC
1.23
2.1 --- a/src/work/athos/lp/lp_base.h Wed Mar 23 10:35:36 2005 +0000
2.2 +++ b/src/work/athos/lp/lp_base.h Wed Mar 23 11:51:40 2005 +0000
2.3 @@ -1,4 +1,19 @@
2.4 -// -*- c++ -*-
2.5 +/* -*- C++ -*-
2.6 + * src/lemon/maps.h - Part of LEMON, a generic C++ optimization library
2.7 + *
2.8 + * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
2.9 + * (Egervary Combinatorial Optimization Research Group, EGRES).
2.10 + *
2.11 + * Permission to use, modify and distribute this software is granted
2.12 + * provided that this copyright notice appears in all copies. For
2.13 + * precise terms see the accompanying LICENSE file.
2.14 + *
2.15 + * This software is provided "AS IS" with no warranty of any kind,
2.16 + * express or implied, and with no claim as to its suitability for any
2.17 + * purpose.
2.18 + *
2.19 + */
2.20 +
2.21 #ifndef LEMON_LP_BASE_H
2.22 #define LEMON_LP_BASE_H
2.23
2.24 @@ -6,7 +21,15 @@
2.25 ///\brief The interface of the LP solver interface.
2.26 namespace lemon {
2.27 class LpSolverBase {
2.28 - protected:
2.29 + public:
2.30 +
2.31 + //UNCATEGORIZED
2.32 +
2.33 + /// \e
2.34 + typedef double Value;
2.35 + /// \e
2.36 + static const Value INF;
2.37 + protected:
2.38
2.39 //MATRIX MANIPULATING FUNCTIONS
2.40
2.41 @@ -17,14 +40,37 @@
2.42 /// \e
2.43 /// \warning Arrays are indexed from 1 (datum at index 0 is ignored)
2.44 virtual void _setRowCoeffs(int i,
2.45 - int * &indices,
2.46 - double * &doubles ) = 0;
2.47 + int const * indices,
2.48 + Value const * values ) = 0;
2.49 /// \e
2.50 /// \warning Arrays are indexed from 1 (datum at index 0 is ignored)
2.51 virtual void _setColCoeffs(int i,
2.52 - int * &indices,
2.53 - double * &doubles ) = 0;
2.54 + int const * indices,
2.55 + Value const * values ) = 0;
2.56
2.57 + /// \e
2.58 + /// The lower bound of a variable (column) have to be given by an
2.59 + /// extended number of type Value, i.e. a finite number of type
2.60 + /// Value or -INF.
2.61 + virtual void _setColLowerBound(int i, Value value) = 0;
2.62 + /// \e
2.63 + /// The upper bound of a variable (column) have to be given by an
2.64 + /// extended number of type Value, i.e. a finite number of type
2.65 + /// Value or INF.
2.66 + virtual void _setColUpperBound(int i, Value value) = 0;
2.67 + /// \e
2.68 + /// The lower bound of a linear expression (row) have to be given by an
2.69 + /// extended number of type Value, i.e. a finite number of type
2.70 + /// Value or -INF.
2.71 + virtual void _setRowLowerBound(int i, Value value) = 0;
2.72 + /// \e
2.73 + /// The upper bound of a linear expression (row) have to be given by an
2.74 + /// extended number of type Value, i.e. a finite number of type
2.75 + /// Value or INF.
2.76 + virtual void _setRowUpperBound(int i, Value value) = 0;
2.77 +
2.78 + /// \e
2.79 + virtual void _setObjCoeff(int i, Value obj_coef) = 0;
2.80 }
2.81
2.82 } //namespace lemon