double CurveQuadraticLinear_Impl::evaluate(const std::vector<double>& x) const { OS_ASSERT(x.size() == 2u); double x2 = pow(x[0],2); double result = coefficient1Constant(); result += coefficient2x() * x[0]; result += coefficient3xPOW2() * x2; double temp = coefficient4y(); temp += coefficient5xTIMESY() * x[0]; temp += coefficient6xPOW2TIMESY() * x2; result += temp * x[1]; return result; }
double CurveBicubic_Impl::evaluate(const std::vector<double>& x) const { OS_ASSERT(x.size() == 2u); double result = coefficient1Constant(); double x2 = pow(x[0],2); double y2 = pow(x[1],2); result += coefficient2x() * x[0]; result += coefficient3xPOW2() * x2; result += coefficient4y() * x[1]; result += coefficient5yPOW2() * y2; result += coefficient6xTIMESY() * x[0] * x[1]; result += coefficient7xPOW3() * pow(x[0],3); result += coefficient8yPOW3() * pow(x[1],3); result += coefficient9xPOW2TIMESY() * x2 * x[1]; result += coefficient10xTIMESYPOW2() * x[0] * y2; return result; }