changeset 8957:360aa52b5942

remove unused liboctave sources
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 11 Mar 2009 10:42:04 +0100
parents d91fa4b20bbb
children 6ccc12cc65ef
files liboctave/Bounds.cc liboctave/Bounds.h liboctave/FEGrid.cc liboctave/FEGrid.h liboctave/LP.h liboctave/LinConst.cc liboctave/LinConst.h liboctave/Makefile.in liboctave/Objective.h liboctave/QP.h
diffstat 10 files changed, 6 insertions(+), 925 deletions(-) [+]
line wrap: on
line diff
deleted file mode 100644
--- a/liboctave/Bounds.cc
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2004, 2005,
-              2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <iostream>
-
-#include "Bounds.h"
-#include "lo-error.h"
-
-// error handling
-
-void
-Bounds::error (const char* msg)
-{
-  (*current_liboctave_error_handler) ("fatal bounds error: ", msg);
-}
-
-Bounds&
-Bounds::set_bounds (const ColumnVector l, const ColumnVector u)
-{
-  if (l.capacity () != u.capacity ())
-    {
-      error ("inconsistent sizes for lower and upper bounds");
-      return *this;
-    }
-
-  lb = l;
-  ub = u;
-
-  return *this;
-}
-
-Bounds&
-Bounds::set_lower_bounds (const ColumnVector l)
-{
-  if (ub.capacity () != l.capacity ())
-    {
-      error ("inconsistent size for lower bounds");
-      return *this;
-    }
-
-  lb = l;
-
-  return *this;
-}
-
-Bounds&
-Bounds::set_upper_bounds (const ColumnVector u)
-{
-  if (lb.capacity () != u.capacity ())
-    {
-      error ("inconsistent size for upper bounds");
-      return *this;
-    }
-
-  ub = u;
-
-  return *this;
-}
-
-std::ostream&
-operator << (std::ostream& os, const Bounds& b)
-{
-  for (octave_idx_type i = 0; i < b.size (); i++)
-    os << b.lower_bound (i) << " " << b.upper_bound (i) << "\n";
-
-  return os;
-}
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
deleted file mode 100644
--- a/liboctave/Bounds.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2004, 2005,
-              2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#if !defined (octave_Bounds_h)
-#define octave_Bounds_h 1
-
-#include <iosfwd>
-
-#include "dColVector.h"
-
-class
-Bounds
-{
-public:
-
-  Bounds (void)
-    : lb (), ub () { }
-
-  Bounds (octave_idx_type n)
-    : lb (n, 0.0), ub (n, 0.0) { }
-
-  Bounds (const ColumnVector l, const ColumnVector u)
-    : lb (l), ub (u)
-      {
-        if (lb.capacity () != ub.capacity ())
-	  {
-	    error ("inconsistent sizes for lower and upper bounds");
-	    return;
-	  }
-      }
-
-  Bounds (const Bounds& a)
-    : lb (a.lb), ub (a.ub) { }
-
-  Bounds& operator = (const Bounds& a)
-    {
-      if (this != &a)
-	{
-	  lb = a.lower_bounds ();
-	  ub = a.upper_bounds ();
-	}
-      return *this;
-    }
-
-  ~Bounds (void) { }
-
-  Bounds& resize (octave_idx_type n)
-    {
-      lb.resize (n);
-      ub.resize (n);
-
-      return *this;
-    }
-
-  double lower_bound (octave_idx_type index) const { return lb.elem (index); }
-  double upper_bound (octave_idx_type index) const { return ub.elem (index); }
-
-  ColumnVector lower_bounds (void) const { return lb; }
-  ColumnVector upper_bounds (void) const { return ub; }
-
-  octave_idx_type size (void) const { return lb.capacity (); }
-
-  Bounds& set_bound (octave_idx_type index, double low, double high)
-    {
-      lb.elem (index) = low;
-      ub.elem (index) = high;
-      return *this;
-    }
-
-  Bounds& set_bounds (double low, double high)
-    {
-      lb.fill (low);
-      ub.fill (high);
-      return *this;
-    }
-
-  Bounds& set_bounds (const ColumnVector lb, const ColumnVector ub);
-
-  Bounds& set_lower_bound (octave_idx_type index, double low)
-    {
-      lb.elem (index) = low;
-      return *this;
-    }
-
-  Bounds& set_upper_bound (octave_idx_type index, double high)
-    {
-      ub.elem (index) = high;
-      return *this;
-    }
-
-  Bounds& set_lower_bounds (double low)
-    {
-      lb.fill (low);
-      return *this;
-    }
-
-  Bounds& set_upper_bounds (double high)
-    {
-      ub.fill (high);
-      return *this;
-    }
-
-  Bounds& set_lower_bounds (const ColumnVector lb);
-  Bounds& set_upper_bounds (const ColumnVector ub);
-
-  friend std::ostream& operator << (std::ostream& os, const Bounds& b);
-
-protected:
-
-  ColumnVector lb;
-  ColumnVector ub;
-
-private:
-
-  void error (const char *msg);
-};
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
deleted file mode 100644
--- a/liboctave/FEGrid.cc
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2003, 2004,
-              2005, 2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <iostream>
-
-#include "FEGrid.h"
-#include "lo-error.h"
-
-// error handling
-
-void
-FEGrid::error (const char* msg) const
-{
-  (*current_liboctave_error_handler) ("fatal FEGrid error: %s", msg);
-}
-
-void
-FEGrid::nel_error (void) const
-{
-  error ("number of elements less than 1");
-}
-
-// Constructors
-
-FEGrid::FEGrid (octave_idx_type nel, double width)
-{
-  if (nel < 1)
-    {
-      nel_error ();
-      return;
-    }
-
-  elem.resize (nel+1);
-
-  for (octave_idx_type i = 0; i <= nel; i++)
-    elem.elem (i) = i * width;
-}
-
-FEGrid::FEGrid (octave_idx_type nel, double l, double r)
-{
-  if (nel < 1)
-    {
-      nel_error ();
-      return;
-    }
-
-  elem.resize (nel+1);
-
-  double width = (r - l) / nel;
-
-  for (octave_idx_type i = 0; i <= nel; i++)
-    elem.elem (i) = i * width + l;
-
-  check_grid ();
-}
-
-octave_idx_type
-FEGrid::element (double x) const
-{
-  if (! in_bounds (x))
-    {
-      error ("value not within grid boundaries");
-      return -1;
-    }
-
-  octave_idx_type nel = elem.capacity () - 1;
-  for (octave_idx_type i = 1; i <= nel; i++)
-    {
-      if (x >= elem.elem (i-1) && x <= elem.elem (i))
-	return i;
-    }
-  return -1;
-       
-}
-
-void
-FEGrid::check_grid (void) const
-{
-  octave_idx_type nel = elem.capacity () - 1;
-  if (nel < 1)
-    {
-      nel_error ();
-      return;
-    }
-
-  for (octave_idx_type i = 1; i <= nel; i++)
-    {
-      if (elem.elem (i-1) > elem.elem (i))
-	{
-	  error ("element boundaries not in ascending order");
-	  return;
-	}
-
-      if (elem.elem (i-1) == elem.elem (i))
-	{
-	  error ("zero width element");
-	  return;
-	}
-    }
-}
-
-std::ostream&
-operator << (std::ostream& s, const FEGrid& g)
-{
-  s << g.element_boundaries ();
-  return s;
-}
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
deleted file mode 100644
--- a/liboctave/FEGrid.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2004, 2005,
-              2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#if !defined (octave_FEGrid_h)
-#define octave_FEGrid_h 1
-
-#include <iosfwd>
-
-#include "dColVector.h"
-
-class
-FEGrid
-{
-public:
-
-  FEGrid (void)
-    : elem () { }
-
-  FEGrid (const ColumnVector& elbnds)
-    : elem (elbnds) { check_grid (); }
-
-  FEGrid (octave_idx_type nel, double width);
-
-  FEGrid (octave_idx_type nel, double left, double right);
-
-  FEGrid (const FEGrid& a)
-    : elem (a.elem) { }
-
-  FEGrid& operator = (const FEGrid& a)
-    {
-      if (this != &a)
-	elem = a.elem;
-
-      return *this;
-    }
-
-  ~FEGrid (void) { }
-
-  octave_idx_type element (double x) const;
-
-  double left (void) const { return elem.elem (0); }
-
-  double right (void) const { return elem.elem (elem.capacity () - 1); }
-
-  int in_bounds (double x) const { return (x >= left () && x <= right ()); }
-
-  ColumnVector element_boundaries (void) const { return elem; }
-
-  friend std::ostream& operator << (std::ostream&, const FEGrid&);
-
-protected:
-
-  ColumnVector elem;
-
-private:
-
-  void error (const char* msg) const;
-  void nel_error (void) const;
-
-  void check_grid (void) const;
-};
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
deleted file mode 100644
--- a/liboctave/LP.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2003, 2005,
-              2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#if !defined (octave_LP_h)
-#define octave_LP_h 1
-
-#include "dColVector.h"
-#include "Bounds.h"
-#include "LinConst.h"
-#include "base-min.h"
-
-class
-octave_LP : public base_minimizer
-{
-public:
-
-  octave_LP (void)
-    : base_minimizer (), cvec (), bnds (), lin_constr () { }
-
-  octave_LP (const ColumnVector& c)
-    : base_minimizer (), cvec (c), bnds (), lin_constr () { }
-
-  octave_LP (const ColumnVector& c, const Bounds& b)
-    : base_minimizer (), cvec (c), bnds (b), lin_constr () { }
-
-  octave_LP (const ColumnVector& c, const Bounds& b, const LinConst& l)
-    : base_minimizer (), cvec (c), bnds (b), lin_constr (l) { }
-
-  octave_LP (const ColumnVector& c, const LinConst& l)
-    : base_minimizer (), cvec (c), bnds (), lin_constr (l) { }
-
-  octave_LP (const octave_LP& a)
-    : base_minimizer (a), cvec (a.cvec), bnds (a.bnds), lin_constr (a.lin_constr) { }
-
-  octave_LP& operator = (const octave_LP& a)
-    {
-      if (this != &a)
-	{
-	  base_minimizer::operator = (a);
-
-	  cvec = a.cvec;
-	  bnds = a.bnds;
-	  lin_constr = a.lin_constr;
-	}
-      return *this;
-    }
-
-  ~octave_LP (void) { }
-
-  ColumnVector linear_obj_coeff (void) const { return cvec; }
-
-  Bounds bounds (void) const { return bnds; }
-
-  LinConst linear_constraints (void) const { return lin_constr; }
-
-protected:
-
-  ColumnVector cvec;
-  Bounds bnds;
-  LinConst lin_constr;
-};
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
deleted file mode 100644
--- a/liboctave/LinConst.cc
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2004, 2005,
-              2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <iostream>
-
-#include "LinConst.h"
-#include "lo-error.h"
-
-// error handling
-
-void
-LinConst::error (const char* msg)
-{
-  (*current_liboctave_error_handler) ("fatal LinConst error: %s", msg);
-}
-
-std::ostream&
-operator << (std::ostream& os, const LinConst& c)
-{
-  for (octave_idx_type i = 0; i < c.size (); i++)
-    os << c.lower_bound (i) << " " << c.upper_bound (i) << "\n";
-
-  os << "\n";
-  os << c.constraint_matrix ();
-
-  return os;
-}
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
deleted file mode 100644
--- a/liboctave/LinConst.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2004, 2005,
-              2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#if !defined (octave_LinConst_h)
-#define octave_LinConst_h 1
-
-#include <iosfwd>
-
-class ColumnVector;
-
-#include <cfloat>
-
-#include "dMatrix.h"
-#include "Bounds.h"
-
-class
-LinConst : public Bounds
-{
-public:
-
-  LinConst (void)
-    : Bounds (), A () { }
-
-  LinConst (const ColumnVector& l, const Matrix& amat, const ColumnVector& u)
-    : Bounds (l, u), A (amat)
-      {
-	if (Bounds::size () != amat.rows ())
-	  error ("nonconformant constraint matrix and bounds vectors");
-      }
-
-  LinConst (const LinConst& a)
-    : Bounds (a.lb, a.ub), A (a.A) { }
-
-  LinConst& operator = (const LinConst& a)
-    {
-      if (this != &a)
-	{
-	  Bounds::operator = (a);
-
-	  A  = a.A;
-	}
-      return *this;
-    }
-
-  ~LinConst (void) { }
-
-  Matrix constraint_matrix (void) const { return A; }
-
-  LinConst& set_constraint_matrix (const Matrix& amat)
-    {
-      if (lb.capacity () != amat.rows ())
-	error ("inconsistent size for new linear constraint matrix");
-
-      A = amat;
-
-      return *this;
-    }
-
-  friend std::ostream& operator << (std::ostream& os, const LinConst& b);
-
-protected:
-
-  Matrix A;
-
-private:
-
-  void error (const char *msg);
-};
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
--- a/liboctave/Makefile.in
+++ b/liboctave/Makefile.in
@@ -77,11 +77,11 @@
 OPT_IN := $(addsuffix .in, $(OPT_BASE))
 OPT_INC := $(addsuffix .h, $(OPT_BASE))
 
