X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Fpolynomial.hh;h=f80b53c2eec1d62355bbb984bf617ed3859d3e0f;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=6959dc40bfddbad1d68ce09976bb8637a516cf11;hpb=55ac733b69643a6bc6a83b706c65cb56efd388ef;p=lilypond.git diff --git a/flower/include/polynomial.hh b/flower/include/polynomial.hh index 6959dc40bf..f80b53c2ee 100644 --- a/flower/include/polynomial.hh +++ b/flower/include/polynomial.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1993--2011 Han-Wen Nienhuys + Copyright (C) 1993--2015 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 @@ -24,17 +24,18 @@ #ifndef POLY_H #define POLY_H +#include #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 coefs_; // leading coef @@ -44,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) const; void check_sols (vector) const; void check_sol (Real x) const; @@ -62,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