16 #ifndef SURGSIM_MATH_POLYNOMIALVALUES_INL_H 17 #define SURGSIM_MATH_POLYNOMIALVALUES_INL_H 38 return Interval<T>(m_polynomial.evaluate(0), m_polynomial.evaluate(0));
54 m_polynomial.evaluate(interval.
getMax()));
59 m_derivative(m_polynomial.derivative()),
60 m_locationOfExtremum(m_derivative)
79 return m_locationOfExtremum;
87 m_polynomial.evaluate(interval.
getMax()));
89 if (m_locationOfExtremum.getNumRoots() > 0)
92 if (interval.
contains(m_locationOfExtremum[0]))
104 m_derivative(m_polynomial.derivative()),
105 m_locationOfExtremum(m_derivative)
124 return m_locationOfExtremum;
132 m_polynomial.evaluate(interval.
getMax()));
134 for (
int i = 0; i < m_locationOfExtremum.getNumRoots(); ++i)
137 if (interval.
contains(m_locationOfExtremum[i]))
141 result.
extendToInclude(m_polynomial.evaluate(m_locationOfExtremum[i]));
147 template <
class T,
int N>
156 #endif // SURGSIM_MATH_POLYNOMIALVALUES_INL_H Definition: CompoundShapeToGraphics.cpp:29
T getMin() const
Definition: IntervalArithmetic-inl.h:283
Polynomial<T, 0> specializes the Polynomial class for degree 0 (constant polynomials) ...
Definition: Polynomial.h:56
PolynomialRoots<T, 2> specializes the PolynomialRoots class for degree 2 (quadratic polynomials) ...
Definition: PolynomialRoots.h:96
Class to manage polynomial based calculations of interval boundaries.
Definition: PolynomialValues.h:33
Polynomial<T, N> defines the concept of an N degree polynomial with type T coefficients and provides ...
Definition: Polynomial.h:47
T getMax() const
Definition: IntervalArithmetic-inl.h:289
Polynomial<T, 3> specializes the Polynomial class for degree 3 (cubic polynomials) ...
Definition: Polynomial.h:255
Interval< T > valuesOverInterval(const Polynomial< T, N > &p, const Interval< T > &interval)
Calculate the minimum and maximum values of the dependent variable over a specified range of the inde...
Definition: PolynomialValues-inl.h:148
Polynomial<T, 2> specializes the Polynomial class for degree 2 (quadratic polynomials) ...
Definition: Polynomial.h:183
Interval< T > & extendToInclude(const T &x)
Widens the current interval on one end to include x.
Definition: IntervalArithmetic-inl.h:130
Interval defines the concept of a mathematical interval and provides operations on it including arith...
Definition: IntervalArithmetic.h:34
bool contains(const T &val) const
Definition: IntervalArithmetic-inl.h:92
Polynomial<T, 1> specializes the Polynomial class for degree 1 (linear polynomials) ...
Definition: Polynomial.h:117
PolynomialRoots<T, 1> specializes the PolynomialRoots class for degree 1 (linear polynomials) ...
Definition: PolynomialRoots.h:84
static Interval< T > minToMax(const T &a1, const T &a2)
Generate an interval from min to max based on the inputs.
Definition: IntervalArithmetic-inl.h:62