Skip to content

Commit

Permalink
Fix some more
Browse files Browse the repository at this point in the history
  • Loading branch information
masterleinad committed Jan 4, 2022
1 parent 78703f6 commit 75eb125
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 67 deletions.
80 changes: 40 additions & 40 deletions include/deal.II/matrix_free/evaluation_kernels.h
Original file line number Diff line number Diff line change
Expand Up @@ -545,10 +545,10 @@ namespace internal
eval0.template gradients<0, false, false>(gradients_quad,
values_dofs);
}
if (integration_flag & EvaluationFlags::hessians)
if ((integration_flag & EvaluationFlags::hessians) != 0u)
{
if (integration_flag & EvaluationFlags::values ||
integration_flag & EvaluationFlags::gradients ||
if ((integration_flag & EvaluationFlags::values) != 0u ||
(integration_flag & EvaluationFlags::gradients) != 0u ||
add_into_values_array == true)
eval0.template hessians<0, false, true>(hessians_quad,
values_dofs);
Expand Down Expand Up @@ -591,13 +591,13 @@ namespace internal
eval1.template values<1, false, false>(gradients_quad, temp1);
eval0.template gradients<0, false, true>(temp1, values_dofs);
}
if (integration_flag & EvaluationFlags::hessians)
if ((integration_flag & EvaluationFlags::hessians) != 0u)
{
// grad xx
eval1.template values<1, false, false>(hessians_quad, temp1);

if (integration_flag & EvaluationFlags::values ||
integration_flag & EvaluationFlags::gradients ||
if ((integration_flag & EvaluationFlags::values) != 0u ||
(integration_flag & EvaluationFlags::gradients) != 0u ||
add_into_values_array == true)
eval0.template hessians<0, false, true>(temp1, values_dofs);
else
Expand Down Expand Up @@ -658,14 +658,14 @@ namespace internal
eval1.template values<1, false, false>(temp1, temp2);
eval0.template gradients<0, false, true>(temp2, values_dofs);
}
if (integration_flag & EvaluationFlags::hessians)
if ((integration_flag & EvaluationFlags::hessians) != 0u)
{
// grad xx
eval2.template values<2, false, false>(hessians_quad, temp1);
eval1.template values<1, false, false>(temp1, temp2);

if (integration_flag & EvaluationFlags::values ||
integration_flag & EvaluationFlags::gradients ||
if ((integration_flag & EvaluationFlags::values) != 0u ||
(integration_flag & EvaluationFlags::gradients) != 0u ||
add_into_values_array == true)
eval0.template hessians<0, false, true>(temp2, values_dofs);
else
Expand Down Expand Up @@ -1377,7 +1377,7 @@ namespace internal

for (unsigned int c = 0; c < n_components; ++c)
{
if (evaluation_flag & EvaluationFlags::values)
if ((evaluation_flag & EvaluationFlags::values) != 0u)
for (unsigned int i = 0; i < n_points; ++i)
fe_eval.begin_values()[n_points * c + i] =
values_dofs[n_points * c + i];
Expand Down Expand Up @@ -1414,8 +1414,8 @@ namespace internal
eval(AlignedVector<Number>(),
shape.shape_gradients_collocation_eo,
shape.shape_hessians_collocation_eo);
if (evaluation_flag &
(EvaluationFlags::gradients | EvaluationFlags::hessians))
if ((evaluation_flag &
(EvaluationFlags::gradients | EvaluationFlags::hessians)) != 0u)
{
eval.template gradients<0, true, false>(values_dofs, gradients_quad);
if (dim > 1)
Expand Down Expand Up @@ -1467,7 +1467,7 @@ namespace internal

for (unsigned int c = 0; c < n_components; ++c)
{
if (integration_flag & EvaluationFlags::values)
if ((integration_flag & EvaluationFlags::values) != 0u)
{
if (add_into_values_array)
for (unsigned int i = 0; i < n_points; ++i)
Expand All @@ -1486,7 +1486,7 @@ namespace internal
fe_eval.begin_hessians() +
c * dim * (dim + 1) / 2 * n_points,
add_into_values_array ||
(integration_flag & EvaluationFlags::values));
((integration_flag & EvaluationFlags::values) != 0u));
}
}

Expand Down Expand Up @@ -1515,7 +1515,7 @@ namespace internal
shape.shape_hessians_collocation_eo);
constexpr std::size_t n_points = Utilities::pow(fe_degree + 1, dim);

if (integration_flag & EvaluationFlags::hessians)
if ((integration_flag & EvaluationFlags::hessians) != 0u)
{
// diagonal
// grad xx
Expand Down Expand Up @@ -1573,16 +1573,16 @@ namespace internal
// if we did not integrate gradients, set the last slot to zero
// which was not touched before, in order to avoid the if
// statement in the gradients loop below
if (!(integration_flag & EvaluationFlags::gradients))
if ((integration_flag & EvaluationFlags::gradients) == 0u)
for (unsigned int q = 0; q < n_points; ++q)
gradients_quad[(dim - 1) * n_points + q] = Number();
}

if (integration_flag &
(EvaluationFlags::gradients | EvaluationFlags::hessians))
if ((integration_flag &
(EvaluationFlags::gradients | EvaluationFlags::hessians)) != 0u)
{
if (add_into_values_array ||
integration_flag & EvaluationFlags::hessians)
(integration_flag & EvaluationFlags::hessians) != 0u)
eval.template gradients<0, false, true>(gradients_quad, values_dofs);
else
eval.template gradients<0, false, false>(gradients_quad, values_dofs);
Expand Down Expand Up @@ -2066,8 +2066,8 @@ namespace internal
// keep a copy of the original pointer for the case of the Hessians
Number *values_dofs_ptr = values_dofs;

if (evaluation_flag & EvaluationFlags::values &&
!(evaluation_flag & EvaluationFlags::gradients))
if ((evaluation_flag & EvaluationFlags::values) != 0u &&
((evaluation_flag & EvaluationFlags::gradients) == 0u))
for (unsigned int c = 0; c < n_components; ++c)
{
switch (dim)
Expand All @@ -2093,7 +2093,7 @@ namespace internal
values_dofs += 3 * n_dofs;
values_quad += n_q_points;
}
else if (evaluation_flag & EvaluationFlags::gradients)
else if ((evaluation_flag & EvaluationFlags::gradients) != 0u)
for (unsigned int c = 0; c < n_components; ++c)
{
switch (dim)
Expand Down Expand Up @@ -2134,7 +2134,7 @@ namespace internal
gradients_quad +
n_q_points);

if (evaluation_flag & EvaluationFlags::values)
if ((evaluation_flag & EvaluationFlags::values) != 0u)
eval1.template values<1, true, false>(scratch_data,
values_quad);
}
Expand All @@ -2151,7 +2151,7 @@ namespace internal
n_q_points);
eval0.template gradients<0, true, false>(values_dofs,
gradients_quad);
if (evaluation_flag & EvaluationFlags::values)
if ((evaluation_flag & EvaluationFlags::values) != 0u)
eval0.template values<0, true, false>(values_dofs,
values_quad);
break;
Expand All @@ -2167,7 +2167,7 @@ namespace internal
gradients_quad += dim * n_q_points;
}

