From 6579bf6b3f21f0eaa93485786bc7a18938267942 Mon Sep 17 00:00:00 2001 From: wolf Date: Thu, 23 Oct 2003 16:27:51 +0000 Subject: [PATCH] Replace iterated if-else's by a switch statement. git-svn-id: https://svn.dealii.org/trunk@8143 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/fe/mapping_q.cc | 48 ++++++++++++++++---------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/deal.II/deal.II/source/fe/mapping_q.cc b/deal.II/deal.II/source/fe/mapping_q.cc index 6117836c10..848af86bd5 100644 --- a/deal.II/deal.II/source/fe/mapping_q.cc +++ b/deal.II/deal.II/source/fe/mapping_q.cc @@ -430,27 +430,37 @@ MappingQ::set_laplace_on_quad_vector(Table<2,double> &loqvs) const // precomputed the values for some // polynomial degree double const *loqv_ptr=0; - if (degree==2) - { - static const double loqv2[1*8] - ={1/16., 1/16., 1/16., 1/16., 3/16., 3/16., 3/16., 3/16.}; - loqv_ptr=&loqv2[0]; - } - else if (degree==3) + switch (degree) { - static const double loqv3[4*12] - ={80/1053., 1/81., 11/1053., 1/81., 25/117., 44/351., - 7/117., 16/351., 7/117., 16/351., 25/117., 44/351., - 1/81., 80/1053., 1/81., 11/1053., 44/351., 25/117., - 25/117., 44/351., 16/351., 7/117., 7/117., 16/351., - 1/81., 11/1053., 1/81., 80/1053., 7/117., 16/351., - 16/351., 7/117., 25/117., 44/351., 44/351., 25/117., - 11/1053., 1/81., 80/1053., 1/81., 16/351., 7/117., - 44/351., 25/117., 44/351., 25/117., 16/351., 7/117.}; - - loqv_ptr=&loqv3[0]; - } + case 2: + { + static const double loqv2[1*8] + ={1/16., 1/16., 1/16., 1/16., 3/16., 3/16., 3/16., 3/16.}; + loqv_ptr=&loqv2[0]; + + break; + } + case 3: + { + static const double loqv3[4*12] + ={80/1053., 1/81., 11/1053., 1/81., 25/117., 44/351., + 7/117., 16/351., 7/117., 16/351., 25/117., 44/351., + 1/81., 80/1053., 1/81., 11/1053., 44/351., 25/117., + 25/117., 44/351., 16/351., 7/117., 7/117., 16/351., + 1/81., 11/1053., 1/81., 80/1053., 7/117., 16/351., + 16/351., 7/117., 25/117., 44/351., 44/351., 25/117., + 11/1053., 1/81., 80/1053., 1/81., 16/351., 7/117., + 44/351., 25/117., 44/351., 25/117., 16/351., 7/117.}; + loqv_ptr=&loqv3[0]; + + break; + } + + // no other cases implemented, + // so simply fall through + } + if (loqv_ptr!=0) { // precomputed. copy values to -- 2.39.5