46 const unsigned int n_q_points_1d,
49 if (given_degree == degree)
51 if (n_q_points_1d == degree + 1)
52 return EvaluatorType::template run<degree, degree + 1>(args...);
53 else if (n_q_points_1d == degree + 2)
54 return EvaluatorType::template run<degree, degree + 2>(args...);
55 else if (n_q_points_1d == degree)
56 return EvaluatorType::template run<degree, degree>(args...);
57 else if (n_q_points_1d == (3 * degree) / 2 + 1)
58 return EvaluatorType::template run<degree, (3 * degree) / 2 + 1>(
60 else if ((n_q_points_1d == (2 * degree)) && (degree <= 4))
61 return EvaluatorType::template run<degree, (2 * degree)>(args...);
64 return EvaluatorType::template run<-1, 0>(args...);
69 EvaluatorType>(given_degree, n_q_points_1d, args...);
72 return EvaluatorType::template run<-1, 0>(args...);