if (evaluation_flag & EvaluationFlags::hessians)
if ((evaluation_flag & EvaluationFlags::hessians) != 0u)
{
values_dofs = values_dofs_ptr;
for (unsigned int c = 0; c < n_components; ++c)
Expand Down Expand Up @@ -2268,8 +2268,8 @@ namespace internal
// keep a copy of the original pointer for the case of the Hessians
Number *values_dofs_ptr = values_dofs;

if (integration_flag & EvaluationFlags::values &&
!(integration_flag & EvaluationFlags::gradients))
if ((integration_flag & EvaluationFlags::values) != 0u &&
(integration_flag & EvaluationFlags::gradients) == 0u)
for (unsigned int c = 0; c < n_components; ++c)
{
switch (dim)
Expand All @@ -2293,7 +2293,7 @@ namespace internal
values_dofs += 3 * n_dofs;
values_quad += n_q_points;
}
else if (integration_flag & EvaluationFlags::gradients)
else if ((integration_flag & EvaluationFlags::gradients) != 0u)
for (unsigned int c = 0; c < n_components; ++c)
{
switch (dim)
Expand All @@ -2318,7 +2318,7 @@ namespace internal
eval_grad(AlignedVector<Number>(),
data.shape_gradients_collocation_eo,
AlignedVector<Number>());
if (integration_flag & EvaluationFlags::values)
if ((integration_flag & EvaluationFlags::values) != 0u)
eval_grad.template gradients<1, false, true>(
gradients_quad + n_q_points, values_quad);
else
Expand All @@ -2333,7 +2333,7 @@ namespace internal
}
else
{
if (integration_flag & EvaluationFlags::values)
if ((integration_flag & EvaluationFlags::values) != 0u)
{
eval1.template values<1, false, false>(values_quad,
scratch_data);
Expand Down Expand Up @@ -2361,7 +2361,7 @@ namespace internal
values_dofs + n_dofs);
eval0.template gradients<0, false, false>(gradients_quad,
values_dofs);
if (integration_flag & EvaluationFlags::values)
if ((integration_flag & EvaluationFlags::values) != 0u)
eval0.template values<0, false, true>(values_quad,
values_dofs);
break;
Expand All @@ -2377,7 +2377,7 @@ namespace internal
gradients_quad += dim * n_q_points;
}

if (integration_flag & EvaluationFlags::hessians)
if ((integration_flag & EvaluationFlags::hessians) != 0u)
{
values_dofs = values_dofs_ptr;
for (unsigned int c = 0; c < n_components; ++c)
Expand All @@ -2388,8 +2388,8 @@ namespace internal
// grad xx
eval1.template values<1, false, false>(hessians_quad,
scratch_data);
if (integration_flag &
(EvaluationFlags::values | EvaluationFlags::gradients))
if ((integration_flag & (EvaluationFlags::values |
EvaluationFlags::gradients)) != 0u)
eval0.template hessians<0, false, true>(scratch_data,
values_dofs);
else
Expand Down Expand Up @@ -2422,7 +2422,7 @@ namespace internal
eval1.template values<1, false, false>(hessians_quad +
4 * n_q_points,
scratch_data);
if (integration_flag & EvaluationFlags::gradients)
if ((integration_flag & EvaluationFlags::gradients) != 0u)
eval0.template gradients<0, false, true>(scratch_data,
values_dofs +
n_dofs);
Expand All @@ -2441,8 +2441,8 @@ namespace internal
break;
case 2:
// grad xx
if (integration_flag &
(EvaluationFlags::values | EvaluationFlags::gradients))
if ((integration_flag & (EvaluationFlags::values |
EvaluationFlags::gradients)) != 0u)
eval0.template hessians<0, false, true>(hessians_quad,
values_dofs);
else
Expand All @@ -2453,7 +2453,7 @@ namespace internal
eval0.template values<0, false, false>(
hessians_quad + n_q_points, values_dofs + 2 * n_dofs);
// grad xy
if (integration_flag & EvaluationFlags::gradients)
if ((integration_flag & EvaluationFlags::gradients) != 0u)
eval0.template gradients<0, false, true>(
hessians_quad + 2 * n_q_points, values_dofs + n_dofs);
else
Expand All @@ -2462,9 +2462,9 @@ namespace internal
break;
case 1:
values_dofs[2] = hessians_quad[0];
if (!(integration_flag & EvaluationFlags::values))
if ((integration_flag & EvaluationFlags::values) == 0u)
values_dofs[0] = 0;
if (!(integration_flag & EvaluationFlags::gradients))
if ((integration_flag & EvaluationFlags::gradients) == 0u)
values_dofs[1] = 0;
break;
default:
Expand Down
10 changes: 5 additions & 5 deletions include/deal.II/matrix_free/fe_evaluation.h
Original file line number Diff line number Diff line change
Expand Up @@ -2980,7 +2980,7 @@ inline FEEvaluationBase<dim,
Assert(this->data == nullptr, ExcInternalError());
this->data =
new internal::MatrixFreeFunctions::ShapeInfo<VectorizedArrayType>(
Quadrature<dim - is_face>(quadrature),
Quadrature<(is_face ? dim - 1 : dim)>(quadrature),
fe,
fe.component_to_base_index(first_selected_component).first);

Expand Down Expand Up @@ -7349,7 +7349,7 @@ FEEvaluation<dim,
if ((integration_flag & EvaluationFlags::gradients) != 0u)
Assert(this->gradients_quad_submitted == true,
internal::ExcAccessToUninitializedField());
if (integration_flag & EvaluationFlags::hessians)
if ((integration_flag & EvaluationFlags::hessians) != 0u)
Assert(this->hessians_quad_submitted == true,
internal::ExcAccessToUninitializedField());
# endif
Expand All @@ -7368,7 +7368,7 @@ FEEvaluation<dim,
(this->cell_type > internal::MatrixFreeFunctions::affine))
{
unsigned int size = n_components * dim * n_q_points;
if (integration_flag & EvaluationFlags::gradients)
if ((integration_flag & EvaluationFlags::gradients) != 0u)
{
for (unsigned int i = 0; i < size; ++i)
this->gradients_quad[i] += this->gradients_from_hessians_quad[i];
Expand Down Expand Up @@ -7857,7 +7857,7 @@ FEFaceEvaluation<dim,
this->values_quad_initialized = true;
if ((evaluation_flag_actual & EvaluationFlags::gradients) != 0u)
this->gradients_quad_initialized = true;
if (evaluation_flag_actual & EvaluationFlags::hessians)
if ((evaluation_flag_actual & EvaluationFlags::hessians) != 0u)
this->hessians_quad_initialized = true;
# endif
}
Expand Down Expand Up @@ -7966,7 +7966,7 @@ FEFaceEvaluation<dim,
(this->cell_type > internal::MatrixFreeFunctions::affine))
{
unsigned int size = n_components * dim * n_q_points;
if (integration_flag & EvaluationFlags::gradients)
if ((integration_flag & EvaluationFlags::gradients) != 0u)
{
for (unsigned int i = 0; i < size; ++i)
this->gradients_quad[i] += this->gradients_from_hessians_quad[i];
Expand Down
4 changes: 2 additions & 2 deletions include/deal.II/matrix_free/mapping_info.templates.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@ namespace internal
update_quadrature_points) != 0u ?
update_quadrature_points :
update_default) |
((update_flags_inner_faces | update_flags_boundary_faces) &
(update_jacobian_grads | update_hessians) ?
(((update_flags_inner_faces | update_flags_boundary_faces) &
(update_jacobian_grads | update_hessians)) != 0u ?
update_jacobian_grads :
update_default) |
update_normal_vectors | update_JxW_values | update_jacobians;
Expand Down
6 changes: 3 additions & 3 deletions include/deal.II/matrix_free/mapping_info_storage.templates.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,11 @@ namespace internal
// for Hessian information, need inverse Jacobians and the derivative of
// Jacobians (these two together will give use the gradients of the
// inverse Jacobians, which is what we need)
if (update_flags & update_hessians ||
update_flags & update_jacobian_grads)
if ((update_flags & update_hessians) != 0u ||
(update_flags & update_jacobian_grads) != 0u)
new_flags |= update_jacobian_grads;

if (update_flags & update_quadrature_points)
if ((update_flags & update_quadrature_points) != 0u)
new_flags |= update_quadrature_points;

// there is one more thing: if we have a quadrature formula with only
Expand Down
12 changes: 6 additions & 6 deletions source/base/mpi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -412,9 +412,9 @@ namespace Utilities
destinations_unique.end()),
destinations_unique.end());

if (Utilities::MPI::min<unsigned int>(destinations.size() ==
destinations_unique.size(),
mpi_comm))
if (Utilities::MPI::min<unsigned int>(
destinations.size() == destinations_unique.size() ? 1u : 0u,
mpi_comm) != 0u)
{
ConsensusAlgorithms::AnonymousProcess<char, char> process(
[&]() { return destinations; });
Expand Down Expand Up @@ -551,9 +551,9 @@ namespace Utilities
destinations_unique.end()),
destinations_unique.end());

if (Utilities::MPI::min<unsigned int>(destinations.size() ==
destinations_unique.size(),
mpi_comm))
if (Utilities::MPI::min<unsigned int>(
destinations.size() == destinations_unique.size() ? 1u : 0u,
mpi_comm) != 0u)
{
return compute_point_to_point_communication_pattern(mpi_comm,
destinations)
Expand Down

0 comments on commit 75eb125

Please sign in to comment.