From 7ee23815ce4bc3d58cef43030bbe65b36eca8ade Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 30 Apr 2013 16:48:16 +0000 Subject: [PATCH] Do operation in the correct type. git-svn-id: https://svn.dealii.org/trunk@29413 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/source/fe/fe_system.cc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/deal.II/source/fe/fe_system.cc b/deal.II/source/fe/fe_system.cc index ab9362dcdf..88b5f3666a 100644 --- a/deal.II/source/fe/fe_system.cc +++ b/deal.II/source/fe/fe_system.cc @@ -2677,11 +2677,18 @@ FESystem::multiply_dof_numbers ( summed_multiplicities += multiplicities[i]; } - unsigned char total_conformity = 0xff; + // assume maximal conformity and then take away bits + // as indicated by the base elements + typename FiniteElementData::Conformity + total_conformity + = std::numeric_limits::Conformity>::max(); for (unsigned int i=0; i0) - total_conformity &= fes[i]->conforming_space; + total_conformity = + typename FiniteElementData::Conformity(total_conformity + & + fes[i]->conforming_space); std::vector dpo; dpo.push_back(multiplied_dofs_per_vertex); @@ -2689,12 +2696,11 @@ FESystem::multiply_dof_numbers ( if (dim>1) dpo.push_back(multiplied_dofs_per_quad); if (dim>2) dpo.push_back(multiplied_dofs_per_hex); - return FiniteElementData ( - dpo, - multiplied_n_components, - degree, - typename FiniteElementData::Conformity(total_conformity), - summed_multiplicities); + return FiniteElementData (dpo, + multiplied_n_components, + degree, + total_conformity, + summed_multiplicities); } -- 2.39.5