Lines Matching refs:S
38 template <typename S, typename T>
39 class Interpolator : public std::map<S, T> {
60 std::pair<S, T> first() const { in first()
64 std::pair<S, T> last() const { in last()
69 T findY(S x) { // logically const, but modifies cache in findY()
95 const S interval = high->first - low->first; in findY()
99 const S t = (x - low->first) / interval; in findY()
100 const S t2 = t * t; in findY()
131 S sec, sec0, sec1; in findY()
143 S m0, m1; in findY()
165 const S maxSlope = 3 * sec; in findY()
173 const S t = (x - low->first) / interval; in findY()
174 const S t2 = t * t; in findY()
180 const S c0 = low->second; in findY()
181 const S c1 = m0; in findY()
182 const S c2 = 3 * dy - 2 * m0 - m1; in findY()
183 const S c3 = m0 + m1 - 2 * dy; in findY()
188 const S t3 = t2 * t; in findY()
189 const S h00 = 2 * t3 - 3 * t2 + 1; in findY()
190 const S h10 = t3 - 2 * t2 + t ; in findY()
191 const S h01 = -2 * t3 + 3 * t2 ; in findY()
192 const S h11 = t3 - t2 ; in findY()
316 static S constrainSlope(S slope, S maxSlope) { in constrainSlope()
319 slope = std::max(slope, S(0)); // not globally monotonic in constrainSlope()
322 slope = std::min(slope, S(0)); // not globally monotonic in constrainSlope()
331 S mFirstSlope;
332 S mLastSlope;
335 std::unordered_map<S, std::tuple<S /* c1 */, S /* c2 */, S /* c3 */>> mMemo;