From: bangerth Date: Wed, 16 Jan 2008 20:41:26 +0000 (+0000) Subject: Generate instantiations using our own preprocessor, not through include files. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93b48ea50c60cb4e7c9c1c442add43222df08a8b;p=dealii-svn.git Generate instantiations using our own preprocessor, not through include files. git-svn-id: https://svn.dealii.org/trunk@15619 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/numerics/vectors.cc b/deal.II/deal.II/source/numerics/vectors.cc index 6d37f31ba5..135ac2c1fa 100644 --- a/deal.II/deal.II/source/numerics/vectors.cc +++ b/deal.II/deal.II/source/numerics/vectors.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -18,25 +18,11 @@ // explicit instantiations -#define VEC Vector -#include "vectors.instance.h" -#undef VEC - -#define VEC Vector -#include "vectors.instance.h" -#undef VEC - -#define VEC BlockVector -#include "vectors.instance.h" -#undef VEC - -#define VEC BlockVector -#include "vectors.instance.h" -#undef VEC - DEAL_II_NAMESPACE_OPEN +#include "vectors.inst" + template void VectorTools::create_right_hand_side (const Mapping &, diff --git a/deal.II/deal.II/source/numerics/vectors.inst.in b/deal.II/deal.II/source/numerics/vectors.inst.in new file mode 100644 index 0000000000..9eac481971 --- /dev/null +++ b/deal.II/deal.II/source/numerics/vectors.inst.in @@ -0,0 +1,227 @@ +//--------------------------------------------------------------------------- +// $Id: vectors.cc 14869 2007-07-25 07:38:02Z kanschat $ +// Version: $Name$ +// +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//--------------------------------------------------------------------------- + +for (VEC : SERIAL_VECTORS) +{ + template + void VectorTools::interpolate + (const Mapping&, + const DoFHandler&, + const Function&, + VEC&); + template + void VectorTools::interpolate + (const DoFHandler&, + const Function&, + VEC&); + + template + void VectorTools::interpolate + (const Mapping&, + const hp::DoFHandler&, + const Function&, + VEC&); + template + void VectorTools::interpolate + (const hp::DoFHandler&, + const Function&, + VEC&); + + template + void VectorTools::interpolate + (const Mapping&, + const MGDoFHandler&, + const Function&, + VEC&); + template + void VectorTools::interpolate + (const MGDoFHandler&, + const Function&, + VEC&); + + template + void VectorTools::interpolate + (const DoFHandler&, + const DoFHandler&, + const FullMatrix&, + const VEC&, + VEC&); + + template + void VectorTools::integrate_difference + (const DoFHandler&, + const VEC&, + const Function&, + Vector&, + const Quadrature&, + const NormType&, + const Function*, + const double); + template + void VectorTools::integrate_difference + (const DoFHandler&, + const VEC&, + const Function&, + Vector&, + const Quadrature&, + const NormType&, + const Function*, + const double); + template + void VectorTools::integrate_difference + (const Mapping&, + const DoFHandler&, + const VEC&, + const Function&, + Vector&, + const Quadrature&, + const NormType&, + const Function*, + const double); + template + void VectorTools::integrate_difference + (const Mapping&, + const DoFHandler&, + const VEC&, + const Function&, + Vector&, + const Quadrature&, + const NormType&, + const Function*, + const double); + + template + void VectorTools::integrate_difference + (const hp::DoFHandler&, + const VEC&, + const Function&, + Vector&, + const hp::QCollection&, + const NormType&, + const Function*, + const double); + template + void VectorTools::integrate_difference + (const hp::DoFHandler&, + const VEC&, + const Function&, + Vector&, + const hp::QCollection&, + const NormType&, + const Function*, + const double); + template + void VectorTools::integrate_difference + (const hp::MappingCollection&, + const hp::DoFHandler&, + const VEC&, + const Function&, + Vector&, + const hp::QCollection&, + const NormType&, + const Function*, + const double); + template + void VectorTools::integrate_difference + (const hp::MappingCollection&, + const hp::DoFHandler&, + const VEC&, + const Function&, + Vector&, + const hp::QCollection&, + const NormType&, + const Function*, + const double); + + template + void VectorTools::point_difference ( + const DoFHandler&, + const VEC&, + const Function&, + Vector&, + const Point&); + + template + void VectorTools::point_difference ( + const Mapping&, + const DoFHandler&, + const VEC&, + const Function&, + Vector&, + const Point&); + + template + void VectorTools::point_value ( + const DoFHandler&, + const VEC&, + const Point&, + Vector&); + + template + double VectorTools::point_value ( + const DoFHandler&, + const VEC&, + const Point&); + + template + void VectorTools::point_value ( + const Mapping&, + const DoFHandler&, + const VEC&, + const Point&, + Vector&); + + template + double VectorTools::point_value ( + const Mapping&, + const DoFHandler&, + const VEC&, + const Point&); + + template + double VectorTools::compute_mean_value + (const Mapping&, + const DoFHandler&, + const Quadrature&, + const VEC&, + const unsigned int); + template + double VectorTools::compute_mean_value + (const DoFHandler&, + const Quadrature&, + const VEC&, + const unsigned int); + + template + void VectorTools::project + (const Mapping &, + const DoFHandler &, + const ConstraintMatrix &, + const Quadrature &, + const Function &, + VEC &, + const bool, + const Quadrature &, + const bool); + + template + void VectorTools::project + (const DoFHandler &, + const ConstraintMatrix &, + const Quadrature &, + const Function &, + VEC &, + const bool, + const Quadrature &, + const bool); +} diff --git a/deal.II/deal.II/source/numerics/vectors.instance.h b/deal.II/deal.II/source/numerics/vectors.instance.h deleted file mode 100644 index 93ac348901..0000000000 --- a/deal.II/deal.II/source/numerics/vectors.instance.h +++ /dev/null @@ -1,234 +0,0 @@ -//--------------------------------------------------------------------------- -// $Id$ -// Version: $Name$ -// -// Copyright (C) 2005, 2006 by the deal.II authors -// -// This file is subject to QPL and may not be distributed -// without copyright and license information. Please refer -// to the file deal.II/doc/license.html for the text and -// further information on this license. -// -//--------------------------------------------------------------------------- - -// Instantiations of functions in vectors.cc - -// vectors.cc defines the vector type VEC - -DEAL_II_NAMESPACE_OPEN - -template -void VectorTools::interpolate -(const Mapping&, - const DoFHandler&, - const Function&, - VEC&); -template -void VectorTools::interpolate -(const DoFHandler&, - const Function&, - VEC&); - -template -void VectorTools::interpolate -(const Mapping&, - const hp::DoFHandler&, - const Function&, - VEC&); -template -void VectorTools::interpolate -(const hp::DoFHandler&, - const Function&, - VEC&); - -template -void VectorTools::interpolate -(const Mapping&, - const MGDoFHandler&, - const Function&, - VEC&); -template -void VectorTools::interpolate -(const MGDoFHandler&, - const Function&, - VEC&); - -// Should these be instantiated for every combination of two types? -template -void VectorTools::interpolate -(const DoFHandler&, - const DoFHandler&, - const FullMatrix&, - const VEC&, - VEC&); - - -template -void VectorTools::integrate_difference -(const DoFHandler&, - const VEC&, - const Function&, - Vector&, - const Quadrature&, - const NormType&, - const Function*, - const double); -template -void VectorTools::integrate_difference -(const DoFHandler&, - const VEC&, - const Function&, - Vector&, - const Quadrature&, - const NormType&, - const Function*, - const double); -template -void VectorTools::integrate_difference -(const Mapping&, - const DoFHandler&, - const VEC&, - const Function&, - Vector&, - const Quadrature&, - const NormType&, - const Function*, - const double); -template -void VectorTools::integrate_difference -(const Mapping&, - const DoFHandler&, - const VEC&, - const Function&, - Vector&, - const Quadrature&, - const NormType&, - const Function*, - const double); - -template -void VectorTools::integrate_difference -(const hp::DoFHandler&, - const VEC&, - const Function&, - Vector&, - const hp::QCollection&, - const NormType&, - const Function*, - const double); -template -void VectorTools::integrate_difference -(const hp::DoFHandler&, - const VEC&, - const Function&, - Vector&, - const hp::QCollection&, - const NormType&, - const Function*, - const double); -template -void VectorTools::integrate_difference -(const hp::MappingCollection&, - const hp::DoFHandler&, - const VEC&, - const Function&, - Vector&, - const hp::QCollection&, - const NormType&, - const Function*, - const double); -template -void VectorTools::integrate_difference -(const hp::MappingCollection&, - const hp::DoFHandler&, - const VEC&, - const Function&, - Vector&, - const hp::QCollection&, - const NormType&, - const Function*, - const double); - -template -void VectorTools::point_difference ( - const DoFHandler&, - const VEC&, - const Function&, - Vector&, - const Point&); - -template -void VectorTools::point_difference ( - const Mapping&, - const DoFHandler&, - const VEC&, - const Function&, - Vector&, - const Point&); - -template -void VectorTools::point_value ( - const DoFHandler&, - const VEC&, - const Point&, - Vector&); - -template -double VectorTools::point_value ( - const DoFHandler&, - const VEC&, - const Point&); - -template -void VectorTools::point_value ( - const Mapping&, - const DoFHandler&, - const VEC&, - const Point&, - Vector&); - -template -double VectorTools::point_value ( - const Mapping&, - const DoFHandler&, - const VEC&, - const Point&); - -template -double VectorTools::compute_mean_value -(const Mapping&, - const DoFHandler&, - const Quadrature&, - const VEC&, - const unsigned int); -template -double VectorTools::compute_mean_value -(const DoFHandler&, - const Quadrature&, - const VEC&, - const unsigned int); - -template -void VectorTools::project -(const Mapping &, - const DoFHandler &, - const ConstraintMatrix &, - const Quadrature &, - const Function &, - VEC &, - const bool, - const Quadrature &, - const bool); - -template -void VectorTools::project -(const DoFHandler &, - const ConstraintMatrix &, - const Quadrature &, - const Function &, - VEC &, - const bool, - const Quadrature &, - const bool); - -DEAL_II_NAMESPACE_CLOSE