]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Generate instantiations using our own preprocessor, not through include files.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 16 Jan 2008 20:41:26 +0000 (20:41 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 16 Jan 2008 20:41:26 +0000 (20:41 +0000)
git-svn-id: https://svn.dealii.org/trunk@15619 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/numerics/vectors.cc
deal.II/deal.II/source/numerics/vectors.inst.in [new file with mode: 0644]
deal.II/deal.II/source/numerics/vectors.instance.h [deleted file]

index 6d37f31ba587bc27c047fa925d62f498ba7dcad1..135ac2c1fab1af9072df47cf04b317d992e281aa 100644 (file)
@@ -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
 
 // explicit instantiations
 
-#define VEC Vector<double>
-#include "vectors.instance.h"
-#undef VEC
-
-#define VEC Vector<float>
-#include "vectors.instance.h"
-#undef VEC
-
-#define VEC BlockVector<double>
-#include "vectors.instance.h"
-#undef VEC
-
-#define VEC BlockVector<float>
-#include "vectors.instance.h"
-#undef VEC
-
 
 DEAL_II_NAMESPACE_OPEN
 
+#include "vectors.inst"
+
 template
 void VectorTools::create_right_hand_side<deal_II_dimension>
 (const Mapping<deal_II_dimension>    &,
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 (file)
index 0000000..9eac481
--- /dev/null
@@ -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<deal_II_dimension>
+    (const Mapping<deal_II_dimension>&,
+     const DoFHandler<deal_II_dimension>&,
+     const Function<deal_II_dimension>&,
+     VEC&);
+  template
+    void VectorTools::interpolate<deal_II_dimension>
+    (const DoFHandler<deal_II_dimension>&,
+     const Function<deal_II_dimension>&,
+     VEC&);
+
+  template
+    void VectorTools::interpolate<deal_II_dimension>
+    (const Mapping<deal_II_dimension>&,
+     const hp::DoFHandler<deal_II_dimension>&,
+     const Function<deal_II_dimension>&,
+     VEC&);
+  template
+    void VectorTools::interpolate<deal_II_dimension>
+    (const hp::DoFHandler<deal_II_dimension>&,
+     const Function<deal_II_dimension>&,
+     VEC&);
+
+  template
+    void VectorTools::interpolate<deal_II_dimension>
+    (const Mapping<deal_II_dimension>&,
+     const MGDoFHandler<deal_II_dimension>&,
+     const Function<deal_II_dimension>&,
+     VEC&);
+  template
+    void VectorTools::interpolate<deal_II_dimension>
+    (const MGDoFHandler<deal_II_dimension>&,
+     const Function<deal_II_dimension>&,
+     VEC&);
+
+  template
+    void VectorTools::interpolate<deal_II_dimension>
+    (const DoFHandler<deal_II_dimension>&,
+     const DoFHandler<deal_II_dimension>&,
+     const FullMatrix<double>&,
+     const VEC&,
+     VEC&);
+
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<double>&,
+     const Quadrature<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<float>&,
+     const Quadrature<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const Mapping<deal_II_dimension>&,
+     const DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<double>&,
+     const Quadrature<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const Mapping<deal_II_dimension>&,
+     const DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<float>&,
+     const Quadrature<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const hp::DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<double>&,
+     const hp::QCollection<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const hp::DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<float>&,
+     const hp::QCollection<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const hp::MappingCollection<deal_II_dimension>&,
+     const hp::DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<double>&,
+     const hp::QCollection<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+  template
+    void VectorTools::integrate_difference<deal_II_dimension>
+    (const hp::MappingCollection<deal_II_dimension>&,
+     const hp::DoFHandler<deal_II_dimension>&,
+     const VEC&,
+     const Function<deal_II_dimension>&,
+     Vector<float>&,
+     const hp::QCollection<deal_II_dimension>&,
+     const NormType&,
+     const Function<deal_II_dimension>*,
+     const double);
+
+  template
+    void VectorTools::point_difference<deal_II_dimension> (
+      const DoFHandler<deal_II_dimension>&,
+      const VEC&,
+      const Function<deal_II_dimension>&,
+      Vector<double>&,
+      const Point<deal_II_dimension>&);
+
+  template
+    void VectorTools::point_difference<deal_II_dimension> (
+      const Mapping<deal_II_dimension>&,
+      const DoFHandler<deal_II_dimension>&,
+      const VEC&,
+      const Function<deal_II_dimension>&,
+      Vector<double>&,
+      const Point<deal_II_dimension>&);
+
+  template
+    void VectorTools::point_value<deal_II_dimension> (
+      const DoFHandler<deal_II_dimension>&,
+      const VEC&,
+      const Point<deal_II_dimension>&,
+      Vector<double>&);
+
+  template
+    double VectorTools::point_value<deal_II_dimension> (
+      const DoFHandler<deal_II_dimension>&,
+      const VEC&,
+      const Point<deal_II_dimension>&);
+
+  template
+    void VectorTools::point_value<deal_II_dimension> (
+      const Mapping<deal_II_dimension>&,
+      const DoFHandler<deal_II_dimension>&,
+      const VEC&,
+      const Point<deal_II_dimension>&,
+      Vector<double>&);
+
+  template
+    double VectorTools::point_value<deal_II_dimension> (
+      const Mapping<deal_II_dimension>&,
+      const DoFHandler<deal_II_dimension>&,
+      const VEC&,
+      const Point<deal_II_dimension>&);
+
+  template
+    double VectorTools::compute_mean_value<deal_II_dimension>
+    (const Mapping<deal_II_dimension>&,
+     const DoFHandler<deal_II_dimension>&,
+     const Quadrature<deal_II_dimension>&,
+     const VEC&,
+     const unsigned int);
+  template
+    double VectorTools::compute_mean_value<deal_II_dimension>
+    (const DoFHandler<deal_II_dimension>&,
+     const Quadrature<deal_II_dimension>&,
+     const VEC&,
+     const unsigned int);
+
+  template
+    void VectorTools::project
+    (const Mapping<deal_II_dimension>      &,
+     const DoFHandler<deal_II_dimension>   &,
+     const ConstraintMatrix                &,
+     const Quadrature<deal_II_dimension>   &,
+     const Function<deal_II_dimension>     &,
+     VEC                                   &,
+     const bool,
+     const Quadrature<deal_II_dimension-1> &,
+     const bool);
+
+  template
+    void VectorTools::project
+    (const DoFHandler<deal_II_dimension>   &,
+     const ConstraintMatrix                &,
+     const Quadrature<deal_II_dimension>   &,
+     const Function<deal_II_dimension>     &,
+     VEC                                   &,
+     const bool,
+     const Quadrature<deal_II_dimension-1> &,
+     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 (file)
index 93ac348..0000000
+++ /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<deal_II_dimension>
-(const Mapping<deal_II_dimension>&,
- const DoFHandler<deal_II_dimension>&,
- const Function<deal_II_dimension>&,
- VEC&);
-template
-void VectorTools::interpolate<deal_II_dimension>
-(const DoFHandler<deal_II_dimension>&,
- const Function<deal_II_dimension>&,
- VEC&);
-
-template
-void VectorTools::interpolate<deal_II_dimension>
-(const Mapping<deal_II_dimension>&,
- const hp::DoFHandler<deal_II_dimension>&,
- const Function<deal_II_dimension>&,
- VEC&);
-template
-void VectorTools::interpolate<deal_II_dimension>
-(const hp::DoFHandler<deal_II_dimension>&,
- const Function<deal_II_dimension>&,
- VEC&);
-
-template
-void VectorTools::interpolate<deal_II_dimension>
-(const Mapping<deal_II_dimension>&,
- const MGDoFHandler<deal_II_dimension>&,
- const Function<deal_II_dimension>&,
- VEC&);
-template
-void VectorTools::interpolate<deal_II_dimension>
-(const MGDoFHandler<deal_II_dimension>&,
- const Function<deal_II_dimension>&,
- VEC&);
-
-// Should these be instantiated for every combination of two types?
-template
-void VectorTools::interpolate<deal_II_dimension>
-(const DoFHandler<deal_II_dimension>&,
- const DoFHandler<deal_II_dimension>&,
- const FullMatrix<double>&,
- const VEC&,
- VEC&);
-
-
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<double>&,
- const Quadrature<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<float>&,
- const Quadrature<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const Mapping<deal_II_dimension>&,
- const DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<double>&,
- const Quadrature<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const Mapping<deal_II_dimension>&,
- const DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<float>&,
- const Quadrature<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const hp::DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<double>&,
- const hp::QCollection<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const hp::DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<float>&,
- const hp::QCollection<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const hp::MappingCollection<deal_II_dimension>&,
- const hp::DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<double>&,
- const hp::QCollection<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-template
-void VectorTools::integrate_difference<deal_II_dimension>
-(const hp::MappingCollection<deal_II_dimension>&,
- const hp::DoFHandler<deal_II_dimension>&,
- const VEC&,
- const Function<deal_II_dimension>&,
- Vector<float>&,
- const hp::QCollection<deal_II_dimension>&,
- const NormType&,
- const Function<deal_II_dimension>*,
- const double);
-
-template
-void VectorTools::point_difference<deal_II_dimension> (
-  const DoFHandler<deal_II_dimension>&,
-  const VEC&,
-  const Function<deal_II_dimension>&,
-  Vector<double>&,
-  const Point<deal_II_dimension>&);
-
-template
-void VectorTools::point_difference<deal_II_dimension> (
-  const Mapping<deal_II_dimension>&,
-  const DoFHandler<deal_II_dimension>&,
-  const VEC&,
-  const Function<deal_II_dimension>&,
-  Vector<double>&,
-  const Point<deal_II_dimension>&);
-
-template
-void VectorTools::point_value<deal_II_dimension> (
-  const DoFHandler<deal_II_dimension>&,
-  const VEC&,
-  const Point<deal_II_dimension>&,
-  Vector<double>&);
-
-template
-double VectorTools::point_value<deal_II_dimension> (
-  const DoFHandler<deal_II_dimension>&,
-  const VEC&,
-  const Point<deal_II_dimension>&);
-
-template
-void VectorTools::point_value<deal_II_dimension> (
-  const Mapping<deal_II_dimension>&,
-  const DoFHandler<deal_II_dimension>&,
-  const VEC&,
-  const Point<deal_II_dimension>&,
-  Vector<double>&);
-
-template
-double VectorTools::point_value<deal_II_dimension> (
-  const Mapping<deal_II_dimension>&,
-  const DoFHandler<deal_II_dimension>&,
-  const VEC&,
-  const Point<deal_II_dimension>&);
-
-template
-double VectorTools::compute_mean_value<deal_II_dimension>
-(const Mapping<deal_II_dimension>&,
- const DoFHandler<deal_II_dimension>&,
- const Quadrature<deal_II_dimension>&,
- const VEC&,
- const unsigned int);
-template
-double VectorTools::compute_mean_value<deal_II_dimension>
-(const DoFHandler<deal_II_dimension>&,
- const Quadrature<deal_II_dimension>&,
- const VEC&,
- const unsigned int);
-
-template
-void VectorTools::project
-(const Mapping<deal_II_dimension>      &,
- const DoFHandler<deal_II_dimension>   &,
- const ConstraintMatrix                &,
- const Quadrature<deal_II_dimension>   &,
- const Function<deal_II_dimension>     &,
- VEC                                   &,
- const bool,
- const Quadrature<deal_II_dimension-1> &,
- const bool);
-
-template
-void VectorTools::project
-(const DoFHandler<deal_II_dimension>   &,
- const ConstraintMatrix                &,
- const Quadrature<deal_II_dimension>   &,
- const Function<deal_II_dimension>     &,
- VEC                                   &,
- const bool,
- const Quadrature<deal_II_dimension-1> &,
- const bool);
-
-DEAL_II_NAMESPACE_CLOSE

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.