template <typename T, typename VectorType>
void
- read_write_operation(const T & operation,
- VectorType & global_vector,
- AlignedVector<Number> &local_vector,
- const unsigned int first_cell,
- const unsigned int n_cells,
- const unsigned int n_dofs_per_cell,
- const bool apply_constraints) const;
+ read_write_operation(const T & operation,
+ VectorType & global_vector,
+ Number * local_vector,
+ const unsigned int first_cell,
+ const unsigned int n_cells,
+ const unsigned int n_dofs_per_cell,
+ const bool apply_constraints) const;
void
apply_hanging_node_constraints(
template <typename T, typename VectorType>
inline void
ConstraintInfo<dim, Number>::read_write_operation(
- const T & operation,
- VectorType & global_vector,
- AlignedVector<Number> &local_vector,
- const unsigned int first_cell,
- const unsigned int n_cells,
- const unsigned int n_dofs_per_cell,
- const bool apply_constraints) const
+ const T & operation,
+ VectorType & global_vector,
+ Number * local_vector,
+ const unsigned int first_cell,
+ const unsigned int n_cells,
+ const unsigned int n_dofs_per_cell,
+ const bool apply_constraints) const
{
if (apply_constraints == false)
{
internal::VectorReader<Number, VectorizedArrayType> reader;
constraint_info.read_write_operation(reader,
*vec_coarse_ptr,
- evaluation_data_coarse,
+ evaluation_data_coarse.data(),
cell_counter,
n_lanes_filled,
scheme.n_dofs_per_cell_coarse,
cell_counter, n_lanes_filled, true, evaluation_data_coarse);
constraint_info.read_write_operation(writer,
*vec_coarse_ptr,
- evaluation_data_coarse,
+ evaluation_data_coarse.data(),
cell_counter,
n_lanes_filled,
scheme.n_dofs_per_cell_coarse,
internal::VectorSetter<Number, VectorizedArrayType> writer;
constraint_info.read_write_operation(writer,
*vec_coarse_ptr,
- evaluation_data_coarse,
+ evaluation_data_coarse.data(),
cell_counter,
n_lanes_filled,
scheme.n_dofs_per_cell_coarse,
const unsigned int n_cells,
const unsigned int n_dofs_per_cell) {
internal::VectorReader<Number, VectorizedArrayType> reader;
- constraint_info.read_write_operation(
- reader, src, local_vector, first_cell, n_cells, n_dofs_per_cell, true);
+ constraint_info.read_write_operation(reader,
+ src,
+ local_vector.data(),
+ first_cell,
+ n_cells,
+ n_dofs_per_cell,
+ true);
constraint_info.apply_hanging_node_constraints(first_cell,
n_cells,
false,
n_cells,
true,
local_vector);
- constraint_info.read_write_operation(
- writer, dst, local_vector, first_cell, n_cells, n_dofs_per_cell, true);
+ constraint_info.read_write_operation(writer,
+ dst,
+ local_vector.data(),
+ first_cell,
+ n_cells,
+ n_dofs_per_cell,
+ true);
};
const auto read_dof_values_plain = [&](const unsigned int first_cell,
const unsigned int n_cells,
const unsigned int n_dofs_per_cell) {
internal::VectorReader<Number, VectorizedArrayType> reader;
- constraint_info.read_write_operation(
- reader, src, local_vector, first_cell, n_cells, n_dofs_per_cell, false);
+ constraint_info.read_write_operation(reader,
+ src,
+ local_vector.data(),
+ first_cell,
+ n_cells,
+ n_dofs_per_cell,
+ false);
};
const auto set_dof_values_plain = [&](const unsigned int first_cell,
const unsigned int n_cells,
const unsigned int n_dofs_per_cell) {
internal::VectorSetter<Number, VectorizedArrayType> writer;
- constraint_info.read_write_operation(
- writer, dst, local_vector, first_cell, n_cells, n_dofs_per_cell, false);
+ constraint_info.read_write_operation(writer,
+ dst,
+ local_vector.data(),
+ first_cell,
+ n_cells,
+ n_dofs_per_cell,
+ false);
};
unsigned int first_cell = 0;