131 std::vector<double> &values,
144 third_derivatives.empty(),
149 fourth_derivatives.empty(),
156 bool do_values =
false, do_grads =
false, do_grad_grads =
false;
157 bool do_3rd_derivatives =
false, do_4th_derivatives =
false;
158 if (values.empty() ==
false)
163 if (grads.empty() ==
false)
168 if (grad_grads.empty() ==
false)
170 grad_grads.pop_back();
171 do_grad_grads =
true;
173 if (third_derivatives.empty() ==
false)
176 do_3rd_derivatives =
true;
178 if (fourth_derivatives.empty() ==
false)
181 do_4th_derivatives =
true;
185 p, values, grads, grad_grads, third_derivatives, fourth_derivatives);
190 values.push_back(1.);
192 grads.emplace_back();
194 grad_grads.emplace_back();
195 if (do_3rd_derivatives)
196 third_derivatives.emplace_back();
197 if (do_4th_derivatives)
198 fourth_derivatives.emplace_back();
void evaluate(const Point< dim > &unit_point, std::vector< double > &values, std::vector< Tensor< 1, dim > > &grads, std::vector< Tensor< 2, dim > > &grad_grads, std::vector< Tensor< 3, dim > > &third_derivatives, std::vector< Tensor< 4, dim > > &fourth_derivatives) const override