]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/polynomial.hh
Run grand replace for 2015.
[lilypond.git] / flower / include / polynomial.hh
index 144ba3d1d1dadd0c8b0671b2d9580b7f13e55d8a..f80b53c2eec1d62355bbb984bf617ed3859d3e0f 100644 (file)
@@ -1,24 +1,41 @@
+/*
+  This file is part of LilyPond, the GNU music typesetter.
+
+  Copyright (C) 1993--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+  LilyPond 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.
+
+  LilyPond 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 LilyPond.  If not, see <http://www.gnu.org/licenses/>.
+*/
 
 /*
- * poly.h -- routines for manipulation of polynomials in one var
- *
- * (c) 1993--2008 Han-Wen Nienhuys
+ * polynomial.hh -- routines for manipulation of polynomials in one var
  */
 
 #ifndef POLY_H
 #define POLY_H
 
+#include <sys/types.h>
 #include "std-vector.hh"
 #include "arithmetic-operator.hh"
 #include "real.hh"
 
-/// structure for a polynomial in one var. 
+/// structure for a polynomial in one var.
 struct Polynomial
 {
   /// degree of polynomial
-  int degree ()const;
+  ssize_t degree ()const;
 
-  /// coefficients 
+  /// coefficients
   vector<Real> coefs_;
 
   // leading coef
@@ -28,6 +45,7 @@ struct Polynomial
   Real lc () const;
   void print () const;
   Real eval (Real) const;
+  Real minmax (Real, Real, bool) const;
   void print_sols (vector<Real>) const;
   void check_sols (vector<Real>) const;
   void check_sol (Real x) const;
@@ -46,7 +64,7 @@ struct Polynomial
   void operator *= (Polynomial const &p2);
   void operator -= (Polynomial const &p2);
   Polynomial (Real a, Real b = 0.0);
-  Polynomial (){}
+  Polynomial () {}
   void set_negate (const Polynomial &src);
 
   /// take the derivative