Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add readability-implicit-bool-conversion #12265

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
# - performance-inefficient-string-concatenation: We don't care about "a"+to_string(5)+...
# - performance-no-automatic-move: All modern compiler perform the return value optimization and we prefer to keep things const.

Checks: "-*,cppcoreguidelines-pro-type-static-cast-downcast,google-readability-casting,modernize-*,-modernize-pass-by-value,-modernize-raw-string-literal,-modernize-use-auto,-modernize-use-override,-modernize-use-default-member-init,-modernize-use-transparent-functors,-modernize-use-trailing-return-type,-modernize-use-nodiscard,-modernize-avoid-c-arrays,-modernize-concat-nested-namespaces,use-emplace,mpi-*,performance-*,-performance-inefficient-string-concatenation,-performance-no-automatic-move"
Checks: "-*,cppcoreguidelines-pro-type-static-cast-downcast,google-readability-casting,modernize-*,-modernize-pass-by-value,-modernize-raw-string-literal,-modernize-use-auto,-modernize-use-override,-modernize-use-default-member-init,-modernize-use-transparent-functors,-modernize-use-trailing-return-type,-modernize-use-nodiscard,-modernize-avoid-c-arrays,-modernize-concat-nested-namespaces,use-emplace,mpi-*,performance-*,-performance-inefficient-string-concatenation,-performance-no-automatic-move,readability-implicit-bool-conversion"

WarningsAsErrors: '*'
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),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice, this is so much more readable!

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
8 changes: 4 additions & 4 deletions source/fe/mapping_q.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1332,7 +1332,7 @@ MappingQ<dim, spacedim>::fill_fe_immersed_surface_values(
const UpdateFlags update_flags = data.update_each;
const std::vector<double> &weights = quadrature.get_weights();

if (update_flags & (update_normal_vectors | update_JxW_values))
if ((update_flags & (update_normal_vectors | update_JxW_values)) != 0u)
{
AssertDimension(output_data.JxW_values.size(), n_q_points);

Expand Down Expand Up @@ -1364,7 +1364,7 @@ MappingQ<dim, spacedim>::fill_fe_immersed_surface_values(

output_data.JxW_values[point] = weights[point] * det * normal.norm();

if (update_flags & update_normal_vectors)
if ((update_flags & update_normal_vectors) != 0u)
{
normal /= normal.norm();
output_data.normal_vectors[point] = normal;
Expand All @@ -1373,15 +1373,15 @@ MappingQ<dim, spacedim>::fill_fe_immersed_surface_values(
}

// copy values from InternalData to vector given by reference
if (update_flags & update_jacobians)
if ((update_flags & update_jacobians) != 0u)
{
AssertDimension(output_data.jacobians.size(), n_q_points);
for (unsigned int point = 0; point < n_q_points; ++point)
output_data.jacobians[point] = data.contravariant[point];
}

// copy values from InternalData to vector given by reference
if (update_flags & update_inverse_jacobians)
if ((update_flags & update_inverse_jacobians) != 0u)
{
AssertDimension(output_data.inverse_jacobians.size(), n_q_points);
for (unsigned int point = 0; point < n_q_points; ++point)
Expand Down