From: Wolfgang Bangerth Date: Tue, 3 Jul 2001 09:28:58 +0000 (+0000) Subject: Don't forget to use explicit specialization syntax. X-Git-Tag: v8.0.0~18997 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bcc8df080afab5ffcbcdbefe1042c0f0e9321f0;p=dealii.git Don't forget to use explicit specialization syntax. git-svn-id: https://svn.dealii.org/trunk@4801 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/fe/fe_dgq_1d.cc b/deal.II/deal.II/source/fe/fe_dgq_1d.cc index 1c54afdc0f..67fe871c8a 100644 --- a/deal.II/deal.II/source/fe/fe_dgq_1d.cc +++ b/deal.II/deal.II/source/fe/fe_dgq_1d.cc @@ -128,6 +128,7 @@ namespace FE_DGQ_1d +template <> const double * const FE_DGQ<1>::Matrices::embedding[] = { FE_DGQ_1d::dgq0_into_dgq0_refined, @@ -138,6 +139,8 @@ const double * const FE_DGQ<1>::Matrices::embedding[] = }; + +template <> const unsigned int FE_DGQ<1>::Matrices::n_embedding_matrices = sizeof(FE_DGQ<1>::Matrices::embedding) / sizeof(FE_DGQ<1>::Matrices::embedding[0]); @@ -145,6 +148,7 @@ const unsigned int FE_DGQ<1>::Matrices::n_embedding_matrices +template <> const double * const FE_DGQ<1>::Matrices::projection_matrices[] = { FE_DGQ_1d::dgq0_refined_onto_dgq0, @@ -158,6 +162,8 @@ const double * const FE_DGQ<1>::Matrices::projection_matrices[] = }; + +template <> const unsigned int FE_DGQ<1>::Matrices::n_projection_matrices = sizeof(FE_DGQ<1>::Matrices::projection_matrices) / sizeof(FE_DGQ<1>::Matrices::projection_matrices[0]); diff --git a/deal.II/deal.II/source/fe/fe_dgq_3d.cc b/deal.II/deal.II/source/fe/fe_dgq_3d.cc index 07ae49c5cb..31b33fc662 100644 --- a/deal.II/deal.II/source/fe/fe_dgq_3d.cc +++ b/deal.II/deal.II/source/fe/fe_dgq_3d.cc @@ -387,6 +387,7 @@ static const double dgq4_refined_onto_dgq4[] = }; +template <> const double * const FE_DGQ<3>::Matrices::embedding[] = { FE_DGQ_3d::dgq0_into_dgq0_refined, @@ -396,12 +397,15 @@ const double * const FE_DGQ<3>::Matrices::embedding[] = }; + +template <> const unsigned int FE_DGQ<3>::Matrices::n_embedding_matrices = sizeof(FE_DGQ<3>::Matrices::embedding) / sizeof(FE_DGQ<3>::Matrices::embedding[0]); +template <> const double * const FE_DGQ<3>::Matrices::projection_matrices[] = { FE_DGQ_3d::dgq0_refined_onto_dgq0, @@ -411,6 +415,9 @@ const double * const FE_DGQ<3>::Matrices::projection_matrices[] = FE_DGQ_3d::dgq4_refined_onto_dgq4 }; + + +template <> const unsigned int FE_DGQ<3>::Matrices::n_projection_matrices = sizeof(FE_DGQ<3>::Matrices::projection_matrices) / sizeof(FE_DGQ<3>::Matrices::projection_matrices[0]); diff --git a/deal.II/deal.II/source/fe/fe_q_1d.cc b/deal.II/deal.II/source/fe/fe_q_1d.cc index 3d8cbaa3b0..a001541131 100644 --- a/deal.II/deal.II/source/fe/fe_q_1d.cc +++ b/deal.II/deal.II/source/fe/fe_q_1d.cc @@ -90,6 +90,7 @@ namespace FE_Q_1d // embedding matrices +template <> const double * const FE_Q<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell] = { @@ -99,6 +100,9 @@ FE_Q<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell] = {FE_Q_1d::q4_into_q4_refined_0, FE_Q_1d::q4_into_q4_refined_1}, }; + + +template <> const unsigned int FE_Q<1>::Matrices::n_embedding_matrices = sizeof(FE_Q<1>::Matrices::embedding) / @@ -107,9 +111,12 @@ FE_Q<1>::Matrices::n_embedding_matrices // No constraints in 1d +template <> const unsigned int FE_Q<1>::Matrices::n_constraint_matrices = 0; + +template <> const double * const FE_Q<1>::Matrices::constraint_matrices[] = { 0 }; diff --git a/deal.II/deal.II/source/fe/fe_q_3d.cc b/deal.II/deal.II/source/fe/fe_q_3d.cc index bf96e3a55e..ab62f92c3b 100644 --- a/deal.II/deal.II/source/fe/fe_q_3d.cc +++ b/deal.II/deal.II/source/fe/fe_q_3d.cc @@ -369,6 +369,7 @@ namespace FE_Q_3d // embedding matrices +template <> const double * const FE_Q<3>::Matrices::embedding[][GeometryInfo<3>::children_per_cell] = { @@ -383,6 +384,7 @@ FE_Q<3>::Matrices::embedding[][GeometryInfo<3>::children_per_cell] = }; +template <> const unsigned int FE_Q<3>::Matrices::n_embedding_matrices = sizeof(FE_Q<3>::Matrices::embedding) / @@ -429,6 +431,9 @@ namespace FE_Q_3d }; }; + + +template <> const double * const FE_Q<3>::Matrices::constraint_matrices[] = { @@ -436,6 +441,9 @@ FE_Q<3>::Matrices::constraint_matrices[] = FE_Q_3d::constraint_q2 }; + + +template <> const unsigned int FE_Q<3>::Matrices::n_constraint_matrices = sizeof(FE_Q<3>::Matrices::constraint_matrices) / diff --git a/deal.II/deal.II/source/fe/mapping_q.cc b/deal.II/deal.II/source/fe/mapping_q.cc index 30ac922a5e..582866a116 100644 --- a/deal.II/deal.II/source/fe/mapping_q.cc +++ b/deal.II/deal.II/source/fe/mapping_q.cc @@ -520,8 +520,8 @@ MappingQ<3>::set_laplace_on_hex_vector(std::vector > &lohvs) // at the outer rim should be // one. check this for (unsigned int unit_point=0; unit_point