-INCLUDES := Bounds.h CollocWt.h DAE.h DAEFunc.h DAERT.h \
-	DAERTFunc.h DASPK.h DASRT.h DASSL.h FEGrid.h \
-	LinConst.h LP.h LSODE.h \
+INCLUDES := CollocWt.h DAE.h DAEFunc.h DAERT.h \
+	DAERTFunc.h DASPK.h DASRT.h DASSL.h \
+	LSODE.h \
 	ODE.h ODEFunc.h ODES.h ODESFunc.h \
-	Objective.h QP.h Quad.h Range.h base-dae.h \
+	Quad.h Range.h base-dae.h \
 	base-de.h base-min.h byte-swap.h cmd-edit.h cmd-hist.h \
 	data-conv.h dir-ops.h file-ops.h file-stat.h functor.h getopt.h \
 	glob-match.h idx-vector.h kpse-xfns.h \
@@ -142,8 +142,8 @@
 
 SPARSE_MX_OP_SRC := $(shell $(AWK) -f $(srcdir)/sparse-mk-ops.awk prefix=smx list_cc_files=1 $(srcdir)/sparse-mx-ops)
 
-LIBOCTAVE_CXX_SOURCES := oct-locbuf.cc Bounds.cc CollocWt.cc DASPK.cc DASRT.cc \
-	DASSL.cc FEGrid.cc LinConst.cc LSODE.cc ODES.cc \
+LIBOCTAVE_CXX_SOURCES := oct-locbuf.cc CollocWt.cc DASPK.cc DASRT.cc \
+	DASSL.cc LSODE.cc ODES.cc \
 	Quad.cc Range.cc data-conv.cc dir-ops.cc \
 	file-ops.cc file-stat.cc glob-match.cc idx-vector.cc \
 	lo-ieee.cc lo-mappers.cc lo-specfun.cc lo-sysdep.cc \
