17#ifndef dealii_matrix_free_evaluation_template_factory_h
18#define dealii_matrix_free_evaluation_template_factory_h
31template <
int,
typename,
bool>
37 template <
int dim,
typename Number>
43 const Number * values_dofs,
51 const bool sum_into_values_array);
55 const unsigned int n_q_points_1d);
60 template <
int dim,
typename Number>
66 const Number * values_dofs,
78 template <
int dim,
typename Number,
typename VectorizedArrayType>
84 const Number * src_ptr,
98 template <
int dim,
typename Number>
102 apply(
const unsigned int n_components,
104 const Number * in_array,
108 apply(
const unsigned int n_components,
109 const unsigned int fe_degree,
112 const Number * in_array,
117 const unsigned int n_components,
119 const Number * in_array,
129 apply(
const unsigned int n_components,
130 const unsigned int fe_degree,
134 VectorizedArrayType::size()> & c_mask,
135 VectorizedArrayType * values);
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
EvaluationFlags
The EvaluationFlags enum.
std::uint8_t compressed_constraint_kind
static void apply(const unsigned int n_components, const FEEvaluationData< dim, Number, false > &fe_eval, const Number *in_array, Number *out_array)
static void apply(const unsigned int n_components, const unsigned int fe_degree, const AlignedVector< Number > &inverse_shape, const AlignedVector< Number > &inverse_coefficients, const Number *in_array, Number *out_array)
static void transform_from_q_points_to_basis(const unsigned int n_components, const FEEvaluationData< dim, Number, false > &fe_eval, const Number *in_array, Number *out_array)
static bool fast_evaluation_supported(const unsigned int given_degree, const unsigned int n_q_points_1d)
static void evaluate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs, FEEvaluationData< dim, Number, false > &fe_eval)
static void integrate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs, FEEvaluationData< dim, Number, false > &fe_eval, const bool sum_into_values_array)
static void apply(const unsigned int n_components, const unsigned int fe_degree, const MatrixFreeFunctions::ShapeInfo< VectorizedArrayType > &shape_info, const bool transpose, const std::array< MatrixFreeFunctions::compressed_constraint_kind, VectorizedArrayType::size()> &c_mask, VectorizedArrayType *values)
static void evaluate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs, FEEvaluationData< dim, Number, true > &fe_eval)
static void integrate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs, FEEvaluationData< dim, Number, true > &fe_eval)
static void evaluate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *src_ptr, const std::vector< ArrayView< const Number > > *sm_ptr, FEEvaluationData< dim, VectorizedArrayType, true > &fe_eval)
static void integrate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *dst_ptr, const std::vector< ArrayView< const Number > > *sm_ptr, FEEvaluationData< dim, VectorizedArrayType, true > &fe_eval)