X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Fpolynomial.hh;h=927b5672c87613b1312b955afd03879dab91f8af;hb=0b544cfb7332615ef809b71b57ab656741311ae1;hp=144ba3d1d1dadd0c8b0671b2d9580b7f13e55d8a;hpb=62f221b6b3861ff055dc0384ec3c48cc665688cd;p=lilypond.git diff --git a/flower/include/polynomial.hh b/flower/include/polynomial.hh index 144ba3d1d1..927b5672c8 100644 --- a/flower/include/polynomial.hh +++ b/flower/include/polynomial.hh @@ -1,8 +1,24 @@ +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 1993--2014 Han-Wen Nienhuys + + 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 . +*/ /* - * 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 @@ -12,13 +28,13 @@ #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 coefs_; // leading coef @@ -28,6 +44,7 @@ struct Polynomial Real lc () const; void print () const; Real eval (Real) const; + Real minmax (Real, Real, bool) const; void print_sols (vector) const; void check_sols (vector) const; void check_sol (Real x) const; @@ -46,7 +63,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