Go to the documentation of this file.
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
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, 0> specializes the Polynomial class for degree 0 (constant polynomials)
Definition: Polynomial.h:57
T getMax() const
Definition: IntervalArithmetic-inl.h:289
PolynomialRoots<T, 1> specializes the PolynomialRoots class for degree 1 (linear polynomials)
Definition: PolynomialRoots.h:85
PolynomialRoots<T, 2> specializes the PolynomialRoots class for degree 2 (quadratic polynomials)
Definition: PolynomialRoots.h:97
Definition: CompoundShapeToGraphics.cpp:30
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:48
Interval defines the concept of a mathematical interval and provides operations on it including arith...
Definition: IntervalArithmetic.h:35
Polynomial<T, 1> specializes the Polynomial class for degree 1 (linear polynomials)
Definition: Polynomial.h:118
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
T getMin() const
Definition: IntervalArithmetic-inl.h:283
Polynomial<T, 3> specializes the Polynomial class for degree 3 (cubic polynomials)
Definition: Polynomial.h:256
Interval< T > & extendToInclude(const T &x)
Widens the current interval on one end to include x.
Definition: IntervalArithmetic-inl.h:130
bool contains(const T &val) const
Definition: IntervalArithmetic-inl.h:92
Polynomial<T, 2> specializes the Polynomial class for degree 2 (quadratic polynomials)
Definition: Polynomial.h:184