deleted file mode 100644
--- a/liboctave/Objective.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2005, 2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#if !defined (octave_Objective_h)
-#define octave_Objective_h 1
-
-#include "dColVector.h"
-
-class
-Objective
-{
-public:
-
-  typedef double (*objective_fcn) (const ColumnVector&);
-  typedef ColumnVector (*gradient_fcn) (const ColumnVector&);
-
-  Objective (void)
-    : phi (0), grad (0) { }
-
-  Objective (const objective_fcn obj)
-    : phi (obj), grad (0) { }
-
-  Objective (const objective_fcn obj, const gradient_fcn g)
-    : phi (obj), grad (g) { }
-
-  Objective (const Objective& a)
-    : phi (a.phi), grad (a.grad) { }
-
-  Objective& operator = (const Objective& a)
-    {
-      if (this != &a)
-	{
-	  phi = a.phi;
-	  grad = a.grad;
-	}
-      return *this;
-    }
-
-  ~Objective (void) { }
-
-  objective_fcn objective_function (void) const { return phi; }
-
-  Objective& set_objective_function (const objective_fcn obj)
-    {
-      phi = obj;
-      return *this;
-    }
-
-  gradient_fcn gradient_function (void) const { return grad; }
-
-  Objective& set_gradient_function (const gradient_fcn g)
-    {
-      grad = g;
-      return *this;
-    }
-
-private:
-
-  objective_fcn phi;
-  gradient_fcn grad;
-
-};
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
deleted file mode 100644
--- a/liboctave/QP.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 2005, 2007 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
-
-#if !defined (octave_QP_h)
-#define octave_QP_h 1
-
-#include "dMatrix.h"
-#include "dColVector.h"
-#include "Bounds.h"
-#include "LinConst.h"
-#include "base-min.h"
-
-class
-QP : public base_minimizer
-{
-public:
-
-  QP (void)
-    : base_minimizer (), H (), c (), bnds (), lc () { }
-
-  QP (const ColumnVector& x, const Matrix& H_arg)
-    : base_minimizer (x), H (H_arg), c (), bnds (), lc ()
-      { make_h_symmetric (); }
-
-  QP (const ColumnVector& x, const Matrix& H_arg, const ColumnVector& c_arg)
-    : base_minimizer (x), H (H_arg), c (c_arg), bnds (), lc ()
-      { make_h_symmetric (); }
-
-  QP (const ColumnVector& x, const Matrix& H_arg, const Bounds& b)
-    : base_minimizer (x), H (H_arg), c (), bnds (b), lc ()
-      { make_h_symmetric (); }
-
-  QP (const ColumnVector& x, const Matrix& H_arg, const LinConst& l)
-    : base_minimizer (x), H (H_arg), c (), bnds (), lc (l)
-      { make_h_symmetric (); }
-
-  QP (const ColumnVector& x, const Matrix& H_arg, const ColumnVector& c_arg,
-      const Bounds& b)
-    : base_minimizer (x), H (H_arg), c (c_arg), bnds (b), lc ()
-      { make_h_symmetric (); }
-
-  QP (const ColumnVector& x, const Matrix& H_arg, const ColumnVector& c_arg,
-      const LinConst& l)
-    : base_minimizer (x), H (H_arg), c (c_arg), bnds (), lc (l)
-      { make_h_symmetric (); }
-
-  QP (const ColumnVector& x, const Matrix& H_arg, const Bounds& b,
-      const LinConst& l)
-    : base_minimizer (x), H (H_arg), c (), bnds (b), lc (l)
-      { make_h_symmetric (); }
-
-  QP (const ColumnVector& x, const Matrix& H_arg, const ColumnVector& c_arg,
-      const Bounds& b, const LinConst& l)
-    : base_minimizer (x), H (H_arg), c (c_arg), bnds (b), lc (l)
-      { make_h_symmetric (); }
-
-  QP (const QP& qp)
-    : base_minimizer (qp), H (qp.H), c (qp.c), bnds (qp.bnds), lc (qp.lc) { }
-
-  QP& operator = (const QP& qp)
-    {
-      if (this != &qp)
-	{
-	  base_minimizer::operator = (qp);
-
-	  H = qp.H;
-	  c = qp.c;
-	  bnds = qp.bnds;
-	  lc = qp.lc;
-	}
-      return *this;
-    }
-
-  virtual ~QP (void) { }
-
-  Matrix hessian (void) const { return H; }
-
-  ColumnVector linear_obj_coeff (void) const { return c; }
-
-  Bounds bounds (void) const { return bnds; }
-
-  LinConst linear_constraints (void) const { return lc; }
-
-protected:
-
-  Matrix H;  
-  ColumnVector c;
-  Bounds bnds;
-  LinConst lc;
-
-private:
-
-  Matrix make_h_symmetric (void) { return 0.5 * (H + H.transpose ()); }
-};
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/