From b88437332bce0935b4f92f9baaf90f104f808d00 Mon Sep 17 00:00:00 2001 From: wolf Date: Wed, 4 Jul 2001 12:51:33 +0000 Subject: [PATCH] Declare explicit specializations. git-svn-id: https://svn.dealii.org/trunk@4811 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/fe/fe_dgq.h | 40 +++++++++++++++++++++++++++++ deal.II/deal.II/include/fe/fe_q.h | 39 ++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/deal.II/deal.II/include/fe/fe_dgq.h b/deal.II/deal.II/include/fe/fe_dgq.h index b83abf7608..d58e24890d 100644 --- a/deal.II/deal.II/include/fe/fe_dgq.h +++ b/deal.II/deal.II/include/fe/fe_dgq.h @@ -304,4 +304,44 @@ class FE_DGQ : public FiniteElement friend class MappingQ; }; + +// declaration of explicit specializations + +template <> +const double * const FE_DGQ<1>::Matrices::embedding[]; + +template <> +const unsigned int FE_DGQ<1>::Matrices::n_embedding_matrices; + +template <> +const double * const FE_DGQ<1>::Matrices::projection_matrices[]; + +template <> +const unsigned int FE_DGQ<1>::Matrices::n_projection_matrices; + +template <> +const double * const FE_DGQ<2>::Matrices::embedding[]; + +template <> +const unsigned int FE_DGQ<2>::Matrices::n_embedding_matrices; + +template <> +const double * const FE_DGQ<2>::Matrices::projection_matrices[]; + +template <> +const unsigned int FE_DGQ<2>::Matrices::n_projection_matrices; + +template <> +const double * const FE_DGQ<3>::Matrices::embedding[]; + +template <> +const unsigned int FE_DGQ<3>::Matrices::n_embedding_matrices; + +template <> +const double * const FE_DGQ<3>::Matrices::projection_matrices[]; + +template <> +const unsigned int FE_DGQ<3>::Matrices::n_projection_matrices; + + #endif diff --git a/deal.II/deal.II/include/fe/fe_q.h b/deal.II/deal.II/include/fe/fe_q.h index 261cf89912..5614473215 100644 --- a/deal.II/deal.II/include/fe/fe_q.h +++ b/deal.II/deal.II/include/fe/fe_q.h @@ -621,6 +621,45 @@ template <> void FE_Q<1>::initialize_unit_face_support_points (); template <> void FE_Q<1>::build_face_renumbering (const unsigned int, std::vector&); +template <> +const double * const +FE_Q<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell]; + +template <> +const unsigned int FE_Q<1>::Matrices::n_embedding_matrices; + +template <> +const double * const FE_Q<1>::Matrices::constraint_matrices[]; + +template <> +const unsigned int FE_Q<1>::Matrices::n_constraint_matrices; + +template <> +const double * const +FE_Q<2>::Matrices::embedding[][GeometryInfo<2>::children_per_cell]; + +template <> +const unsigned int FE_Q<2>::Matrices::n_embedding_matrices; + +template <> +const double * const FE_Q<2>::Matrices::constraint_matrices[]; + +template <> +const unsigned int FE_Q<2>::Matrices::n_constraint_matrices; + +template <> +const double * const +FE_Q<3>::Matrices::embedding[][GeometryInfo<3>::children_per_cell]; + +template <> +const unsigned int FE_Q<3>::Matrices::n_embedding_matrices; + +template <> +const double * const FE_Q<3>::Matrices::constraint_matrices[]; + +template <> +const unsigned int FE_Q<3>::Matrices::n_constraint_matrices; + /* ---------------------------- inline functions --------------------- */ -- 2.39.5