]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Prefix functions and classes with std:: where this is necessary for the forthcoming...
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 17 Jan 2001 08:05:50 +0000 (08:05 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 17 Jan 2001 08:05:50 +0000 (08:05 +0000)
git-svn-id: https://svn.dealii.org/branches/Branch-3-1@3699 0785d39b-7218-0410-832d-ea1e28bc413d

225 files changed:
deal.II/base/include/base/convergence_table.h
deal.II/base/include/base/data_out_base.h
deal.II/base/include/base/exceptions.h
deal.II/base/include/base/function.h
deal.II/base/include/base/function_derivative.h
deal.II/base/include/base/function_lib.h
deal.II/base/include/base/function_time.h
deal.II/base/include/base/job_identifier.h
deal.II/base/include/base/logstream.h
deal.II/base/include/base/memory_consumption.h
deal.II/base/include/base/multithread_info.h
deal.II/base/include/base/parameter_handler.h
deal.II/base/include/base/point.h
deal.II/base/include/base/quadrature.h
deal.II/base/include/base/quadrature_lib.h
deal.II/base/include/base/smartpointer.h
deal.II/base/include/base/subscriptor.h
deal.II/base/include/base/table_handler.h
deal.II/base/include/base/tensor.h
deal.II/base/include/base/tensor_base.h
deal.II/base/include/base/tensor_function.h
deal.II/base/include/base/thread_management.h
deal.II/base/include/base/timer.h
deal.II/base/source/convergence_table.cc
deal.II/base/source/data_out_base.all_dimensions.cc
deal.II/base/source/data_out_base.cc
deal.II/base/source/exceptions.cc
deal.II/base/source/function.cc
deal.II/base/source/function_derivative.cc
deal.II/base/source/function_lib.cc
deal.II/base/source/function_time.cc
deal.II/base/source/job_identifier.cc
deal.II/base/source/log.cc
deal.II/base/source/memory_consumption.cc
deal.II/base/source/multithread_info.cc
deal.II/base/source/parameter_handler.cc
deal.II/base/source/programid.cc
deal.II/base/source/quadrature.cc
deal.II/base/source/quadrature_lib.cc
deal.II/base/source/subscriptor.cc
deal.II/base/source/table_handler.cc
deal.II/base/source/tensor.cc
deal.II/base/source/tensor_function.cc
deal.II/base/source/thread_management.cc
deal.II/base/source/timer.cc
deal.II/deal.II/include/dofs/dof_accessor.h
deal.II/deal.II/include/dofs/dof_accessor.templates.h
deal.II/deal.II/include/dofs/dof_constraints.h
deal.II/deal.II/include/dofs/dof_constraints.templates.h
deal.II/deal.II/include/dofs/dof_handler.h
deal.II/deal.II/include/dofs/dof_levels.h
deal.II/deal.II/include/dofs/dof_tools.h
deal.II/deal.II/include/fe/fe.h
deal.II/deal.II/include/fe/fe_lib.criss_cross.h
deal.II/deal.II/include/fe/fe_lib.dg.h
deal.II/deal.II/include/fe/fe_lib.dgp.h
deal.II/deal.II/include/fe/fe_lib.lagrange.h
deal.II/deal.II/include/fe/fe_system.h
deal.II/deal.II/include/fe/fe_tools.h
deal.II/deal.II/include/fe/fe_update_flags.h
deal.II/deal.II/include/fe/fe_values.h
deal.II/deal.II/include/fe/q1_mapping.h
deal.II/deal.II/include/grid/.cvsignore
deal.II/deal.II/include/grid/geometry_info.h
deal.II/deal.II/include/grid/grid_generator.h
deal.II/deal.II/include/grid/grid_in.h
deal.II/deal.II/include/grid/grid_out.h
deal.II/deal.II/include/grid/grid_refinement.h
deal.II/deal.II/include/grid/grid_reordering.h
deal.II/deal.II/include/grid/intergrid_map.h
deal.II/deal.II/include/grid/magic_numbers.h
deal.II/deal.II/include/grid/persistent_tria.h
deal.II/deal.II/include/grid/tria.h
deal.II/deal.II/include/grid/tria_accessor.h
deal.II/deal.II/include/grid/tria_accessor.templates.h
deal.II/deal.II/include/grid/tria_boundary.h
deal.II/deal.II/include/grid/tria_boundary_lib.h
deal.II/deal.II/include/grid/tria_hex.h
deal.II/deal.II/include/grid/tria_iterator.h
deal.II/deal.II/include/grid/tria_iterator.templates.h
deal.II/deal.II/include/grid/tria_iterator_base.h
deal.II/deal.II/include/grid/tria_levels.h
deal.II/deal.II/include/grid/tria_line.h
deal.II/deal.II/include/grid/tria_quad.h
deal.II/deal.II/include/multigrid/mg_base.h
deal.II/deal.II/include/multigrid/mg_dof_accessor.h
deal.II/deal.II/include/multigrid/mg_dof_handler.h
deal.II/deal.II/include/multigrid/mg_dof_tools.h
deal.II/deal.II/include/multigrid/mg_smoother.h
deal.II/deal.II/include/multigrid/mg_smoother.templates.h
deal.II/deal.II/include/multigrid/multigrid.h
deal.II/deal.II/include/multigrid/multigrid.templates.h
deal.II/deal.II/include/numerics/assembler.h
deal.II/deal.II/include/numerics/base.h
deal.II/deal.II/include/numerics/data_out.h
deal.II/deal.II/include/numerics/data_out_faces.h
deal.II/deal.II/include/numerics/data_out_rotation.h
deal.II/deal.II/include/numerics/data_out_stack.h
deal.II/deal.II/include/numerics/derivative_approximation.h
deal.II/deal.II/include/numerics/dof_print_solver_step.h
deal.II/deal.II/include/numerics/dof_renumbering.h
deal.II/deal.II/include/numerics/error_estimator.h
deal.II/deal.II/include/numerics/histogram.h
deal.II/deal.II/include/numerics/matrices.h
deal.II/deal.II/include/numerics/solution_transfer.h
deal.II/deal.II/include/numerics/time_dependent.h
deal.II/deal.II/include/numerics/vectors.h
deal.II/deal.II/source/dofs/dof_accessor.cc
deal.II/deal.II/source/dofs/dof_constraints.cc
deal.II/deal.II/source/dofs/dof_handler.cc
deal.II/deal.II/source/dofs/dof_levels.cc
deal.II/deal.II/source/dofs/dof_renumbering.cc
deal.II/deal.II/source/dofs/dof_tools.cc
deal.II/deal.II/source/fe/fe.cc
deal.II/deal.II/source/fe/fe_lib.criss_cross.cc
deal.II/deal.II/source/fe/fe_lib.cubic.cc
deal.II/deal.II/source/fe/fe_lib.dg.cc
deal.II/deal.II/source/fe/fe_lib.dg.constant.cc
deal.II/deal.II/source/fe/fe_lib.dgp1.cc
deal.II/deal.II/source/fe/fe_lib.dgp2.cc
deal.II/deal.II/source/fe/fe_lib.dgp3.cc
deal.II/deal.II/source/fe/fe_lib.linear.cc
deal.II/deal.II/source/fe/fe_lib.quadratic.cc
deal.II/deal.II/source/fe/fe_lib.quartic.cc
deal.II/deal.II/source/fe/fe_system.cc
deal.II/deal.II/source/fe/fe_tools.cc
deal.II/deal.II/source/fe/fe_values.cc
deal.II/deal.II/source/fe/q1_mapping.cc
deal.II/deal.II/source/fe/q1_mapping.jacobians.cc
deal.II/deal.II/source/grid/geometry_info.cc
deal.II/deal.II/source/grid/grid_generator.cc
deal.II/deal.II/source/grid/grid_in.cc
deal.II/deal.II/source/grid/grid_out.all_dimensions.cc
deal.II/deal.II/source/grid/grid_out.cc
deal.II/deal.II/source/grid/grid_refinement.cc
deal.II/deal.II/source/grid/grid_reordering.cc
deal.II/deal.II/source/grid/intergrid_map.cc
deal.II/deal.II/source/grid/persistent_tria.cc
deal.II/deal.II/source/grid/tria.all_dimensions.cc
deal.II/deal.II/source/grid/tria.cc
deal.II/deal.II/source/grid/tria_accessor.cc
deal.II/deal.II/source/grid/tria_boundary.cc
deal.II/deal.II/source/grid/tria_boundary_lib.cc
deal.II/deal.II/source/multigrid/mg_base.cc
deal.II/deal.II/source/multigrid/mg_dof_accessor.cc
deal.II/deal.II/source/multigrid/mg_dof_handler.cc
deal.II/deal.II/source/multigrid/mg_dof_tools.cc
deal.II/deal.II/source/multigrid/mg_smoother.cc
deal.II/deal.II/source/multigrid/multigrid.all_dimensions.cc
deal.II/deal.II/source/multigrid/multigrid.cc
deal.II/deal.II/source/numerics/assembler.cc
deal.II/deal.II/source/numerics/base.cc
deal.II/deal.II/source/numerics/data_out.cc
deal.II/deal.II/source/numerics/data_out_faces.cc
deal.II/deal.II/source/numerics/data_out_rotation.cc
deal.II/deal.II/source/numerics/data_out_stack.cc
deal.II/deal.II/source/numerics/derivative_approximation.cc
deal.II/deal.II/source/numerics/equation.cc
deal.II/deal.II/source/numerics/error_estimator.cc
deal.II/deal.II/source/numerics/histogram.cc
deal.II/deal.II/source/numerics/matrices.cc
deal.II/deal.II/source/numerics/solution_transfer.cc
deal.II/deal.II/source/numerics/time_dependent.cc
deal.II/deal.II/source/numerics/vectors.all_dimensions.cc
deal.II/deal.II/source/numerics/vectors.cc
deal.II/examples/step-1/step-1.cc
deal.II/examples/step-2/step-2.cc
deal.II/examples/step-3/step-3.cc
deal.II/examples/step-4/step-4.cc
deal.II/examples/step-5/step-5.cc
deal.II/examples/step-6/step-6.cc
deal.II/examples/step-7/step-7.cc
deal.II/examples/step-8/step-8.cc
deal.II/examples/step-9/step-9.cc
deal.II/lac/include/lac/block_indices.h
deal.II/lac/include/lac/block_matrix.h
deal.II/lac/include/lac/block_sparse_matrix.h
deal.II/lac/include/lac/block_sparse_matrix.templates.h
deal.II/lac/include/lac/block_sparsity_pattern.h
deal.II/lac/include/lac/block_vector.h
deal.II/lac/include/lac/block_vector.templates.h
deal.II/lac/include/lac/eigen.h
deal.II/lac/include/lac/full_matrix.h
deal.II/lac/include/lac/full_matrix.templates.h
deal.II/lac/include/lac/precondition.h
deal.II/lac/include/lac/precondition_block.h
deal.II/lac/include/lac/precondition_block.templates.h
deal.II/lac/include/lac/precondition_selector.h
deal.II/lac/include/lac/solver.h
deal.II/lac/include/lac/solver_bicgstab.h
deal.II/lac/include/lac/solver_cg.h
deal.II/lac/include/lac/solver_control.h
deal.II/lac/include/lac/solver_gmres.h
deal.II/lac/include/lac/solver_minres.h
deal.II/lac/include/lac/solver_qmrs.h
deal.II/lac/include/lac/solver_richardson.h
deal.II/lac/include/lac/solver_selector.h
deal.II/lac/include/lac/sparse_ilu.h
deal.II/lac/include/lac/sparse_ilu.templates.h
deal.II/lac/include/lac/sparse_matrix.h
deal.II/lac/include/lac/sparse_matrix.templates.h
deal.II/lac/include/lac/sparse_vanka.h
deal.II/lac/include/lac/sparse_vanka.templates.h
deal.II/lac/include/lac/sparsity_pattern.h
deal.II/lac/include/lac/swappable_vector.h
deal.II/lac/include/lac/swappable_vector.templates.h
deal.II/lac/include/lac/vector.h
deal.II/lac/include/lac/vector.templates.h
deal.II/lac/include/lac/vector_memory.h
deal.II/lac/source/block_sparse_matrix.cc
deal.II/lac/source/block_sparsity_pattern.cc
deal.II/lac/source/block_vector.cc
deal.II/lac/source/full_matrix.double.cc
deal.II/lac/source/full_matrix.float.cc
deal.II/lac/source/precondition_block.cc
deal.II/lac/source/solver_control.cc
deal.II/lac/source/sparse_ilu.cc
deal.II/lac/source/sparse_matrix.double.cc
deal.II/lac/source/sparse_matrix.float.cc
deal.II/lac/source/sparse_matrix.long_double.cc
deal.II/lac/source/sparse_vanka.cc
deal.II/lac/source/sparsity_pattern.cc
deal.II/lac/source/swappable_vector.cc
deal.II/lac/source/vector.cc
deal.II/lac/source/vector.long_double.cc

index e345b938c5af62e4ea28466ed787f1ece0ea16df..7c10868d1e3b1008c2671c92efa5f4028744d0ec 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -103,9 +103,9 @@ class ConvergenceTable: public TableHandler
                                      *
                                      * Still not implemented.
                                      */
-    void evaluate_convergence_rates (const string &data_column_key,
-                                    const string &reference_column_key,
-                                    const RateMode rate_mode);
+    void evaluate_convergence_rates (const std::string &data_column_key,
+                                    const std::string &reference_column_key,
+                                    const RateMode     rate_mode);
 
 
                                     /**
@@ -125,8 +125,8 @@ class ConvergenceTable: public TableHandler
                                      * the @p{set_tex_supercaption (...)} function
                                      * of the base class @p{TableHandler}.
                                      */
-    void evaluate_convergence_rates (const string &data_column_key, 
-                                    const RateMode rate_mode);
+    void evaluate_convergence_rates (const std::string &data_column_key, 
+                                    const RateMode     rate_mode);
 
                                     /**
                                      * Omit this column @p{key} 
@@ -139,7 +139,7 @@ class ConvergenceTable: public TableHandler
                                      * omitting the column from convergence
                                      * rate evalution.
                                      */
-    void omit_column_from_convergence_rate_evaluation(const string &key);
+    void omit_column_from_convergence_rate_evaluation(const std::string &key);
 
                                     /**
                                      * Evaluates convergence rates
@@ -167,8 +167,8 @@ class ConvergenceTable: public TableHandler
                                      * should omitted by calling the
                                      * @p{omit_column_from_convergence_rate_evaluation(..)}.
                                      */
-    void evaluate_all_convergence_rates(const string &reference_column_key,
-                                       const RateMode rate_mode);
+    void evaluate_all_convergence_rates(const std::string &reference_column_key,
+                                       const RateMode     rate_mode);
 
                                     /**
                                      * Evaluates convergence rates
@@ -205,7 +205,7 @@ class ConvergenceTable: public TableHandler
                                      * Exception
                                      */
     DeclException1 (ExcRateColumnAlreadyExists,
-                   string,
+                   std::string,
                    << "Rate column <" << arg1 << "> does already exist.");
 };
 
index 71ca79938e5bf41fb4bec0330f08dcca4fe61627..616b2dd7bed3080697d0e50d04caa026fcf87d00 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -427,7 +427,7 @@ class DataOutBase
                                          * not be determined exactly
                                          * (for example: what is the
                                          * memory consumption of an
-                                         * STL @p{map} type with a
+                                         * STL @p{std::map} type with a
                                          * certain number of
                                          * elements?), this is only
                                          * an estimate. however often
@@ -499,7 +499,7 @@ class DataOutBase
                                          * not be determined exactly
                                          * (for example: what is the
                                          * memory consumption of an
-                                         * STL @p{map} type with a
+                                         * STL @p{std::map} type with a
                                          * certain number of
                                          * elements?), this is only
                                          * an estimate. however often
@@ -555,7 +555,7 @@ class DataOutBase
                                          * not be determined exactly
                                          * (for example: what is the
                                          * memory consumption of an
-                                         * STL @p{map} type with a
+                                         * STL @p{std::map} type with a
                                          * certain number of
                                          * elements?), this is only
                                          * an estimate. however often
@@ -634,7 +634,7 @@ class DataOutBase
                                          * not be determined exactly
                                          * (for example: what is the
                                          * memory consumption of an
-                                         * STL @p{map} type with a
+                                         * STL @p{std::map} type with a
                                          * certain number of
                                          * elements?), this is only
                                          * an estimate. however often
@@ -929,7 +929,7 @@ class DataOutBase
                                          * not be determined exactly
                                          * (for example: what is the
                                          * memory consumption of an
-                                         * STL @p{map} type with a
+                                         * STL @p{std::map} type with a
                                          * certain number of
                                          * elements?), this is only
                                          * an estimate. however often
@@ -985,7 +985,7 @@ class DataOutBase
                                          * not be determined exactly
                                          * (for example: what is the
                                          * memory consumption of an
-                                         * STL @p{map} type with a
+                                         * STL @p{std::map} type with a
                                          * certain number of
                                          * elements?), this is only
                                          * an estimate. however often
@@ -1003,10 +1003,10 @@ class DataOutBase
                                      * on the parameters.
                                      */
     template <int dim, int spacedim>
-    static void write_ucd (const vector<Patch<dim,spacedim> > &patches,
-                          const vector<string>               &data_names,
-                          const UcdFlags                     &flags,
-                          ostream                            &out);
+    static void write_ucd (const std::vector<Patch<dim,spacedim> > &patches,
+                          const std::vector<std::string>          &data_names,
+                          const UcdFlags                          &flags,
+                          std::ostream                            &out);
 
                                     /**
                                      * Write the given list of patches
@@ -1016,10 +1016,10 @@ class DataOutBase
                                      * on the parameters.
                                      */
     template <int dim, int spacedim>
-    static void write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
-                              const vector<string>               &data_names,
-                              const GnuplotFlags                 &flags,
-                              ostream                            &out);
+    static void write_gnuplot (const std::vector<Patch<dim,spacedim> > &patches,
+                              const std::vector<std::string>          &data_names,
+                              const GnuplotFlags                      &flags,
+                              std::ostream                            &out);
 
                                     /**
                                      * Write the given list of patches
@@ -1029,10 +1029,10 @@ class DataOutBase
                                      * on the parameters.
                                      */
     template <int dim, int spacedim>
-    static void write_povray (const vector<Patch<dim,spacedim> > &patches,
-                             const vector<string>               &data_names,
-                             const PovrayFlags                  &flags,
-                             ostream                            &out);
+    static void write_povray (const std::vector<Patch<dim,spacedim> > &patches,
+                             const std::vector<std::string>          &data_names,
+                             const PovrayFlags                       &flags,
+                             std::ostream                            &out);
 
                                     /**
                                      * Write the given list of patches
@@ -1042,10 +1042,10 @@ class DataOutBase
                                      * on the parameters.
                                      */
     template <int dim, int spacedim>
-    static void write_eps (const vector<Patch<dim,spacedim> > &patches,
-                          const vector<string>               &data_names,
-                          const EpsFlags                     &flags,
-                          ostream                            &out);
+    static void write_eps (const std::vector<Patch<dim,spacedim> > &patches,
+                          const std::vector<std::string>          &data_names,
+                          const EpsFlags                          &flags,
+                          std::ostream                            &out);
 
                                     /**
                                      * Write the given list of patches
@@ -1055,10 +1055,10 @@ class DataOutBase
                                      * on the parameters.
                                      */
     template <int dim, int spacedim>
-    static void write_gmv (const vector<Patch<dim,spacedim> > &patches,
-                          const vector<string>               &data_names,
-                          const GmvFlags                     &flags,
-                          ostream                            &out);
+    static void write_gmv (const std::vector<Patch<dim,spacedim> > &patches,
+                          const std::vector<std::string>          &data_names,
+                          const GmvFlags                          &flags,
+                          std::ostream                            &out);
 
                                     /**
                                      * Determine an estimate for
@@ -1069,7 +1069,7 @@ class DataOutBase
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
@@ -1175,8 +1175,8 @@ class DataOutBase
                                      */
     template <int dim, int spacedim>
     static void
-    write_gmv_reorder_data_vectors (const vector<Patch<dim,spacedim> > &patches,
-                                   vector<vector<double> >            &data_vectors);
+    write_gmv_reorder_data_vectors (const std::vector<Patch<dim,spacedim> > &patches,
+                                   std::vector<std::vector<double> >       &data_vectors);
 };
 
 
@@ -1309,35 +1309,35 @@ class DataOutInterface : private DataOutBase
                                      * function and write it to @p{out} in
                                      * UCD format.
                                      */
-    void write_ucd (ostream &out) const;
+    void write_ucd (std::ostream &out) const;
 
                                     /**
                                      * Obtain data through the @p{get_patches}
                                      * function and write it to @p{out} in
                                      * GNUPLOT format.
                                      */
-    void write_gnuplot (ostream &out) const;
+    void write_gnuplot (std::ostream &out) const;
 
                                     /**
                                      * Obtain data through the @p{get_patches}
                                      * function and write it to @p{out} in
                                      * POVRAY format.
                                      */
-    void write_povray (ostream &out) const;
+    void write_povray (std::ostream &out) const;
 
                                     /**
                                      * Obtain data through the @p{get_patches}
                                      * function and write it to @p{out} in
                                      * EPS format.
                                      */
-    void write_eps (ostream &out) const;
+    void write_eps (std::ostream &out) const;
 
                                     /**
                                      * Obtain data through the @p{get_patches}
                                      * function and write it to @p{out} in
                                      * GMV format.
                                      */
-    void write_gmv (ostream &out) const;
+    void write_gmv (std::ostream &out) const;
 
                                     /**
                                      * Write data and grid to @p{out} according
@@ -1349,7 +1349,8 @@ class DataOutInterface : private DataOutBase
                                      * An error occurs if no format is provided and
                                      * the default format is @p{default_format}.
                                      */
-    void write (ostream &out, const OutputFormat output_format = default_format) const;
+    void write (std::ostream       &out,
+               const OutputFormat  output_format = default_format) const;
 
                                     /**
                                      * Set the default format. The value set here
@@ -1407,7 +1408,7 @@ class DataOutInterface : private DataOutBase
                                      * suffix for the
                                      * @p{default_format} is returned.
                                      */
-    string default_suffix (const OutputFormat output_format = default_format) const;
+    std::string default_suffix (const OutputFormat output_format = default_format) const;
 
                                     /**
                                      * Return the @p{OutputFormat} value
@@ -1429,7 +1430,7 @@ class DataOutInterface : private DataOutBase
                                      * @p{ParameterHandler} class, use the
                                      * function @p{get_output_format_names ()}.
                                      */
-    static OutputFormat parse_output_format (const string &format_name);
+    static OutputFormat parse_output_format (const std::string &format_name);
 
                                     /**
                                      * Return a list of implemented output
@@ -1438,7 +1439,7 @@ class DataOutInterface : private DataOutBase
                                      * as used by the @p{ParameterHandler}
                                      * classes.
                                      */
-    static string get_output_format_names ();
+    static std::string get_output_format_names ();
 
                                     /**
                                      * Declare parameters for all output
@@ -1487,7 +1488,7 @@ class DataOutInterface : private DataOutBase
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
@@ -1513,7 +1514,7 @@ class DataOutInterface : private DataOutBase
                                      * allow the output functions to
                                      * know what they shall print.
                                      */
-    virtual const vector<DataOutBase::Patch<dim,spacedim> > &
+    virtual const std::vector<DataOutBase::Patch<dim,spacedim> > &
     get_patches () const = 0;
 
                                     /**
@@ -1522,7 +1523,7 @@ class DataOutInterface : private DataOutBase
                                      * obtained by the output functions
                                      * of the base class.
                                      */
-    virtual vector<string> get_dataset_names () const = 0;
+    virtual std::vector<std::string> get_dataset_names () const = 0;
 
   private:
                                     /**
index c6df1486559b493bb3cb5c5ced9d972d0a1b8800..927c2e1e905cf10ccafd40ada752193e898b4451 100644 (file)
@@ -69,7 +69,7 @@
  *  This declares an exception class named @p{ExcDomain}, which
  *  has two variables as additional information (named
  *  @p{arg1} and @p{arg2} by default) and which outputs the
- *  given sequence (which is appended to an @p{ostream}
+ *  given sequence (which is appended to an @p{std::ostream}
  *  variable's name, thus the weird syntax). There are
  *  other @p{DeclExceptionN} macros for exception classes
  *  with more or no parameters. It is proposed to let start
  *  In @p{__IssueError} the given data
  *  is transferred into the @p{exc} object by calling the
  *  @p{SetFields} function; after that, the general error info
- *  is printed onto @p{cerr} using the @p{PrintError} function of
+ *  is printed onto @p{std::cerr} using the @p{PrintError} function of
  *  @p{exc} and finally the exception specific data is printed
  *  using the user defined function @p{PrintError} (which is
  *  normally created using the @p{DeclException (...)} macro
  *      do_something ();
  *    }
  *    catch (exception &e) {
- *      cerr << "Exception occured:" << endl
+ *      std::cerr << "Exception occured:" << std::endl
  *           << e.what ()
- *           << endl;
+ *           << std::endl;
  *      do_something_to_reciver ();
  *    };
  *  @end{verbatim}
  *    public:
  *      name (const type1 a1, const type2 a2) :
  *                     arg1 (a1), arg2(a2) {};
- *      virtual void PrintInfo (ostream &out) const {
- *        out outsequence << endl;
+ *      virtual void PrintInfo (std::ostream &out) const {
+ *        out outsequence << std::endl;
  *      };
  *    private:
  *      type1 arg1;
  *
  *  @author Wolfgang Bangerth, November 1997, extensions 1998
  */
-class ExceptionBase : public exception
+class ExceptionBase : public std::exception
 {
   public:
                                     /**
@@ -311,14 +311,14 @@ class ExceptionBase : public exception
                                      *  Print out the general part of the error
                                      *  information.
                                      */
-    void PrintExcData (ostream &out) const;
+    void PrintExcData (std::ostream &out) const;
 
                                     /**
                                      *  Print more specific information about the
                                      *  exception which occured. Overload this
                                      *  function in your own exception classes.
                                      */
-    virtual void PrintInfo (ostream &out) const;
+    virtual void PrintInfo (std::ostream &out) const;
 
 
                                     /**
@@ -381,14 +381,14 @@ void __IssueError_Assert (const char *file,
 {
                                   // Fill the fields of the exception object
   e.SetFields (file, line, function, cond, exc_name);
-  cerr << "--------------------------------------------------------"
-       << endl;
+  std::cerr << "--------------------------------------------------------"
+           << std::endl;
                                   // print out general data
-  e.PrintExcData (cerr);
+  e.PrintExcData (std::cerr);
                                   // print out exception specific data
-  e.PrintInfo (cerr);
-  cerr << "--------------------------------------------------------"
-       << endl;
+  e.PrintInfo (std::cerr);
+  std::cerr << "--------------------------------------------------------"
+           << std::endl;
   
   abort ();
 };
@@ -505,8 +505,8 @@ class Exception0 :  public ExceptionBase {}
 class Exception1 : public ExceptionBase {                             \
   public:                                                             \
       Exception1 (const type1 a1) : arg1 (a1) {};                     \
-      virtual void PrintInfo (ostream &out) const {                   \
-        out outsequence << endl;                                      \
+      virtual void PrintInfo (std::ostream &out) const {              \
+        out outsequence << std::endl;                                 \
       };                                                              \
   private:                                                            \
       const type1 arg1;                                               \
@@ -525,8 +525,8 @@ class Exception2 : public ExceptionBase {                             \
   public:                                                             \
       Exception2 (const type1 a1, const type2 a2) :                   \
              arg1 (a1), arg2(a2) {};                                 \
-      virtual void PrintInfo (ostream &out) const {                   \
-        out outsequence << endl;                                      \
+      virtual void PrintInfo (std::ostream &out) const {              \
+        out outsequence << std::endl;                                 \
       };                                                              \
   private:                                                            \
       const type1 arg1;                                               \
@@ -546,8 +546,8 @@ class Exception3 : public ExceptionBase {                             \
   public:                                                             \
       Exception3 (const type1 a1, const type2 a2, const type3 a3) :   \
              arg1 (a1), arg2(a2), arg3(a3) {};                       \
-      virtual void PrintInfo (ostream &out) const {                   \
-        out outsequence << endl;                                      \
+      virtual void PrintInfo (std::ostream &out) const {              \
+        out outsequence << std::endl;                                 \
       };                                                              \
   private:                                                            \
       const type1 arg1;                                               \
@@ -569,8 +569,8 @@ class Exception4 : public ExceptionBase {                             \
       Exception4 (const type1 a1, const type2 a2,                     \
            const type3 a3, const type4 a4) :                         \
              arg1 (a1), arg2(a2), arg3(a3), arg4(a4) {};             \
-      virtual void PrintInfo (ostream &out) const {                   \
-        out outsequence << endl;                                      \
+      virtual void PrintInfo (std::ostream &out) const {              \
+        out outsequence << std::endl;                                 \
       };                                                              \
   private:                                                            \
       const type1 arg1;                                               \
@@ -593,8 +593,8 @@ class Exception5 : public ExceptionBase {                             \
       Exception5 (const type1 a1, const type2 a2, const type3 a3,     \
            const type4 a4, const type5 a5) :                         \
              arg1 (a1), arg2(a2), arg3(a3), arg4(a4), arg5(a5) {};   \
-      virtual void PrintInfo (ostream &out) const {                   \
-        out outsequence << endl;                                      \
+      virtual void PrintInfo (std::ostream &out) const {              \
+        out outsequence << std::endl;                                 \
       };                                                              \
   private:                                                            \
       const type1 arg1;                                               \
index 69ef98668a6f87e425670c698a3d47ae1524339e..de66b9f6229219ab111ec31f6edfba769bc2f54e 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -49,13 +49,13 @@ template<typename number> class Vector;
  * components at a list of points at once:
  * @begin{verbatim}
  *                 // access to one component at several points
- *   void   value_list (const vector<Point<dim> >  &point_list,
- *                      vector<double>             &value_list,
+ *   void   value_list (const std::vector<Point<dim> >  &point_list,
+ *                      std::vector<double>             &value_list,
  *                      const unsigned int  component = 0) const;
  *
  *                 // return all components at several points
- *   void   vector_value_list (const vector<Point<dim> >    &point_list,
- *                             vector<Vector<double> >      &value_list) const;
+ *   void   vector_value_list (const std::vector<Point<dim> >    &point_list,
+ *                             std::vector<Vector<double> >      &value_list) const;
  * @end{verbatim}
  *
  * Furthermore, there are functions returning the gradient of the
@@ -162,9 +162,9 @@ class Function : public FunctionTime,
                                      * right size, i.e.  the same
                                      * size as the @p{points} array.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Set @p{values} to the point
@@ -177,8 +177,8 @@ class Function : public FunctionTime,
                                      * the same number of components
                                      * as this function has.
                                      */
-    virtual void vector_value_list (const vector<Point<dim> > &points,
-                                   vector<Vector<double> >   &values) const;
+    virtual void vector_value_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Vector<double> >   &values) const;
     
                                     /**
                                      * Return the gradient of the
@@ -193,8 +193,8 @@ class Function : public FunctionTime,
                                      * components of the
                                      * function at the given point.
                                      */
-    virtual void          vector_gradient (const Point<dim>       &p,
-                                          vector<Tensor<1,dim> > &gradients) const;
+    virtual void          vector_gradient (const Point<dim>            &p,
+                                          std::vector<Tensor<1,dim> > &gradients) const;
     
                                     /**
                                      * Set @p{gradients} to the
@@ -205,9 +205,9 @@ class Function : public FunctionTime,
                                      * right size, i.e.  the same
                                      * size as the @p{points} array.
                                      */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
     
                                     /**
                                      * Set @p{gradients} to the gradients of
@@ -223,8 +223,8 @@ class Function : public FunctionTime,
                                      * over the different components
                                      * of the function.
                                      */
-    virtual void vector_gradient_list (const vector<Point<dim> >       &points,
-                                      vector<vector<Tensor<1,dim> > > &gradients) const;
+    virtual void vector_gradient_list (const std::vector<Point<dim> >            &points,
+                                      std::vector<std::vector<Tensor<1,dim> > > &gradients) const;
 
                                     /**
                                      * Compute the Laplacian of a
@@ -239,22 +239,22 @@ class Function : public FunctionTime,
                                      * store them in @p{values}.
                                      */
     virtual void vector_laplacian (const Point<dim>   &p,
-                                    Vector<double>     &values) const;
+                                  Vector<double>     &values) const;
     
                                     /**
                                      * Compute the Laplacian of one
                                      * component at a set of points.
                                      */
-    virtual void laplacian_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component = 0) const;
 
                                     /**
                                      * Compute the Laplacians of all
                                      * components at a set of points.
                                      */
-    virtual void vector_laplacian_list (const vector<Point<dim> > &points,
-                                       vector<Vector<double> >   &values) const;
+    virtual void vector_laplacian_list (const std::vector<Point<dim> > &points,
+                                       std::vector<Vector<double> >   &values) const;
 
                                     /**
                                      * Determine an estimate for
@@ -265,7 +265,7 @@ class Function : public FunctionTime,
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
@@ -329,9 +329,9 @@ class ZeroFunction : public Function<dim>
                                      * the same size as the @p{points}
                                      * array.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Set @p{values} to the point values
@@ -342,8 +342,8 @@ class ZeroFunction : public Function<dim>
                                      * the same size as the @p{points}
                                      * array.
                                      */
-    virtual void vector_value_list (const vector<Point<dim> > &points,
-                                   vector<Vector<double> >   &values) const;
+    virtual void vector_value_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Vector<double> >   &values) const;
     
                                     /**
                                      * Return the gradient of the function
@@ -359,8 +359,8 @@ class ZeroFunction : public Function<dim>
                                      * function at the given point,
                                      * for all components.
                                      */
-    virtual void          vector_gradient (const Point<dim>       &p,
-                                          vector<Tensor<1,dim> > &gradients) const;
+    virtual void          vector_gradient (const Point<dim>            &p,
+                                          std::vector<Tensor<1,dim> > &gradients) const;
     
                                     /**
                                      * Set @p{gradients} to the gradients of
@@ -370,9 +370,9 @@ class ZeroFunction : public Function<dim>
                                      * already has the right size, i.e.
                                      * the same size as the @p{points} array.
                                      */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
     
                                     /**
                                      * Set @p{gradients} to the gradients of
@@ -388,8 +388,8 @@ class ZeroFunction : public Function<dim>
                                      * over the different components
                                      * of the function.
                                      */
-    virtual void vector_gradient_list (const vector<Point<dim> >       &points,
-                                      vector<vector<Tensor<1,dim> > > &gradients) const;
+    virtual void vector_gradient_list (const std::vector<Point<dim> >            &points,
+                                      std::vector<std::vector<Tensor<1,dim> > > &gradients) const;
 };
 
 
@@ -457,9 +457,9 @@ class ConstantFunction : public ZeroFunction<dim>
                                      * the same size as the @p{points}
                                      * array.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Set @p{values} to the point values
@@ -470,8 +470,8 @@ class ConstantFunction : public ZeroFunction<dim>
                                      * the same size as the @p{points}
                                      * array.
                                      */
-    virtual void vector_value_list (const vector<Point<dim> > &points,
-                                   vector<Vector<double> >   &values) const;
+    virtual void vector_value_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Vector<double> >   &values) const;
 
                                     /**
                                      * Determine an estimate for
@@ -482,7 +482,7 @@ class ConstantFunction : public ZeroFunction<dim>
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
@@ -538,8 +538,8 @@ class ComponentSelectFunction : public ConstantFunction<dim>
                                      * the same size as the @p{points}
                                      * array.
                                      */
-    virtual void vector_value_list (const vector<Point<dim> > &points,
-                                   vector<Vector<double> >   &values) const;
+    virtual void vector_value_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Vector<double> >   &values) const;
 
                                     /**
                                      * Determine an estimate for
@@ -550,7 +550,7 @@ class ComponentSelectFunction : public ConstantFunction<dim>
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
index 9400f0fff567a437cd29bd765c8b1c67c8339784..91375ee7064826c95db1c711292e80e5d368a031 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -86,9 +86,9 @@ class FunctionDerivative : public Function<dim>
                                     /**
                                      * Function values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;    
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;    
 
                                     /**
                                      * Determine an estimate for
@@ -99,7 +99,7 @@ class FunctionDerivative : public Function<dim>
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
index cf57ccac3cfa9b7c2c3782e56e60dd0752f53401..f0be7ae3fffa8fbddecc4fcbdd1b11c2224d0fcc 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -40,9 +40,9 @@ class SquareFunction : public Function<dim>
                                     /**
                                      * Function values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at one point.
@@ -52,10 +52,10 @@ class SquareFunction : public Function<dim>
 
                                     /**
                                        Gradients at multiple points.
-                                     */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
+                                    */
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
 
                                     /**
                                      * Laplacian of the function at one point.
@@ -66,9 +66,9 @@ class SquareFunction : public Function<dim>
                                     /**
                                      * Laplacian of the function at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component = 0) const;
 };
 
 
@@ -92,23 +92,23 @@ class Q1WedgeFunction : public Function<dim>
                                     /**
                                      * Function values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at one point.
                                      */
     virtual Tensor<1,dim> gradient (const Point<dim>   &p,
-                                   const unsigned int  component = 0) const;
+                                   const unsigned int       component = 0) const;
 
                                     /**
                                        Gradients at multiple points.
-                                     */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
-
+                                    */
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
+     
                                     /**
                                      * Laplacian of the function at one point.
                                      */
@@ -118,9 +118,9 @@ class Q1WedgeFunction : public Function<dim>
                                     /**
                                      * Laplacian of the function at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component = 0) const;
 };
 
 
@@ -159,9 +159,9 @@ class PillowFunction : public Function<dim>
                                     /**
                                      * Values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at a single point.
@@ -172,9 +172,9 @@ class PillowFunction : public Function<dim>
                                     /**
                                      * Gradients at multiple points.
                                      */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
 
                                     /**
                                      * Laplacian at a single point.
@@ -185,9 +185,9 @@ class PillowFunction : public Function<dim>
                                     /**
                                      * Laplacian at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component = 0) const;
   private:
     const double offset;
 };
@@ -213,9 +213,9 @@ class CosineFunction : public Function<dim>
                                     /**
                                      * Values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at a single point.
@@ -226,9 +226,9 @@ class CosineFunction : public Function<dim>
                                     /**
                                      * Gradients at multiple points.
                                      */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
 
                                     /**
                                      * Laplacian at a single point.
@@ -239,9 +239,9 @@ class CosineFunction : public Function<dim>
                                     /**
                                      * Laplacian at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component = 0) const;
 };
 
 
@@ -263,9 +263,9 @@ class ExpFunction : public Function<dim>
                                     /**
                                      * Values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at a single point.
@@ -276,9 +276,9 @@ class ExpFunction : public Function<dim>
                                     /**
                                      * Gradients at multiple points.
                                      */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
 
                                     /**
                                      * Laplacian at a single point.
@@ -289,9 +289,9 @@ class ExpFunction : public Function<dim>
                                     /**
                                      * Laplacian at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component = 0) const;
 };
 
 
@@ -312,22 +312,22 @@ class LSingularityFunction : public Function<2>
                                     /**
                                      * Values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<2> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<2> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at a single point.
                                      */
-    virtual Tensor<1,2> gradient (const Point<2>   &p,
-                                   const unsigned int  component = 0) const;
+    virtual Tensor<1,2> gradient (const Point<2>     &p,
+                                 const unsigned int  component = 0) const;
 
                                     /**
                                      * Gradients at multiple points.
                                      */
-    virtual void gradient_list (const vector<Point<2> > &points,
-                               vector<Tensor<1,2> >    &gradients,
-                               const unsigned int         component = 0) const;
+    virtual void gradient_list (const std::vector<Point<2> > &points,
+                               std::vector<Tensor<1,2> >    &gradients,
+                               const unsigned int            component = 0) const;
 
                                     /**
                                      * Laplacian at a single point.
@@ -338,9 +338,9 @@ class LSingularityFunction : public Function<2>
                                     /**
                                      * Laplacian at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<2> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<2> > &points,
+                                std::vector<double>          &values,
+                                const unsigned int            component = 0) const;
 };
 
 
@@ -361,22 +361,22 @@ class SlitSingularityFunction : public Function<2>
                                     /**
                                      * Values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<2> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<2> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at a single point.
                                      */
     virtual Tensor<1,2> gradient (const Point<2>   &p,
-                                   const unsigned int  component = 0) const;
+                                 const unsigned int  component = 0) const;
 
                                     /**
                                      * Gradients at multiple points.
                                      */
-    virtual void gradient_list (const vector<Point<2> > &points,
-                               vector<Tensor<1,2> >    &gradients,
-                               const unsigned int         component = 0) const;
+    virtual void gradient_list (const std::vector<Point<2> > &points,
+                               std::vector<Tensor<1,2> >    &gradients,
+                               const unsigned int            component = 0) const;
 
                                     /**
                                      * Laplacian at a single point.
@@ -387,9 +387,9 @@ class SlitSingularityFunction : public Function<2>
                                     /**
                                      * Laplacian at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<2> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<2> > &points,
+                                std::vector<double>          &values,
+                                const unsigned int            component = 0) const;
 };
 
 
@@ -428,9 +428,9 @@ class JumpFunction : public Function<dim>
                                     /**
                                      * Function values at multiple points.
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 
                                     /**
                                      * Gradient at one point.
@@ -440,10 +440,10 @@ class JumpFunction : public Function<dim>
 
                                     /**
                                        Gradients at multiple points.
-                                     */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<1,dim> >    &gradients,
-                               const unsigned int         component = 0) const;
+                                    */
+    virtual void gradient_list (const std::vector<Point<dim> > &points,
+                               std::vector<Tensor<1,dim> >    &gradients,
+                               const unsigned int              component = 0) const;
 
                                     /**
                                      * Laplacian of the function at one point.
@@ -454,9 +454,9 @@ class JumpFunction : public Function<dim>
                                     /**
                                      * Laplacian of the function at multiple points.
                                      */
-    virtual void laplacian_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component = 0) const;
+    virtual void laplacian_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component = 0) const;
 
                                     /**
                                      * Determine an estimate for
@@ -467,7 +467,7 @@ class JumpFunction : public Function<dim>
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
index e126e909029303260b4a28c27543de355cc710e8..fa0136cc44b53726f45007ae13a27cfce6366961 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 72babfc1751e28de4b646ae2cba2282c5101a686..ac9e87db0b9bd1b36ba5728c09814c37cc982a72 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 class JobIdentifier
 {
   public:
+                                    /**
+                                     * Constructor. Set program
+                                     * identifier to value of
+                                     * @p{program_id} concatenated
+                                     * with the present time.
+                                     */
     JobIdentifier();
-    ~JobIdentifier();
-    
+
+                                    /**
+                                     * ???
+                                     */
     static const char* program_id();
-    const string operator () ()const;
+
+                                    /**
+                                     * Return the value of @p{id}.
+                                     */
+    const std::string operator () ()const;
+    
   private:
-    string id;
+                                    /**
+                                     * String holding the identifier
+                                     * of the presently running
+                                     * program.
+                                     */
+    std::string id;
 };
 
 
 /*------------------------------ Inline functions ------------------------------*/
 
+
+/**
+ * Global object to identify the presently running program.
+ */
 extern JobIdentifier dealjobid;
 
 #endif
index b73a7ed0d1ad30d79610830360d5e3bfffbcb03d..221beacb363810a3b46365a8a43a41d5c01db2e3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
  * The usual usage of this class is through the pregenerated object
  * @p{deallog}. Typical steps are
  * @begin{itemize}
- * @item @p{deallog.attach(ostream)}: write logging information into a file.
+ * @item @p{deallog.attach(std::ostream)}: write logging information into a file.
  * @item @p{deallog.depth_console(n)}: restrict output on screen to outer loops.
  * @item Before entering a new phase of your program, e.g. a new loop,
  *       @p{deallog.push("loopname")}.
- * @item @p{deallog << anything << endl;} to write logging information
- *       (Usage of @p{endl} is mandatory!).
+ * @item @p{deallog << anything << std::endl;} to write logging information
+ *       (Usage of @p{std::endl} is mandatory!).
  * @item @p{deallog.pop()} when leaving that stage entered with @p{push}.
  * @end{itemize}
  *
@@ -54,15 +54,15 @@ class LogStream
                                      * allow identification where the
                                      * output was generated.
                                      */
-    stack<string> prefixes;
+    std::stack<std::string> prefixes;
 
                                     /**
                                      * Default stream, where the output
                                      * is to go to. This stream defaults
-                                     * to @p{cerr}, but can be set to another
+                                     * to @p{std::cerr}, but can be set to another
                                      * stream through the constructor.
                                      */
-    ostream  *std_out;
+    std::ostream  *std_out;
 
                                     /**
                                      * Pointer to a stream, where a copy of
@@ -72,7 +72,7 @@ class LogStream
                                      * You can set and reset this stream
                                      * by the @p{attach} function.
                                      */
-    ostream  *file;
+    std::ostream  *file;
 
                                     /**
                                      * Flag which stores whether the
@@ -113,7 +113,7 @@ class LogStream
                                      * Standard constructor, since we
                                      * intend to provide an object
                                      * @p{deallog} in the library. Set the
-                                     * standard output stream to @p{cerr}.
+                                     * standard output stream to @p{std::cerr}.
                                      */
     LogStream();
     
@@ -121,7 +121,7 @@ class LogStream
                                      * Enable output to a second
                                      * stream @p{o}.
                                      */
-    void attach(ostream& o);
+    void attach(std::ostream& o);
     
                                     /**
                                      * Disable output to the second
@@ -134,12 +134,12 @@ class LogStream
                                     /**
                                      * Gives the default stream (@p{std_out}).
                                      */
-    ostream& get_console();
+    std::ostream& get_console();
 
                                     /**
                                      * Gives the file stream.
                                      */
-    ostream& get_file_stream();
+    std::ostream& get_file_stream();
     
                                     /**
                                      * Push another prefix on the
@@ -148,7 +148,7 @@ class LogStream
                                      * colon and there is a double
                                      * colon after the last prefix.
                                      */
-    void push (const string& text);
+    void push (const std::string& text);
         
                                     /**
                                      * Remove the last prefix.
@@ -200,14 +200,14 @@ class LogStream
                                      * function on the present object. It
                                      * works the same way as it is possible
                                      * to output the stream manipulators
-                                     * (like @p{endl}, etc) work on standard
-                                     * streams: @p{stream << endl;}. We need
+                                     * (like @p{std::endl}, etc) work on standard
+                                     * streams: @p{stream << std::endl;}. We need
                                      * to overload this function in order
                                      * to know when we have to print the
                                      * prefixes, since a user may use several
                                      * calls to @p{operator <<} before the
                                      * line is complete. The overloaded
-                                     * function @p{void endl(LogStream &)}
+                                     * function @p{void std::endl(LogStream &)}
                                      * tells the @p{LogStream} that the end of
                                      * the line is reached.
                                      */
@@ -223,7 +223,7 @@ class LogStream
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
@@ -261,7 +261,7 @@ LogStream &
 LogStream::operator<< (const T& t)
 {
                                   // if the previous command was an
-                                  // @p{endl}, print the topmost prefix
+                                  // @p{std::endl}, print the topmost prefix
                                   // and a colon
   if (was_endl)
     {
@@ -281,10 +281,10 @@ LogStream::operator<< (const T& t)
 
 
 /**
- * Replacement of @p{endl} for @p{LogStream}.
+ * Replacement of @p{std::endl} for @p{LogStream}.
  *
- * Overloaded version of the stream manipulator function @p{endl} which
- * results in calling the original version of @p{endl} for each of the
+ * Overloaded version of the stream manipulator function @p{std::endl} which
+ * results in calling the original version of @p{std::endl} for each of the
  * two streams, if the present prefix number does not exceed the
  * specified maximal number.
  *
@@ -293,10 +293,10 @@ LogStream::operator<< (const T& t)
 inline void endl(LogStream& s)
 {
   if (s.prefixes.size() <= s.std_depth)
-    *s.std_out << endl;
+    *s.std_out << std::endl;
 
   if (s.file && (s.prefixes.size() <= s.file_depth))
-    *s.file << endl;
+    *s.file << std::endl;
 
   s.was_endl = true;
 };
@@ -312,3 +312,5 @@ extern LogStream deallog;
 
 #endif
 
+
+
index b139bfec099ba37ad2563e36efff90edbc5ee15c..1df064f48a60b9d1bc7c4138dc8cca6b46f8b426 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -24,7 +24,7 @@
  * This namespace provides functions helping to determine the amount
  * of memory used by objects. The goal is not necessarily to give the
  * amount of memory used up to the last bit (what is the memory used
- * by an STL @p{map<>} object?), but rather to aid in the search for
+ * by an STL @p{std::map<>} object?), but rather to aid in the search for
  * memory bottlenecks.
  *
  * The functions in this namespace work basically by reducing each
  * operator to it. If this is not the case, then try to reduce it to
  * more basic types.
  *
- * For example, if it is a C-style array or a standard C++ @p{vector},
+ * For example, if it is a C-style array or a standard C++ @p{std::vector},
  * then sum up the sizes of the array elements by calling
  * @p{memory_consumption} on each of them. This way, we can also
- * reduce objects of type @p{vector<vector<double> >} to its atomic
+ * reduce objects of type @p{std::vector<std::vector<double> >} to its atomic
  * types, and can thus determine the memory used even if the sizes of
  * the elements of the outermost vector differ (e.g. the first
  * sub-vector has 3 and the second sub-vector has 10 elements).
  *
  * There are two exceptions to simply adding up the sizes of the
- * subobjects: for C++ @p{vector} objects, we also have to add the
+ * subobjects: for C++ @p{std::vector} objects, we also have to add the
  * size of the vector object, i.e. @p{sizeof(vector<T>)}, to the sizes
  * of the elements. Secondly, for the most common used vectors, such
- * as @p{vector<double>} and @p{vector<unsigned int>} we determine the
+ * as @p{std::vector<double>} and @p{std::vector<unsigned int>} we determine the
  * size without a loop but rather directly, since we know that the
  * sizes of the elements are constant.
  *
@@ -141,15 +141,15 @@ namespace MemoryConsumption
                                   /**
                                    * Determine an estimate of the
                                    * amount of memory in bytes
-                                   * consumed by a @p{string}
+                                   * consumed by a @p{std::string}
                                    * variable.
                                    */
-  unsigned int memory_consumption (const string &s);
+  unsigned int memory_consumption (const std::string &s);
 
                                   /**
                                    * Determine an estimate of the
                                    * amount of memory in bytes
-                                   * consumed by a @p{vector} of
+                                   * consumed by a @p{std::vector} of
                                    * certain elements. It does so by
                                    * looping over all elements of the
                                    * vector and determining their
@@ -194,7 +194,7 @@ namespace MemoryConsumption
                                    * vectors of bools.
                                    */
   template <typename T>
-  unsigned int memory_consumption (const vector<T> &v);
+  unsigned int memory_consumption (const std::vector<T> &v);
 
                                   /**
                                    * Estimate the amount of memory
@@ -204,10 +204,10 @@ namespace MemoryConsumption
                                    * store simple data elements
                                    * like @p{double}s in such
                                    * arrays (but rather use STL
-                                   * @p{vector}s or deal.II
+                                   * @p{std::vector}s or deal.II
                                    * @p{Vector} objects), we do not
                                    * provide specializations like
-                                   * for the @p{vector} arrays, but
+                                   * for the @p{std::vector} arrays, but
                                    * always use the loop over all
                                    * elements.
                                    */
@@ -225,7 +225,7 @@ namespace MemoryConsumption
                                    * one-by-one, but as a bit
                                    * field.
                                    */
-  unsigned int memory_consumption (const vector<bool> &v);
+  unsigned int memory_consumption (const std::vector<bool> &v);
     
                                   /**
                                    * Specialization of the
@@ -233,7 +233,7 @@ namespace MemoryConsumption
                                    * consumption of a vector, here
                                    * for a vector of @p{int}s.
                                    */
-  unsigned int memory_consumption (const vector<int> &v);
+  unsigned int memory_consumption (const std::vector<int> &v);
     
                                   /**
                                    * Specialization of the
@@ -241,7 +241,7 @@ namespace MemoryConsumption
                                    * consumption of a vector, here
                                    * for a vector of @p{double}s.
                                    */
-  unsigned int memory_consumption (const vector<double> &v);
+  unsigned int memory_consumption (const std::vector<double> &v);
     
                                   /**
                                    * Specialization of the
@@ -249,7 +249,7 @@ namespace MemoryConsumption
                                    * consumption of a vector, here
                                    * for a vector of @p{float}s.
                                    */
-  unsigned int memory_consumption (const vector<float> &v);
+  unsigned int memory_consumption (const std::vector<float> &v);
     
                                   /**
                                    * Specialization of the
@@ -257,7 +257,7 @@ namespace MemoryConsumption
                                    * consumption of a vector, here
                                    * for a vector of @p{char}s.
                                    */
-  unsigned int memory_consumption (const vector<char> &v);
+  unsigned int memory_consumption (const std::vector<char> &v);
     
                                   /**
                                    * Specialization of the
@@ -265,7 +265,7 @@ namespace MemoryConsumption
                                    * consumption of a vector, here
                                    * for a vector of @p{unsigned char}s.
                                    */
-  unsigned int memory_consumption (const vector<unsigned char> &v);
+  unsigned int memory_consumption (const std::vector<unsigned char> &v);
     
                                   /**
                                    * Specialization of the
@@ -274,7 +274,7 @@ namespace MemoryConsumption
                                    * for a vector of pointers.
                                    */
   template <typename T>
-  unsigned int memory_consumption (const vector<T *> &v);
+  unsigned int memory_consumption (const std::vector<T *> &v);
 
                                   /**
                                    * Determine an estimate of the
@@ -282,7 +282,7 @@ namespace MemoryConsumption
                                    * consumed by a pair of values.
                                    */
   template <typename A, typename B>
-  unsigned int memory_consumption (const pair<A,B> &p);
+  unsigned int memory_consumption (const std::pair<A,B> &p);
     
                                   /**
                                    * Return the amount of memory
@@ -414,9 +414,9 @@ namespace MemoryConsumption
 
 
   template <typename T>
-  unsigned int memory_consumption (const vector<T> &v)
+  unsigned int memory_consumption (const std::vector<T> &v)
   {
-    unsigned int mem = sizeof(vector<T>);
+    unsigned int mem = sizeof(std::vector<T>);
     const unsigned int n = v.size();
     for (unsigned int i=0; i<n; ++i)
       mem += memory_consumption(v[i]);
@@ -438,7 +438,7 @@ namespace MemoryConsumption
 
 
   inline
-  unsigned int memory_consumption (const vector<bool> &v)
+  unsigned int memory_consumption (const std::vector<bool> &v)
   {
     return v.capacity() / 8 + sizeof(v);
   };
@@ -446,7 +446,7 @@ namespace MemoryConsumption
 
   
   inline
-  unsigned int memory_consumption (const vector<int> &v)
+  unsigned int memory_consumption (const std::vector<int> &v)
   {
     return (v.capacity() * sizeof(int) +
            sizeof(v));
@@ -455,7 +455,7 @@ namespace MemoryConsumption
     
 
   inline
-  unsigned int memory_consumption (const vector<double> &v)
+  unsigned int memory_consumption (const std::vector<double> &v)
   {
     return (v.capacity() * sizeof(double) +
            sizeof(v));
@@ -464,7 +464,7 @@ namespace MemoryConsumption
     
 
   inline
-  unsigned int memory_consumption (const vector<float> &v)
+  unsigned int memory_consumption (const std::vector<float> &v)
   {
     return (v.capacity() * sizeof(float) +
            sizeof(v));
@@ -473,7 +473,7 @@ namespace MemoryConsumption
     
        
   inline
-  unsigned int memory_consumption (const vector<char> &v)
+  unsigned int memory_consumption (const std::vector<char> &v)
   {
     return (v.capacity() * sizeof(char) +
            sizeof(v));
@@ -482,7 +482,7 @@ namespace MemoryConsumption
 
     
   inline
-  unsigned int memory_consumption (const vector<unsigned char> &v)
+  unsigned int memory_consumption (const std::vector<unsigned char> &v)
   {
     return (v.capacity() * sizeof(unsigned char) +
            sizeof(v));
@@ -492,7 +492,7 @@ namespace MemoryConsumption
     
   template <typename T>
   inline
-  unsigned int memory_consumption (const vector<T *> &v)
+  unsigned int memory_consumption (const std::vector<T *> &v)
   {
     return (v.capacity() * sizeof(T *) +
            sizeof(v));
@@ -502,7 +502,7 @@ namespace MemoryConsumption
                                    
   template <typename A, typename B>
   inline
-  unsigned int memory_consumption (const pair<A,B> &p)
+  unsigned int memory_consumption (const std::pair<A,B> &p)
   {
     return (memory_consumption(p.first) +
            memory_consumption(p.second));
index e2f277d5ef4d022938f7a3651edd58773dff99ac..fdc42b74c8b290fc4397314971604eab50d2bf8b 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -74,7 +74,7 @@ class MultithreadInfo
                                      * not be determined exactly
                                      * (for example: what is the
                                      * memory consumption of an
-                                     * STL @p{map} type with a
+                                     * STL @p{std::map} type with a
                                      * certain number of
                                      * elements?), this is only
                                      * an estimate. however often
index ef5b0e87a6a061e4a5810c25790d6c8b60cd77dd..aac88a1ed6e5b3873804d5e90de14c58c46d8c59 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -24,8 +24,7 @@ class MultipleParameterLoop;
 #include <string>
 #include <base/exceptions.h>
 
-class istream;
-class ostream;
+// forward declaration
 class LogStream;
 
 /**
@@ -42,92 +41,92 @@ enum OutputStyle {
  */ 
 namespace Patterns
 {
-                                    /**
-                                     * Base class to declare common
-                                     * interface.
+                                  /**
+                                   * Base class to declare common
+                                   * interface.
                                      */
-    class PatternBase
-    {
-      public:
-                                        /**
-                                         * Make destructor of this and all
-                                         * derived classes virtual.
-                                         */
-       virtual ~PatternBase ();
+  class PatternBase
+  {
+    public:
+                                      /**
+                                       * Make destructor of this and all
+                                       * derived classes virtual.
+                                       */
+      virtual ~PatternBase ();
        
-                                        /**
-                                         * Return true if the given string
-                                         * matches the pattern.
-                                         */
-       virtual bool match (const string &test_string) const = 0;
+                                      /**
+                                       * Return true if the given string
+                                       * matches the pattern.
+                                       */
+      virtual bool match (const std::string &test_string) const = 0;
        
-                                        /**
-                                         * Return a string describing the
-                                         * pattern.
-                                         */
-       virtual string description () const = 0;
+                                      /**
+                                       * Return a string describing the
+                                       * pattern.
+                                       */
+      virtual std::string description () const = 0;
        
-                                        /**
-                                         * Return a pointer to an
-                                         * exact copy of the
-                                         * object. This is necessary
-                                         * since we want to store
-                                         * objects of this type in
-                                         * containers, were we need
-                                         * to copy objects without
-                                         * knowledge of their actual
-                                         * data type (we only have
-                                         * pointers to the base
-                                         * class).
-                                         *
-                                         * Ownership of the objects
-                                         * returned by this function
-                                         * is passed to the caller of
-                                         * this function.
-                                         */
-       virtual PatternBase * clone () const = 0;
-
-                                        /**
-                                         * Determine an estimate for
-                                         * the memory consumption (in
-                                         * bytes) of this object. To
-                                         * avoid unnecessary
-                                         * overhead, we do not force
-                                         * derivd classes to provide
-                                         * this function as a virtual
-                                         * overloaded one, but rather
-                                         * try to cast the present
-                                         * object to one of the known
-                                         * derived classes and if
-                                         * that fails then take the
-                                         * size of this base class
-                                         * instead and add 32 byte
-                                         * (this value is arbitrary,
-                                         * it should account for
-                                         * virtual function tables,
-                                         * and some possible data
-                                         * elements). Since there are
-                                         * usually not many thousands
-                                         * of objects of this type
-                                         * around, and since the
-                                         * @p{memory_consumption}
-                                         * mechanism is used to find
-                                         * out where memory in the
-                                         * range of many megabytes
-                                         * is, this seems like a
-                                         * reasonable approximation.
-                                         *
-                                         * On the other hand, if you
-                                         * know that your class
-                                         * deviates from this
-                                         * assumption significantly,
-                                         * you can still overload
-                                         * this function.
-                                         */
-       virtual unsigned int memory_consumption () const;
-    };
+                                      /**
+                                       * Return a pointer to an
+                                       * exact copy of the
+                                       * object. This is necessary
+                                       * since we want to store
+                                       * objects of this type in
+                                       * containers, were we need
+                                       * to copy objects without
+                                       * knowledge of their actual
+                                       * data type (we only have
+                                       * pointers to the base
+                                       * class).
+                                       *
+                                       * Ownership of the objects
+                                       * returned by this function
+                                       * is passed to the caller of
+                                       * this function.
+                                       */
+      virtual PatternBase * clone () const = 0;
+
+                                      /**
+                                       * Determine an estimate for
+                                       * the memory consumption (in
+                                       * bytes) of this object. To
+                                       * avoid unnecessary
+                                       * overhead, we do not force
+                                       * derivd classes to provide
+                                       * this function as a virtual
+                                       * overloaded one, but rather
+                                       * try to cast the present
+                                       * object to one of the known
+                                       * derived classes and if
+                                       * that fails then take the
+                                       * size of this base class
+                                       * instead and add 32 byte
+                                       * (this value is arbitrary,
+                                       * it should account for
+                                       * virtual function tables,
+                                       * and some possible data
+                                       * elements). Since there are
+                                       * usually not many thousands
+                                       * of objects of this type
+                                       * around, and since the
+                                       * @p{memory_consumption}
+                                       * mechanism is used to find
+                                       * out where memory in the
+                                       * range of many megabytes
+                                       * is, this seems like a
+                                       * reasonable approximation.
+                                       *
+                                       * On the other hand, if you
+                                       * know that your class
+                                       * deviates from this
+                                       * assumption significantly,
+                                       * you can still overload
+                                       * this function.
+                                       */
+      virtual unsigned int memory_consumption () const;
+  };
     
-                                    /**
+                                  /**
                                      * Test for the string being an
                                      * integer. If bounds are given
                                      * to the constructor, then the
@@ -161,82 +160,82 @@ namespace Patterns
                                      * performed), or in many other
                                      * cases.
                                      */
-    class Integer : public PatternBase
-    {
-      public:
-                                        /**
-                                         * Constructor. Bounds can be
-                                         * specified within which a
-                                         * valid parameter has to
-                                         * be. If the upper bound is
-                                         * smaller than the lower
-                                         * bound, then the infinite
-                                         * interval is meant. The
-                                         * default values are chosen
-                                         * such that no bounds are
-                                         * enforced on parameters.
-                                         */
-       Integer (const int lower_bound = 1,
-                const int upper_bound = 0);
+  class Integer : public PatternBase
+  {
+    public:
+                                      /**
+                                       * Constructor. Bounds can be
+                                       * specified within which a
+                                       * valid parameter has to
+                                       * be. If the upper bound is
+                                       * smaller than the lower
+                                       * bound, then the infinite
+                                       * interval is meant. The
+                                       * default values are chosen
+                                       * such that no bounds are
+                                       * enforced on parameters.
+                                       */
+      Integer (const int lower_bound = 1,
+              const int upper_bound = 0);
        
-                                        /**
-                                         * Return @p{true} if the
-                                         * string is an integer and
-                                         * its value is within the
-                                         * specified range.
-                                         */
-       virtual bool match (const string &test_string) const;
-
-                                        /**
-                                         * Return a description of
-                                         * the pattern that valid
-                                         * string are expected to
-                                         * match. If bounds were
-                                         * specified to the
-                                         * constructor, then include
-                                         * them into this
-                                         * description.
-                                         */
-       virtual string description () const;
-
-                                        /**
-                                         * Return a copy of the
-                                         * present object, which is
-                                         * newly allocated on the
-                                         * heap. Ownership of that
-                                         * object is transferred to
-                                         * the caller of this
-                                         * function.
-                                         */
-       virtual PatternBase * clone () const;
+                                      /**
+                                       * Return @p{true} if the
+                                       * string is an integer and
+                                       * its value is within the
+                                       * specified range.
+                                       */
+      virtual bool match (const std::string &test_string) const;
+
+                                      /**
+                                       * Return a description of
+                                       * the pattern that valid
+                                       * string are expected to
+                                       * match. If bounds were
+                                       * specified to the
+                                       * constructor, then include
+                                       * them into this
+                                       * description.
+                                       */
+      virtual std::string description () const;
+
+                                      /**
+                                       * Return a copy of the
+                                       * present object, which is
+                                       * newly allocated on the
+                                       * heap. Ownership of that
+                                       * object is transferred to
+                                       * the caller of this
+                                       * function.
+                                       */
+      virtual PatternBase * clone () const;
        
-      private:
-                                        /**
-                                         * Value of the lower
-                                         * bound. A number that
-                                         * satisfies the @p{match}
-                                         * operation of this class
-                                         * must be equal to this
-                                         * value or larger, if the
-                                         * bounds of the interval for
-                                         * a valid range.
-                                         */
-       const int lower_bound;
-
-                                        /**
-                                         * Value of the upper
-                                         * bound. A number that
-                                         * satisfies the @p{match}
-                                         * operation of this class
-                                         * must be equal to this
-                                         * value or less, if the
-                                         * bounds of the interval for
-                                         * a valid range.
-                                         */
-       const int upper_bound;
-    };
+    private:
+                                      /**
+                                       * Value of the lower
+                                       * bound. A number that
+                                       * satisfies the @p{match}
+                                       * operation of this class
+                                       * must be equal to this
+                                       * value or larger, if the
+                                       * bounds of the interval for
+                                       * a valid range.
+                                       */
+      const int lower_bound;
+
+                                      /**
+                                       * Value of the upper
+                                       * bound. A number that
+                                       * satisfies the @p{match}
+                                       * operation of this class
+                                       * must be equal to this
+                                       * value or less, if the
+                                       * bounds of the interval for
+                                       * a valid range.
+                                       */
+      const int upper_bound;
+  };
     
-                                    /**
+                                  /**
                                      * Test for the string being a
                                      * @p{double}. If bounds are
                                      * given to the constructor, then
@@ -271,82 +270,82 @@ namespace Patterns
                                      * between zero and one), or in
                                      * many other cases.
                                      */
-    class Double : public PatternBase
-    {
-      public:
-                                        /**
-                                         * Constructor. Bounds can be
-                                         * specified within which a
-                                         * valid parameter has to
-                                         * be. If the upper bound is
-                                         * smaller than the lower
-                                         * bound, then the infinite
-                                         * interval is meant. The
-                                         * default values are chosen
-                                         * such that no bounds are
-                                         * enforced on parameters.
-                                         */
-       Double (const int lower_bound = 1,
-                const int upper_bound = 0);
+  class Double : public PatternBase
+  {
+    public:
+                                      /**
+                                       * Constructor. Bounds can be
+                                       * specified within which a
+                                       * valid parameter has to
+                                       * be. If the upper bound is
+                                       * smaller than the lower
+                                       * bound, then the infinite
+                                       * interval is meant. The
+                                       * default values are chosen
+                                       * such that no bounds are
+                                       * enforced on parameters.
+                                       */
+      Double (const int lower_bound = 1,
+             const int upper_bound = 0);
        
-                                        /**
-                                         * Return @p{true} if the
-                                         * string is a number and its
-                                         * value is within the
-                                         * specified range.
-                                         */
-       virtual bool match (const string &test_string) const;
-
-                                        /**
-                                         * Return a description of
-                                         * the pattern that valid
-                                         * string are expected to
-                                         * match. If bounds were
-                                         * specified to the
-                                         * constructor, then include
-                                         * them into this
-                                         * description.
-                                         */
-       virtual string description () const;
-
-                                        /**
-                                         * Return a copy of the
-                                         * present object, which is
-                                         * newly allocated on the
-                                         * heap. Ownership of that
-                                         * object is transferred to
-                                         * the caller of this
-                                         * function.
-                                         */
-       virtual PatternBase * clone () const;
+                                      /**
+                                       * Return @p{true} if the
+                                       * string is a number and its
+                                       * value is within the
+                                       * specified range.
+                                       */
+      virtual bool match (const std::string &test_string) const;
+
+                                      /**
+                                       * Return a description of
+                                       * the pattern that valid
+                                       * string are expected to
+                                       * match. If bounds were
+                                       * specified to the
+                                       * constructor, then include
+                                       * them into this
+                                       * description.
+                                       */
+      virtual std::string description () const;
+
+                                      /**
+                                       * Return a copy of the
+                                       * present object, which is
+                                       * newly allocated on the
+                                       * heap. Ownership of that
+                                       * object is transferred to
+                                       * the caller of this
+                                       * function.
+                                       */
+      virtual PatternBase * clone () const;
        
-      private:
-                                        /**
-                                         * Value of the lower
-                                         * bound. A number that
-                                         * satisfies the @p{match}
-                                         * operation of this class
-                                         * must be equal to this
-                                         * value or larger, if the
-                                         * bounds of the interval for
-                                         * a valid range.
-                                         */
-       const int lower_bound;
-
-                                        /**
-                                         * Value of the upper
-                                         * bound. A number that
-                                         * satisfies the @p{match}
-                                         * operation of this class
-                                         * must be equal to this
-                                         * value or less, if the
-                                         * bounds of the interval for
-                                         * a valid range.
-                                         */
-       const int upper_bound;
-    };
+    private:
+                                      /**
+                                       * Value of the lower
+                                       * bound. A number that
+                                       * satisfies the @p{match}
+                                       * operation of this class
+                                       * must be equal to this
+                                       * value or larger, if the
+                                       * bounds of the interval for
+                                       * a valid range.
+                                       */
+      const int lower_bound;
+
+                                      /**
+                                       * Value of the upper
+                                       * bound. A number that
+                                       * satisfies the @p{match}
+                                       * operation of this class
+                                       * must be equal to this
+                                       * value or less, if the
+                                       * bounds of the interval for
+                                       * a valid range.
+                                       */
+      const int upper_bound;
+  };
     
-                                    /**
+                                  /**
                                      * Test for the string being one
                                      * of a sequence of values given
                                      * like a regular expression. For
@@ -360,67 +359,67 @@ namespace Patterns
                                      * pipe signs do not matter and
                                      * are eliminated.
                                      */
-    class Selection : public PatternBase
-    {
-      public:
-                                        /**
-                                         * Constructor. Take the
-                                         * given parameter as the
-                                         * specification of valid
-                                         * strings.
-                                         */
-       Selection (const string &seq);
-
-                                        /**
-                                         * Return @p{true} if the
-                                         * string is an element of
-                                         * the description list
-                                         * passed to the constructor.
-                                         */
-       virtual bool match (const string &test_string) const;
-
-                                        /**
-                                         * Return a description of
-                                         * the pattern that valid
-                                         * string are expected to
-                                         * match. Here, this is the
-                                         * list of valid strings
-                                         * passed to the constructor.
-                                         */
-       virtual string description () const;
+  class Selection : public PatternBase
+  {
+    public:
+                                      /**
+                                       * Constructor. Take the
+                                       * given parameter as the
+                                       * specification of valid
+                                       * strings.
+                                       */
+      Selection (const std::string &seq);
+
+                                      /**
+                                       * Return @p{true} if the
+                                       * string is an element of
+                                       * the description list
+                                       * passed to the constructor.
+                                       */
+      virtual bool match (const std::string &test_string) const;
+
+                                      /**
+                                       * Return a description of
+                                       * the pattern that valid
+                                       * string are expected to
+                                       * match. Here, this is the
+                                       * list of valid strings
+                                       * passed to the constructor.
+                                       */
+      virtual std::string description () const;
+
+                                      /**
+                                       * Return a copy of the
+                                       * present object, which is
+                                       * newly allocated on the
+                                       * heap. Ownership of that
+                                       * object is transferred to
+                                       * the caller of this
+                                       * function.
+                                       */
+      virtual PatternBase * clone () const;
+
+                                      /**
+                                       * Determine an estimate for
+                                       * the memory consumption (in
+                                       * bytes) of this object.
+                                       */
+      unsigned int memory_consumption () const;
+
+    private:
+                                      /**
+                                       * List of valid strings as
+                                       * passed to the
+                                       * constructor. We don't make
+                                       * this string constant, as
+                                       * we process it somewhat in
+                                       * the constructor.
+                                       */
+      std::string sequence;
+  };
 
-                                        /**
-                                         * Return a copy of the
-                                         * present object, which is
-                                         * newly allocated on the
-                                         * heap. Ownership of that
-                                         * object is transferred to
-                                         * the caller of this
-                                         * function.
-                                         */
-       virtual PatternBase * clone () const;
-
-                                        /**
-                                         * Determine an estimate for
-                                         * the memory consumption (in
-                                         * bytes) of this object.
-                                         */
-       unsigned int memory_consumption () const;
-
-      private:
-                                        /**
-                                         * List of valid strings as
-                                         * passed to the
-                                         * constructor. We don't make
-                                         * this string constant, as
-                                         * we process it somewhat in
-                                         * the constructor.
-                                         */
-       string sequence;
-    };
 
-
-                                    /**
+                                  /**
                                      * This class is much like the
                                      * @p{Selection} class, but it
                                      * allows the input to be a
@@ -440,142 +439,142 @@ namespace Patterns
                                      * values given to the
                                      * constructor.
                                      */
-    class MultipleSelection : public PatternBase
-    {
-      public:
-                                        /**
-                                         * Constructor. Take the
-                                         * given parameter as the
-                                         * specification of valid
-                                         * strings.
-                                         */
-       MultipleSelection (const string &seq);
-
-                                        /**
-                                         * Return @p{true} if the
-                                         * string is an element of
-                                         * the description list
-                                         * passed to the constructor.
-                                         */
-       virtual bool match (const string &test_string) const;
-
-                                        /**
-                                         * Return a description of
-                                         * the pattern that valid
-                                         * string are expected to
-                                         * match. Here, this is the
-                                         * list of valid strings
-                                         * passed to the constructor.
-                                         */
-       virtual string description () const;
-
-                                        /**
-                                         * Return a copy of the
-                                         * present object, which is
-                                         * newly allocated on the
-                                         * heap. Ownership of that
-                                         * object is transferred to
-                                         * the caller of this
-                                         * function.
-                                         */
-       virtual PatternBase * clone () const;
-
-                                        /**
-                                         * Determine an estimate for
-                                         * the memory consumption (in
-                                         * bytes) of this object.
-                                         */
-       unsigned int memory_consumption () const;
-
-                                        /**
-                                         * Exception.
-                                         */
-       DeclException1 (ExcCommasNotAllowed,
-                       int,
-                       << "A comma was found at position " << arg1
-                       << " of your input string, but commas are not allowed here.");
+  class MultipleSelection : public PatternBase
+  {
+    public:
+                                      /**
+                                       * Constructor. Take the
+                                       * given parameter as the
+                                       * specification of valid
+                                       * strings.
+                                       */
+      MultipleSelection (const std::string &seq);
+
+                                      /**
+                                       * Return @p{true} if the
+                                       * string is an element of
+                                       * the description list
+                                       * passed to the constructor.
+                                       */
+      virtual bool match (const std::string &test_string) const;
+
+                                      /**
+                                       * Return a description of
+                                       * the pattern that valid
+                                       * string are expected to
+                                       * match. Here, this is the
+                                       * list of valid strings
+                                       * passed to the constructor.
+                                       */
+      virtual std::string description () const;
+
+                                      /**
+                                       * Return a copy of the
+                                       * present object, which is
+                                       * newly allocated on the
+                                       * heap. Ownership of that
+                                       * object is transferred to
+                                       * the caller of this
+                                       * function.
+                                       */
+      virtual PatternBase * clone () const;
+
+                                      /**
+                                       * Determine an estimate for
+                                       * the memory consumption (in
+                                       * bytes) of this object.
+                                       */
+      unsigned int memory_consumption () const;
+
+                                      /**
+                                       * Exception.
+                                       */
+      DeclException1 (ExcCommasNotAllowed,
+                     int,
+                     << "A comma was found at position " << arg1
+                     << " of your input string, but commas are not allowed here.");
        
-      private:
-                                        /**
-                                         * List of valid strings as
-                                         * passed to the
-                                         * constructor. We don't make
-                                         * this string constant, as
-                                         * we process it somewhat in
-                                         * the constructor.
-                                         */
-       string sequence;
-    };
+    private:
+                                      /**
+                                       * List of valid strings as
+                                       * passed to the
+                                       * constructor. We don't make
+                                       * this string constant, as
+                                       * we process it somewhat in
+                                       * the constructor.
+                                       */
+      std::string sequence;
+  };
 
-                                    /**
+                                  /**
                                      * Test for the string being
                                      * either "true" or "false". This
                                      * is mapped to the @p{Selection}
                                      * class.
                                      */
-    class Bool : public Selection
-    {
-      public:
-                                        /**
-                                         * Constrcuctor.
-                                         */
-       Bool ();
-
-                                        /**
-                                         * Return a copy of the
-                                         * present object, which is
-                                         * newly allocated on the
-                                         * heap. Ownership of that
-                                         * object is transferred to
-                                         * the caller of this
-                                         * function.
-                                         */
-       virtual PatternBase * clone () const;
-    };
+  class Bool : public Selection
+  {
+    public:
+                                      /**
+                                       * Constrcuctor.
+                                       */
+      Bool ();
+
+                                      /**
+                                       * Return a copy of the
+                                       * present object, which is
+                                       * newly allocated on the
+                                       * heap. Ownership of that
+                                       * object is transferred to
+                                       * the caller of this
+                                       * function.
+                                       */
+      virtual PatternBase * clone () const;
+  };
         
-                                    /**
+                                  /**
                                      * Always returns true when testing a
                                      * string.
                                      */
-    class Anything : public PatternBase
-    {
-      public:
-                                        /**
-                                         * Constructor. (Allow for at
-                                         * least one non-virtual
-                                         * function in this class, as
-                                         * otherwise sometimes no
-                                         * virtual table is emitted.)
-                                         */
-       Anything ();
-
-                                        /**
-                                         * Return @p{true} if the
-                                         * string matches its
-                                         * constraints, i.e. always.
-                                         */
-       virtual bool match (const string &test_string) const;
-
-                                        /**
-                                         * Return a description of
-                                         * the pattern that valid
-                                         * string are expected to
-                                         * match. Here, this is the
-                                         * string @p{"[Anything]"}.
-                                         */
-       virtual string description () const;
-
-                                        /**
-                                         * Return a copy of the
-                                         * present object, which is
-                                         * newly allocated on the
-                                         * heap. Ownership of that
-                                         * object is transferred to
-                                         * the caller of this
-                                         * function.
-                                         */
-       virtual PatternBase * clone () const;
-    };
+  class Anything : public PatternBase
+  {
+    public:
+                                      /**
+                                       * Constructor. (Allow for at
+                                       * least one non-virtual
+                                       * function in this class, as
+                                       * otherwise sometimes no
+                                       * virtual table is emitted.)
+                                       */
+      Anything ();
+
+                                      /**
+                                       * Return @p{true} if the
+                                       * string matches its
+                                       * constraints, i.e. always.
+                                       */
+      virtual bool match (const std::string &test_string) const;
+
+                                      /**
+                                       * Return a description of
+                                       * the pattern that valid
+                                       * string are expected to
+                                       * match. Here, this is the
+                                       * string @p{"[Anything]"}.
+                                       */
+      virtual std::string description () const;
+
+                                      /**
+                                       * Return a copy of the
+                                       * present object, which is
+                                       * newly allocated on the
+                                       * heap. Ownership of that
+                                       * object is transferred to
+                                       * the caller of this
+                                       * function.
+                                       */
+      virtual PatternBase * clone () const;
+  };
 };
 
 
@@ -705,7 +704,7 @@ namespace Patterns
  *   
  *   @sect3{Reading data from input sources}
  *   
- *   In order to read input you can use three possibilities: reading from an @p{istream} object,
+ *   In order to read input you can use three possibilities: reading from an @p{std::istream} object,
  *   reading from a file of which the name is given and reading from a string in memory in
  *   which the lines are separated by @p{\n} characters. These possibilites are used as follows:
  *   @begin{verbatim}
@@ -729,7 +728,7 @@ namespace Patterns
  *   yet unknown subsection names after using @p{read_input}. The results in this case are
  *   unspecified.
  *
- *   If an error occurs upon reading the input, error messages are written to @p{cerr}.
+ *   If an error occurs upon reading the input, error messages are written to @p{std::cerr}.
  *
  *   
  *   @sect3{Getting entry values out of a @p{ParameterHandler} object}
@@ -739,7 +738,7 @@ namespace Patterns
  *   @begin{verbatim}
  *      void NonLinEq::get_parameters (ParameterHandler &prm) {
  *       prm.enter_subsection ("Nonlinear solver");
- *       string method = prm.get ("Nonlinear method");
+ *       std::string method = prm.get ("Nonlinear method");
  *       eq.get_parameters (prm);
  *       prm.leave_subsection ();
  *     };
@@ -816,7 +815,7 @@ namespace Patterns
  *         static void declare_parameters (ParameterHandler &prm);
  *         void get_parameters (ParameterHandler &prm);
  *       private:
- *         string Method;
+ *         std::string Method;
  *         int    MaxIterations;
  *     };
  *     
@@ -824,8 +823,8 @@ namespace Patterns
  *     class Problem {
  *       private:
  *         LinEq eq1, eq2;
- *         string Matrix1, Matrix2;
- *         string outfile;
+ *         std::string Matrix1, Matrix2;
+ *         std::string outfile;
  *       public:
  *         static void declare_parameters (ParameterHandler &prm);
  *         void get_parameters (ParameterHandler &prm);
@@ -852,7 +851,7 @@ namespace Patterns
  *       Method        = prm.get ("Solver");
  *       MaxIterations = prm.get_integer ("Maximum number of iterations");
  *       prm.leave_subsection ();
- *       cout << "  LinEq: Method=" << Method << ", MaxIterations=" << MaxIterations << endl;
+ *       std::cout << "  LinEq: Method=" << Method << ", MaxIterations=" << MaxIterations << std::endl;
  *     };
  *           
  *           
@@ -893,7 +892,7 @@ namespace Patterns
  *                                        // entries of the problem class
  *       outfile = prm.get ("Output file");
  *     
- *       string equation1 = prm.get ("Equation 1"),
+ *       std::string equation1 = prm.get ("Equation 1"),
  *              equation2 = prm.get ("Equation 2");
  *       
  *                                        // get parameters for the
@@ -910,9 +909,9 @@ namespace Patterns
  *       eq2.get_parameters (prm);         // for eq2
  *       prm.leave_subsection ();
  *     
- *       cout << "  Problem: outfile=" << outfile << endl
- *            << "           eq1="     << equation1 << ", eq2=" << equation2 << endl
- *            << "           Matrix1=" << Matrix1 << ", Matrix2=" << Matrix2 << endl;
+ *       std::cout << "  Problem: outfile=" << outfile << std::endl
+ *            << "           eq1="     << equation1 << ", eq2=" << equation2 << std::endl
+ *            << "           Matrix1=" << Matrix1 << ", Matrix2=" << Matrix2 << std::endl;
  *     };
  *          
  *           
@@ -928,13 +927,13 @@ namespace Patterns
  *                                        // argv[1] would also be a good idea
  *       prm.read_input ("prmtest.prm");
  *           
- *                                        // print parameters to cout as ASCII text
- *       cout << endl << endl;
- *       prm.print_parameters (cout, Text);
+ *                                        // print parameters to std::cout as ASCII text
+ *       std::cout << std::endl << std::endl;
+ *       prm.print_parameters (std::cout, Text);
  *           
  *                                        // get parameters into the program
- *       cout << endl << endl
- *            << "Getting parameters:" << endl;
+ *       std::cout << std::endl << std::endl
+ *            << "Getting parameters:" << std::endl;
  *       p.get_parameters (prm);
  *     };
  *   @end{verbatim}
@@ -1033,7 +1032,7 @@ class ParameterHandler
                                      *
                                      * Return whether the read was successful.
                                      */
-    virtual bool read_input (istream &input);
+    virtual bool read_input (std::istream &input);
     
                                     /**
                                      * Read input from a file the name of which
@@ -1045,7 +1044,7 @@ class ParameterHandler
                                      * the requested file with default values if
                                      * the file did not exist.
                                      */
-    virtual bool read_input (const string &filename);
+    virtual bool read_input (const std::string &filename);
     
                                     /**
                                      * Read input from a string in memory. The
@@ -1079,16 +1078,15 @@ class ParameterHandler
                                      * the regular expression;
                                      * @p{true} otherwise.
                                      */
-    bool declare_entry    (const string &entry,
-                          const string &default_value,
-                          const Patterns::PatternBase &pattern
-                          = Patterns::Anything());
+    bool declare_entry    (const std::string           &entry,
+                          const std::string           &default_value,
+                          const Patterns::PatternBase &pattern = Patterns::Anything());
     
                                     /**
                                      * Enter a subsection; if not yet
                                      * existent, declare it.
                                      */
-    void enter_subsection (const string &subsection);
+    void enter_subsection (const std::string &subsection);
     
                                     /**
                                      * Leave present subsection.
@@ -1108,25 +1106,25 @@ class ParameterHandler
                                      * was declared (therefore an exception may be
                                      * thrown).
                                      */
-    const string & get (const string &entry_string) const;
+    const std::string & get (const std::string &entry_string) const;
     
                                     /**
                                      * Return value of entry @p{entry_string} as
                                      * @p{long int}.
                                      */
-    long int       get_integer (const string &entry_string) const;
+    long int       get_integer (const std::string &entry_string) const;
     
                                     /**
                                      * Return value of entry @p{entry_string} as
                                      * @p{double}.
                                      */
-    double         get_double (const string &entry_string) const;
+    double         get_double (const std::string &entry_string) const;
 
                                     /**
                                      * Return value of entry @p{entry_string} as
                                      * @p{bool}.
                                      */
-    bool           get_bool (const string &entry_string) const;
+    bool           get_bool (const std::string &entry_string) const;
 
                                     /**
                                      * Print all parameters with the given style
@@ -1143,24 +1141,25 @@ class ParameterHandler
                                      * by simply copying the output to your
                                      * input file.
                                      */
-    ostream & print_parameters (ostream &out, const OutputStyle style);
+    std::ostream & print_parameters (std::ostream      &out,
+                                    const OutputStyle  style);
 
                                     /**
                                      * Print out the parameters of the subsection
                                      * given by the @p{subsection_path} member
                                      * variable.
                                      */
-    void print_parameters_section (ostream &out,
-                                  const OutputStyle Style,
-                                  const unsigned int indent_level);
+    void print_parameters_section (std::ostream       &out,
+                                  const OutputStyle   style,
+                                  const unsigned int  indent_level);
 
-                                  /**
-                                   * Print parameters to a logstream.
-                                   * This function allows to print
-                                   * all parameters into a log-file.
-                                   * Sections will be indented in the
-                                   * usual log-file style.
-                                   */
+                                    /**
+                                     * Print parameters to a logstream.
+                                     * This function allows to print
+                                     * all parameters into a log-file.
+                                     * Sections will be indented in the
+                                     * usual log-file style.
+                                     */
     void log_parameters (LogStream& out);
 
                                     /**
@@ -1184,13 +1183,13 @@ class ParameterHandler
                                      * Exception
                                      */
     DeclException1 (ExcEntryAlreadyExists,
-                   string,
+                   std::string,
                    << "The following entry already exists: " << arg1);
                                     /**
                                      * Exception
                                      */
     DeclException2 (ExcDefaultDoesNotMatchPattern,
-                   string, string,
+                   std::string, std::string,
                    << "The default string <" << arg1
                    << "> does not match the given pattern <" << arg2 << ">");  
                                     /**
@@ -1201,13 +1200,13 @@ class ParameterHandler
                                      * Exception
                                      */
     DeclException1 (ExcEntryUndeclared,
-                   string,
+                   std::string,
                    << "You cant ask for entry <" << arg1 << "> you have not yet declared");  
                                     /**
                                      * Exception
                                      */
     DeclException1 (ExcConversionError,
-                   string,
+                   std::string,
                    << "Error when trying to convert the following string: " << arg1);
     
   private:
@@ -1226,10 +1225,10 @@ class ParameterHandler
     {
        ~Section ();
 
-       typedef map<string, pair<string,Patterns::PatternBase*> > EntryType;
+       typedef std::map<std::string, std::pair<std::string,Patterns::PatternBase*> > EntryType;
        
-       EntryType             entries;
-       map<string, Section*> subsections;
+       EntryType                       entries;
+       std::map<std::string, Section*> subsections;
 
                                         /**
                                          * Determine an estimate for
@@ -1240,7 +1239,7 @@ class ParameterHandler
                                          * not be determined exactly
                                          * (for example: what is the
                                          * memory consumption of an
-                                         * STL @p{map} type with a
+                                         * STL @p{std::map} type with a
                                          * certain number of
                                          * elements?), this is only
                                          * an estimate. however often
@@ -1255,7 +1254,7 @@ class ParameterHandler
                                      * subsections; empty list means
                                      * top level
                                      */
-    vector<string> subsection_path;
+    std::vector<std::string> subsection_path;
 
                                     /**
                                      * List of default values
@@ -1291,9 +1290,15 @@ class ParameterHandler
                                      * non-declared entry was given
                                      * or teh entry value did not
                                      * match the regular
-                                     * expression. @p{true} otherwise
+                                     * expression. @p{true} otherwise.
+                                     *
+                                     * The function modifies its
+                                     * argument, but also takes it by
+                                     * value, so the caller's
+                                     * variable is not changed.
                                      */
-    bool scan_line (string line, const unsigned int lineno);
+    bool scan_line (std::string         line,
+                   const unsigned int  lineno);
 
                                     /**
                                      * Get a pointer to the
@@ -1591,13 +1596,13 @@ class MultipleParameterLoop : public ParameterHandler
                                      * Read input from a stream until stream
                                      * returns @p{eof} condition or error.
                                      */
-    virtual bool read_input (istream &Input);
+    virtual bool read_input (std::istream &Input);
     
                                     /**
                                      * Read input from a file the name of which
                                      * is given.
                                      */
-    virtual bool read_input (const string &FileName);
+    virtual bool read_input (const std::string &FileName);
     
                                     /**
                                      * Read input from a string in memory. The
@@ -1650,7 +1655,9 @@ class MultipleParameterLoop : public ParameterHandler
                                          * into the different variants is done
                                          * later by @p{split_different_values}.
                                          */
-       Entry (const vector<string> &Path, const string &Name, const string &Value);
+       Entry (const std::vector<std::string> &Path,
+              const std::string              &Name,
+              const std::string              &Value);
 
                                         /**
                                          * Split the entry value into the different
@@ -1661,24 +1668,24 @@ class MultipleParameterLoop : public ParameterHandler
                                         /**
                                          * Path to variant entry.
                                          */
-       vector<string> subsection_path;
+       std::vector<std::string> subsection_path;
 
                                         /**
                                          * Name of entry.
                                          */
-       string         entry_name;
+       std::string         entry_name;
 
                                         /**
                                          * Original variant value.
                                          */
-       string         entry_value;
+       std::string         entry_value;
        
                                         /**
                                          * List of entry values constructed out of
                                          * what was given in the input file (that
                                          * is stored in @p{EntryValue}.
                                          */
-       vector<string> different_values;
+       std::vector<std::string> different_values;
 
                                         /**
                                          * Store whether this entry is a variant
@@ -1698,25 +1705,28 @@ class MultipleParameterLoop : public ParameterHandler
                                     /**
                                      * List of variant entry values.
                                      */
-    vector<Entry> multiple_choices;
+    std::vector<Entry> multiple_choices;
     
                                     /**
-                                     * Number of branches constructed from the
-                                     * different combinations of the variants.
-                                     * This obviously equals the number of runs
-                                     * to be performed.
+                                     * Number of branches constructed
+                                     * from the different
+                                     * combinations of the variants.
+                                     * This obviously equals the
+                                     * number of runs to be
+                                     * performed.
                                      */
-    int n_branches;
+    unsigned int n_branches;
 
                                     /**
-                                     * Initialize the different branches, i.e.
-                                     * construct the combinations.
+                                     * Initialize the different
+                                     * branches, i.e.  construct the
+                                     * combinations.
                                      */
     void init_branches ();
     
                                     /**
-                                     * Initialize the branches in the given
-                                     * section.
+                                     * Initialize the branches in the
+                                     * given section.
                                      */
     void init_branches_section (const ParameterHandler::Section &sec);
     
index 4015eb3eded6b2b334926f1e3f07ca5d971622c9..bcb07d2a172c64daf8f50ebc8c9f52ec617cbfbb 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -112,9 +112,9 @@ class Point : public Tensor<1,dim>
                                      */
     Point<dim>   operator - (const Point<dim> &) const;
 
-                                      /**
-                                       * The opposite vector.
-                                       */
+                                    /**
+                                     * The opposite vector.
+                                     */
     Point<dim>   operator - () const;
     
                                     /**
@@ -271,7 +271,7 @@ Point<4>::Point (const double, const double, const double)
 template <int dim>
 inline
 double Point<dim>::operator () (const unsigned int index) const
- {
+{
   Assert (index<dim, ExcIndexRange (index, 0, dim));
   return values[index];
 };
@@ -312,7 +312,7 @@ Point<dim> Point<dim>::operator - () const
 {
   Point<dim> result;
   for (unsigned int i=0; i<dim; ++i)
-      result.values[i] = -values[i];
+    result.values[i] = -values[i];
   return result;
 };
 
index b786abf8c1c876dd6b9f594932090d58a15586be..410705c6881a80acf5aecb386b510c2720d21b88 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -94,8 +94,8 @@ class Quadrature : public Subscriptor
                                     /**
                                      * Constructor from given vectors.
                                      */
-    Quadrature (const vector<Point<dim> > & points,
-               const vector<double> & weights);
+    Quadrature (const std::vector<Point<dim> > &points,
+               const std::vector<double>      &weights);
     
                                     /**
                                      * Virtual destructor.
@@ -111,7 +111,7 @@ class Quadrature : public Subscriptor
                                      * Return a reference to the whole array of
                                      * quadrature points.
                                      */
-    const vector<Point<dim> > & get_points () const;
+    const std::vector<Point<dim> > & get_points () const;
     
                                     /**
                                      * Return the weight of the @p{i}th
@@ -123,7 +123,7 @@ class Quadrature : public Subscriptor
                                      * Return a reference to the whole array
                                      * of weights.
                                      */
-    const vector<double> & get_weights () const;
+    const std::vector<double> & get_weights () const;
 
                                     /**
                                      * Determine an estimate for
@@ -138,14 +138,14 @@ class Quadrature : public Subscriptor
                                      * List of quadrature points. To be filled
                                      * by the constructors of derived classes.
                                      */
-    vector<Point<dim> > quadrature_points;
+    std::vector<Point<dim> > quadrature_points;
 
                                     /**
                                      * List of weights of the quadrature points.
                                      * To be filled by the constructors of
                                      * derived classes.
                                      */
-    vector<double>      weights;
+    std::vector<double>      weights;
 };
 
 
@@ -254,17 +254,17 @@ class QProjector
                                      * details, see the general doc for
                                      * this class.
                                      */
-    static void project_to_face (const Quadrature<dim-1> &quadrature,
-                                const unsigned int       face_no,
-                                vector<Point<dim> >     &q_points);
+    static void project_to_face (const Quadrature<dim-1>  &quadrature,
+                                const unsigned int        face_no,
+                                std::vector<Point<dim> > &q_points);
 
                                     /**
                                      * Projection to all faces.
                                      * Generate a formula that integrates
                                      * over all faces at the same time.
                                      */
-    static void project_to_faces (const Quadrature<dim-1> &quadrature,
-                                 vector<Point<dim> >     &q_points);
+    static void project_to_faces (const Quadrature<dim-1>  &quadrature,
+                                 std::vector<Point<dim> > &q_points);
     
                                     /**
                                      * Compute the quadrature points on the
@@ -274,10 +274,10 @@ class QProjector
                                      * details, see the general doc for
                                      * this class.
                                      */
-    static void project_to_subface (const Quadrature<dim-1> &quadrature,
-                                   const unsigned int       face_no,
-                                   const unsigned int       subface_no,
-                                   vector<Point<dim> >     &q_points);
+    static void project_to_subface (const Quadrature<dim-1>  &quadrature,
+                                   const unsigned int        face_no,
+                                   const unsigned int        subface_no,
+                                   std::vector<Point<dim> > &q_points);
 
                                     /**
                                      * Projection to all child faces.
@@ -286,8 +286,8 @@ class QProjector
                                      * ordering is first by face,
                                      * then by subface
                                      */
-    static void project_to_subfaces (const Quadrature<dim-1> &quadrature,
-                                    vector<Point<dim> >     &q_points);
+    static void project_to_subfaces (const Quadrature<dim-1>  &quadrature,
+                                    std::vector<Point<dim> > &q_points);
 };
 
 
index 65dd7a71296050cdb8feae4c67afff00d53a2e69..affdfc7225d9a14520b3f778e7ed4648fe882f05 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index a87be47f2358cdb38acf9f9d4e4c0cc332cf2173..d1b3d50f173a50212b0cb0b6737aa0b163d6aad3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -175,7 +175,7 @@ class SmartPointer
                                      * have deliberately chosen a
                                      * short name.
                                      */
-  T * t;
+    T * t;
 };
 
 
index 5e2a8295495afbd972d55d5058f86c83512344f1..8c2c56b31460824e825a782755cb0dee25fa7892 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -132,7 +132,7 @@ class Subscriptor
                                      * constructor, we obtain it in
                                      * between and store it here.
                                      */
-    mutable const type_info * object_info;
+    mutable const std::type_info * object_info;
 };
 
 
index 9552beae6674e778ee842d41d5b0b469b71b4a32..aa8de5db8e59fcbe5c5ea358a4f7bf4630d256e7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -45,12 +45,12 @@ class TableEntryBase
                                     /**
                                      * Write the table entry as text.
                                      */
-    virtual void write_text (ostream &) const =0;
+    virtual void write_text (std::ostream &) const =0;
 
                                     /**
                                      * Write the table entry in tex format.
                                      */
-    virtual void write_tex (ostream &) const =0;
+    virtual void write_tex (std::ostream &) const =0;
 };
 
 
@@ -88,12 +88,12 @@ class TableEntry : public TableEntryBase
                                     /**
                                      * Write the table entry as text.
                                      */
-    virtual void write_text (ostream &out) const;
+    virtual void write_text (std::ostream &out) const;
 
                                     /**
                                      * Write the table entry in tex format.
                                      */
-    virtual void write_tex (ostream &out) const;
+    virtual void write_tex (std::ostream &out) const;
 
   private:
                                     /**
@@ -111,12 +111,12 @@ class TableEntry : public TableEntryBase
  * @sect3{Usage}
  *
  * The most important function is the templatized function 
- * @p{add_value(const string &key, const value_type value)}, that adds a column
+ * @p{add_value(const std::string &key, const value_type value)}, that adds a column
  * with the name @p{key} to the table if this column does not yet exist and adds the 
- * value of @p{value_type} (e.g. @p{unsigned int}, @p{double}, @p{string}, ...) to this column.
+ * value of @p{value_type} (e.g. @p{unsigned int}, @p{double}, @p{std::string}, ...) to this column.
  * After the table is complete there are different possibilities of output, e.g.
- * into a tex file with @p{write_tex(ofstream &file)} or as text with 
- * @p{write_text (ostream &out)}. 
+ * into a tex file with @p{write_tex(std::ofstream &file)} or as text with 
+ * @p{write_text (std::ostream &out)}. 
  *
  * Two (or more) columns may be merged into a "supercolumn" by twice
  * (or multiple) calling @p{add_column_to_supercolumn(...)}, see
@@ -151,7 +151,7 @@ class TableEntry : public TableEntryBase
  * table.set_precision("square roots", 6);
  *
  *                                  // output
- * ofstream out_file("number_table.tex");
+ * std::ofstream out_file("number_table.tex");
  * table.write_tex(out_file);
  * out_file.close();
  * @end{verbatim}
@@ -174,8 +174,8 @@ class TableHandler
                                      * to the column.
                                      */
     template <typename value_type>
-    void add_value (const string     &key,
-                   const value_type  value);
+    void add_value (const std::string &key,
+                   const value_type   value);
     
                                     /**
                                      * Creates a sypercolumn (if not yet
@@ -194,8 +194,8 @@ class TableHandler
                                      * the order of output follows the order
                                      * the columns are added to the supercolumn.
                                      */
-    void add_column_to_supercolumn (const string &key,
-                                   const string &superkey);
+    void add_column_to_supercolumn (const std::string &key,
+                                   const std::string &superkey);
 
                                     /**
                                      * Change the order of columns and
@@ -220,7 +220,7 @@ class TableHandler
                                      * next e.g. five columns and again @p{write_*},
                                      * and so on.
                                      */
-    void set_column_order (const vector<string> &new_order);
+    void set_column_order (const std::vector<std::string> &new_order);
     
                                     /**
                                      * Sets the @p{precision} e.g. double or float
@@ -228,7 +228,7 @@ class TableHandler
                                      * the same as in calling
                                      * @p{out << setprecision(precision)}.
                                      */
-    void set_precision (const string &key,
+    void set_precision (const std::string &key,
                        const unsigned int precision);
 
                                     /**
@@ -236,8 +236,8 @@ class TableHandler
                                      * scientific, false means fixed point
                                      * notation.
                                      */
-    void set_scientific (const string &key,
-                        bool scientific);
+    void set_scientific (const std::string &key,
+                        const bool         scientific);
 
                                     /**
                                      * Sets the caption of the column @p{key}
@@ -245,8 +245,8 @@ class TableHandler
                                      * this different from @p{key}, if it 
                                      * contains formulas or similar constructs.
                                      */
-    void set_tex_caption (const string &key,
-                         const string &tex_caption);
+    void set_tex_caption (const std::string &key,
+                         const std::string &tex_caption);
 
                                     /**
                                      * Sets the caption the the supercolumn
@@ -255,8 +255,8 @@ class TableHandler
                                      * if it contains formulas or similar
                                      * constructs.
                                      */
-    void set_tex_supercaption (const string &superkey,
-                              const string &tex_supercaption);
+    void set_tex_supercaption (const std::string &superkey,
+                              const std::string &tex_supercaption);
 
                                     /**
                                      * Sets the tex output format of a column.
@@ -265,46 +265,46 @@ class TableHandler
                                      * is not called for a column, the default
                                      * is preset to be @p{c}.
                                      */
-    void set_tex_format (const string &key,
-                        const string &format="c");
+    void set_tex_format (const std::string &key,
+                        const std::string &format="c");
 
                                     /**
                                      * Write table as formatted text, e.g.
                                      * to the standard output.
                                      */
-    void write_text (ostream &out) const;
+    void write_text (std::ostream &out) const;
 
                                     /**
                                      * Write table as a tex file.
                                      */
-    void write_tex (ofstream &file) const;
+    void write_tex (std::ofstream &file) const;
    
                                     /**
                                      * Exception
                                      */
     DeclException1 (ExcColumnNotExistent,
-                   string,
+                   std::string,
                    << "Column <" << arg1 << "> does not exist.");
 
                                     /**
                                      * Exception
                                      */
     DeclException1 (ExcSuperColumnNotExistent,
-                   string,
+                   std::string,
                    << "Supercolumn <" << arg1 << "> does not exist.");
 
                                     /**
                                      * Exception
                                      */
     DeclException1 (ExcColumnOrSuperColumnNotExistent,
-                   string,
+                   std::string,
                    << "Column or supercolumn <" << arg1 << "> does not exist.");
     
                                     /**
                                      * Exception
                                      */
     DeclException4 (ExcWrongNumberOfDataEntries,
-                   string, int, string, int,
+                   std::string, int, std::string, int,
                    << "Column <" << arg1 << "> has got " << arg2
                    << " rows, but Column <" << arg3 << "> has got " << arg4 << ".");
 
@@ -312,7 +312,7 @@ class TableHandler
                                      * Exception
                                      */
     DeclException1 (ExcUndefinedTexFormat,
-                   string,
+                   std::string,
                    << "<" << arg1 << "> is not a tex column format. Use l,c,r.");
 
   protected:
@@ -332,7 +332,7 @@ class TableHandler
                                         /**
                                          * Constructor.
                                          */
-       Column(const string &tex_caption);
+       Column(const std::string &tex_caption);
        
                                         /**
                                          * Destructor.
@@ -348,7 +348,7 @@ class TableHandler
                                          * a wrapper for @p{T}, but is derived
                                          * from @p{TableEntryBase}.
                                          */
-       vector<TableEntryBase *> entries;
+       std::vector<TableEntryBase *> entries;
        
                                         /**
                                          * The caption of the column in tex output.
@@ -358,7 +358,7 @@ class TableHandler
                                          * be changed by calling
                                          * @p{TableHandler::set_tex_caption(...)}.
                                          */
-       string tex_caption;
+       std::string tex_caption;
 
                                         /**
                                          * The column format in tex output.
@@ -370,7 +370,7 @@ class TableHandler
                                          * right or left.
                                          */
        
-       string tex_format;
+       std::string tex_format;
 
                                         /**
                                          * Double or float entries are written with
@@ -402,7 +402,7 @@ class TableHandler
                                      * consistency of the data. The result is
                                      * returned in @p{sel_columns}.
                                      */
-    void get_selected_columns (vector<string> &sel_columns) const;
+    void get_selected_columns (std::vector<std::string> &sel_columns) const;
     
                                     /**
                                      * Builtin function, that gives the 
@@ -422,13 +422,13 @@ class TableHandler
                                      * adding the columns. This order may be
                                      * changed by @p{set_column_order(...)}.
                                      */
-    vector<string> column_order;
+    std::vector<std::string> column_order;
 
                                     /**
                                      * Maps the column keys to the columns
                                      * (not supercolumns).
                                      */
-    map<string,Column> columns;
+    std::map<std::string,Column> columns;
 
                                     /**
                                      * Maps each supercolumn key to the
@@ -441,7 +441,7 @@ class TableHandler
                                      * keys for each supercolumn key is
                                      * relevant.
                                      */
-    map<string, vector<string> > supercolumns;
+    std::map<std::string, std::vector<std::string> > supercolumns;
 
                                     /**
                                      * Maps the supercolumn keys to the
@@ -452,7 +452,7 @@ class TableHandler
                                      * supercolumn keys but they may be changed
                                      * by @p{set_tex_supercaptions(...)}.
                                      */
-    map<string, string> tex_supercaptions;
+    std::map<std::string, std::string> tex_supercaptions;
 };
 
 
index 750bfc1b0ae797805dbf124cd7ad9f203f8b80a3..15648cf8fc951bb78f129d22a06d8358cd0c333a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -140,9 +140,9 @@ class Tensor
                                      */
     Tensor<rank_,dim>   operator - (const Tensor<rank_,dim> &) const;
 
-                                      /**
-                                       * Invert all entries of a tensor.
-                                       */
+                                    /**
+                                     * Invert all entries of a tensor.
+                                     */
     Tensor<rank_,dim>   operator - () const;
     
                                     /**
@@ -655,7 +655,7 @@ void outer_product (Tensor<3,dim>       &dst,
   for (unsigned int i=0; i<dim; ++i)
     for (unsigned int j=0; j<dim; ++j)
       for (unsigned int k=0; k<dim; ++k)
-      dst[i][j][k] = src1[i] * src2[j][k];
+       dst[i][j][k] = src1[i] * src2[j][k];
 };
 
 
@@ -674,7 +674,7 @@ void outer_product (Tensor<3,dim>       &dst,
   for (unsigned int i=0; i<dim; ++i)
     for (unsigned int j=0; j<dim; ++j)
       for (unsigned int k=0; k<dim; ++k)
-      dst[i][j][k] = src1[i][j] * src2[k];
+       dst[i][j][k] = src1[i][j] * src2[k];
 };
 
 
@@ -859,7 +859,7 @@ invert (const Tensor<2,dim> &t)
        
       default:
            AssertThrow (false, ExcNotImplemented());
-   };    
+    };    
   return return_tensor;
 };
 
index 32cefb3a0a4ee7d52cf2dc396c1728662f667f11..de0eed9e20f15a28a54c204829d53b1bbe1ee7a1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -42,7 +42,7 @@ template <int rank, int dim> class Tensor;
 template <int dim>
 class Tensor<1,dim>
 {
-      public:
+  public:
                                     /**
                                      * Provide a way to get the
                                      * dimension of an object without
@@ -192,9 +192,9 @@ class Tensor<1,dim>
                                      */
     Tensor<1,dim>   operator - (const Tensor<1,dim> &) const;
 
-                                      /**
-                                       * Tensor with inverted entries.
-                                       */
+                                    /**
+                                     * Tensor with inverted entries.
+                                     */
     Tensor<1,dim>   operator - () const;
     
                                     /**
@@ -251,11 +251,11 @@ class Tensor<1,dim>
                                      */
     double values[(dim!=0) ? (dim) : 1];
 
-                                      /**
-                                       * Point is allowed access to
-                                       * the coordinates. This is
-                                       * supposed to improve speed.
-                                       */
+                                    /**
+                                     * Point is allowed access to
+                                     * the coordinates. This is
+                                     * supposed to improve speed.
+                                     */
     friend class Point<dim>;
 };
 
@@ -274,7 +274,7 @@ DeclException1 (ExcDimTooSmall,
                                  *  form @p{x1 x2 x3 etc}.
                                  */
 template <int dim>
-ostream & operator << (ostream &out, const Tensor<1,dim> &p);
+std::ostream & operator << (std::ostream &out, const Tensor<1,dim> &p);
 
 
 /*------------------------------- Inline functions: Tensor ---------------------------*/
@@ -313,6 +313,24 @@ Tensor<1,dim>::Tensor (const Tensor<1,dim> &p)
 
 
 
+template <>
+inline
+Tensor<1,0>::Tensor (const Tensor<1,0> &)
+{
+                                  // at some places in the library,
+                                  // we have Point<0> for formal
+                                  // reasons (e.g., we sometimes have
+                                  // Quadrature<dim-1> for faces, so
+                                  // we have Quadrature<0> for dim=1,
+                                  // and then we have Point<0>). To
+                                  // avoid warnings in the above
+                                  // function that the loop end check
+                                  // always fails, we implement this
+                                  // function here
+};
+
+
+
 template <int dim>
 inline
 double Tensor<1,dim>::operator [] (const unsigned int index) const
@@ -344,6 +362,25 @@ Tensor<1,dim> & Tensor<1,dim>::operator = (const Tensor<1,dim> &p)
 
 
 
+template <>
+inline
+Tensor<1,0> & Tensor<1,0>::operator = (const Tensor<1,0> &)
+{
+                                  // at some places in the library,
+                                  // we have Point<0> for formal
+                                  // reasons (e.g., we sometimes have
+                                  // Quadrature<dim-1> for faces, so
+                                  // we have Quadrature<0> for dim=1,
+                                  // and then we have Point<0>). To
+                                  // avoid warnings in the above
+                                  // function that the loop end check
+                                  // always fails, we implement this
+                                  // function here
+  return *this;
+};
+
+
+
 template <int dim>
 inline
 bool Tensor<1,dim>::operator == (const Tensor<1,dim> &p) const
@@ -444,7 +481,7 @@ Tensor<1,dim> Tensor<1,dim>::operator - () const
 {
   Tensor<1,dim> result;
   for (unsigned int i=0; i<dim; ++i)
-      result.values[i] = -values[i];
+    result.values[i] = -values[i];
   return result;
 };
 
@@ -476,7 +513,7 @@ Tensor<1,dim>::memory_consumption ()
  */
 template <int dim>
 inline
-ostream & operator << (ostream &out, const Tensor<1,dim> &p)
+std::ostream & operator << (std::ostream &out, const Tensor<1,dim> &p)
 {
   for (unsigned int i=0; i<dim-1; ++i)
     out << p[i] << ' ';
@@ -493,7 +530,7 @@ ostream & operator << (ostream &out, const Tensor<1,dim> &p)
  * a compiler warning that the loop is empty.
  */
 inline
-ostream & operator << (ostream &out, const Tensor<1,1> &p)
+std::ostream & operator << (std::ostream &out, const Tensor<1,1> &p)
 {
   out << p[0];
 
index 867fedbc25461e39de0474d1f8870adee830e1b7..616c624338102b2469d62d34eb1dfe49d416b5d6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -85,8 +85,8 @@ class TensorFunction : public FunctionTime,
                                      * the right size, i.e.  the same
                                      * size as the @p{points} array.  
                                      */
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<Tensor<rank,dim> > &values) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<Tensor<rank,dim> > &values) const;
 
                                     /**
                                      * Return the gradient of the
@@ -102,8 +102,8 @@ class TensorFunction : public FunctionTime,
                                      * the right size, i.e.  the same
                                      * size as the @p{points} array.  
                                      */
-    virtual void gradient_list (const vector<Point<dim> > &points,
-                               vector<Tensor<rank+1,dim> > &gradients) const;
+    virtual void gradient_list (const std::vector<Point<dim> >   &points,
+                               std::vector<Tensor<rank+1,dim> > &gradients) const;
 
                                     /**
                                      * Exception
index 36e44200439c43fd78dea7691bc8147f3791e041..0d7d706a8371cf6fcc9536709ceb13797e5bae3a 100644 (file)
@@ -1238,7 +1238,7 @@ namespace Threads
       friend
       typename FunData7<Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,Arg7_,void>::ArgCollector
       encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_,
-                                                      Arg4_, Arg5_, Arg6_, Arg7_));
+                                  Arg4_, Arg5_, Arg6_, Arg7_));
   };
   
   
@@ -1371,8 +1371,8 @@ namespace Threads
       friend
       typename FunData8<Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,Arg7_,Arg8_,void>::ArgCollector
       encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_,
-                                                      Arg4_, Arg5_, Arg6_,
-                                                      Arg7_, Arg8_));
+                                  Arg4_, Arg5_, Arg6_,
+                                  Arg7_, Arg8_));
   };
   
   
@@ -1631,7 +1631,7 @@ namespace Threads
                                        */
       template <class Class_, typename Arg1_>
       friend
-      typename MemFunData1<Class,Arg1_,void>::ArgCollector
+      typename MemFunData1<Class_,Arg1_,void>::ArgCollector
       encapsulate (void (Class_::*fun_ptr)(Arg1_));
   };
 
@@ -1770,7 +1770,7 @@ namespace Threads
                                        */
       template <class Class_, typename Arg1_, typename Arg2_>
       friend
-      typename MemFunData2<Class,Arg1_,Arg2_,void>::ArgCollector
+      typename MemFunData2<Class_,Arg1_,Arg2_,void>::ArgCollector
       encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_));
   };
 
@@ -1912,7 +1912,7 @@ namespace Threads
                                        */
       template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_>
       friend 
-      typename MemFunData3<Class,Arg1_,Arg2_,Arg3_,void>::ArgCollector
+      typename MemFunData3<Class_,Arg1_,Arg2_,Arg3_,void>::ArgCollector
       encapsulate (void (Class_::*fun_ptr)(Arg1_,Arg2_,Arg3_));
   };
 
@@ -2058,7 +2058,7 @@ namespace Threads
                                        */
       template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_>
       friend
-      typename MemFunData4<Class,Arg1_,Arg2_,Arg3_,Arg4_,void>::ArgCollector
+      typename MemFunData4<Class_,Arg1_,Arg2_,Arg3_,Arg4_,void>::ArgCollector
       encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_));
   };
 
@@ -2208,7 +2208,7 @@ namespace Threads
                                        */
       template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_>
       friend 
-      typename MemFunData5<Class,Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,void>::ArgCollector
+      typename MemFunData5<Class_,Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,void>::ArgCollector
       encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_,
                                           Arg4_, Arg5_));
   };
@@ -2363,7 +2363,7 @@ namespace Threads
                                        */
       template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_, typename Arg6_>
       friend 
-      typename MemFunData6<Class,Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,void>::ArgCollector
+      typename MemFunData6<Class_,Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,void>::ArgCollector
       encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_,
                                           Arg4_, Arg5_, Arg6_));
   };
@@ -2673,7 +2673,7 @@ namespace Threads
                                    * @p{[begin[i],end[i])}.
                                    */
   template <typename ForwardIterator>
-  vector<pair<ForwardIterator,ForwardIterator> >
+  std::vector<std::pair<ForwardIterator,ForwardIterator> >
   split_range (const ForwardIterator &begin,
               const ForwardIterator &end,
               const unsigned int n_intervals);
@@ -2687,7 +2687,7 @@ namespace Threads
                                    * iterators, now values are taken
                                    * that define the whole interval.
                                    */
-  vector<pair<unsigned int,unsigned int> >
+  std::vector<std::pair<unsigned int,unsigned int> >
   split_interval (const unsigned int begin,
                  const unsigned int end,
                  const unsigned int n_intervals);
@@ -2799,13 +2799,13 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -2876,14 +2876,14 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -2957,15 +2957,15 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3044,16 +3044,16 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
     Arg3              arg3    = fun_data->arg3;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3136,7 +3136,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
@@ -3144,9 +3144,9 @@ namespace Threads
     Arg4              arg4    = fun_data->arg4;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3233,7 +3233,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
@@ -3242,9 +3242,9 @@ namespace Threads
     Arg5              arg5    = fun_data->arg5;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3300,15 +3300,15 @@ namespace Threads
 
 
   template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename RetType>
-    FunData6<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,RetType>::FunData6 (const FunData6 &fun_data) :
-    FunDataBase (fun_data),
-    fun_ptr (fun_data.fun_ptr),
-    arg1 (fun_data.arg1),
-    arg2 (fun_data.arg2),
-    arg3 (fun_data.arg3),
-    arg4 (fun_data.arg4),
-    arg5 (fun_data.arg5),
-    arg6 (fun_data.arg6)
+  FunData6<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,RetType>::FunData6 (const FunData6 &fun_data) :
+                 FunDataBase (fun_data),
+                 fun_ptr (fun_data.fun_ptr),
+                 arg1 (fun_data.arg1),
+                 arg2 (fun_data.arg2),
+                 arg3 (fun_data.arg3),
+                 arg4 (fun_data.arg4),
+                 arg5 (fun_data.arg5),
+                 arg6 (fun_data.arg6)
   {};
 
 
@@ -3336,7 +3336,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
@@ -3346,9 +3346,9 @@ namespace Threads
     Arg6              arg6    = fun_data->arg6;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3408,16 +3408,16 @@ namespace Threads
 
 
   template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7, typename RetType>
-    FunData7<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7,RetType>::FunData7 (const FunData7 &fun_data) :
-    FunDataBase (fun_data),
-    fun_ptr (fun_data.fun_ptr),
-    arg1 (fun_data.arg1),
-    arg2 (fun_data.arg2),
-    arg3 (fun_data.arg3),
-    arg4 (fun_data.arg4),
-    arg5 (fun_data.arg5),
-    arg6 (fun_data.arg6),
-    arg7 (fun_data.arg7)
+  FunData7<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7,RetType>::FunData7 (const FunData7 &fun_data) :
+                 FunDataBase (fun_data),
+                 fun_ptr (fun_data.fun_ptr),
+                 arg1 (fun_data.arg1),
+                 arg2 (fun_data.arg2),
+                 arg3 (fun_data.arg3),
+                 arg4 (fun_data.arg4),
+                 arg5 (fun_data.arg5),
+                 arg6 (fun_data.arg6),
+                 arg7 (fun_data.arg7)
   {};
 
 
@@ -3445,7 +3445,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
@@ -3456,9 +3456,9 @@ namespace Threads
     Arg7              arg7    = fun_data->arg7;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3498,14 +3498,14 @@ namespace Threads
 
   template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7, typename Arg8, typename RetType>
   FunData8<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7,Arg8,RetType>::FunData8 (FunPtr fun_ptr,
-                                                                 Arg1   arg1,
-                                                                 Arg2   arg2,
-                                                                 Arg3   arg3,
-                                                                 Arg4   arg4,
-                                                                 Arg5   arg5,
-                                                                 Arg6   arg6,
-                                                                 Arg7   arg7,
-                                                                 Arg8   arg8) :
+                                                                      Arg1   arg1,
+                                                                      Arg2   arg2,
+                                                                      Arg3   arg3,
+                                                                      Arg4   arg4,
+                                                                      Arg5   arg5,
+                                                                      Arg6   arg6,
+                                                                      Arg7   arg7,
+                                                                      Arg8   arg8) :
                  FunDataBase (&FunData8<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7,Arg8,RetType>::thread_entry_point),
                  fun_ptr (fun_ptr),
                  arg1 (arg1),
@@ -3521,17 +3521,17 @@ namespace Threads
 
 
   template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7, typename Arg8, typename RetType>
-    FunData8<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7,Arg8,RetType>::FunData8 (const FunData8 &fun_data) :
-    FunDataBase (fun_data),
-    fun_ptr (fun_data.fun_ptr),
-    arg1 (fun_data.arg1),
-    arg2 (fun_data.arg2),
-    arg3 (fun_data.arg3),
-    arg4 (fun_data.arg4),
-    arg5 (fun_data.arg5),
-    arg6 (fun_data.arg6),
-    arg7 (fun_data.arg7),
-    arg8 (fun_data.arg8)
+  FunData8<Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7,Arg8,RetType>::FunData8 (const FunData8 &fun_data) :
+                 FunDataBase (fun_data),
+                 fun_ptr (fun_data.fun_ptr),
+                 arg1 (fun_data.arg1),
+                 arg2 (fun_data.arg2),
+                 arg3 (fun_data.arg3),
+                 arg4 (fun_data.arg4),
+                 arg5 (fun_data.arg5),
+                 arg6 (fun_data.arg6),
+                 arg7 (fun_data.arg7),
+                 arg8 (fun_data.arg8)
   {};
 
 
@@ -3559,7 +3559,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
@@ -3571,9 +3571,9 @@ namespace Threads
     Arg8              arg8    = fun_data->arg8;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3655,13 +3655,13 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Class            *object  = fun_data->object;
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3745,15 +3745,15 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Class            *object  = fun_data->object;
     Arg1              arg1    = fun_data->arg1;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3840,16 +3840,16 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Class            *object  = fun_data->object;
     Arg1              arg1    = fun_data->arg1;
     Arg2              arg2    = fun_data->arg2;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -3943,7 +3943,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Class            *object  = fun_data->object;
     Arg1              arg1    = fun_data->arg1;
@@ -3951,9 +3951,9 @@ namespace Threads
     Arg3              arg3    = fun_data->arg3;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -4053,7 +4053,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Class            *object  = fun_data->object;
     Arg1              arg1    = fun_data->arg1;
@@ -4062,9 +4062,9 @@ namespace Threads
     Arg4              arg4    = fun_data->arg4;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -4168,7 +4168,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Class            *object  = fun_data->object;
     Arg1              arg1    = fun_data->arg1;
@@ -4178,9 +4178,9 @@ namespace Threads
     Arg5              arg5    = fun_data->arg5;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -4239,15 +4239,15 @@ namespace Threads
                                                                         Arg4    arg4,
                                                                         Arg5    arg5,
                                                                         Arg6    arg6) :
-    FunDataBase (&MemFunData6<Class,Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,RetType>::thread_entry_point),
-    fun_ptr (fun_ptr),
-    object (object),
-    arg1 (arg1),
-    arg2 (arg2),
-    arg3 (arg3),
-    arg4 (arg4),
-    arg5 (arg5),
-    arg6 (arg6)
+                 FunDataBase (&MemFunData6<Class,Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,RetType>::thread_entry_point),
+                 fun_ptr (fun_ptr),
+                 object (object),
+                 arg1 (arg1),
+                 arg2 (arg2),
+                 arg3 (arg3),
+                 arg4 (arg4),
+                 arg5 (arg5),
+                 arg6 (arg6)
   {};
 
 
@@ -4290,7 +4290,7 @@ namespace Threads
     const ThisClass *fun_data
       = dynamic_cast<const ThisClass*> (fun_encapsulation->fun_data_base);
 
-                                  // copy the parameters
+                                    // copy the parameters
     ThisClass::FunPtr fun_ptr = fun_data->fun_ptr;
     Class            *object  = fun_data->object;
     Arg1              arg1    = fun_data->arg1;
@@ -4301,9 +4301,9 @@ namespace Threads
     Arg6              arg6    = fun_data->arg6;
 
 
-                                  // copying of parameters is done,
-                                  // now we can release the lock on
-                                  // @p{fun_data}
+                                    // copying of parameters is done,
+                                    // now we can release the lock on
+                                    // @p{fun_data}
     fun_data->lock.release ();
 
                                     // call the function
@@ -4347,9 +4347,9 @@ namespace Threads
                                                                                        Arg4   arg4,
                                                                                        Arg5   arg5,
                                                                                        Arg6   arg6)
-    {
-      return collect_args (&object, arg1, arg2, arg3, arg4, arg5, arg6);
-    };
+  {
+    return collect_args (&object, arg1, arg2, arg3, arg4, arg5, arg6);
+  };
   
 
 /* ---------------------------------------------------------------- */
@@ -4499,7 +4499,7 @@ namespace Threads
 
   
   template <typename ForwardIterator>
-  vector<pair<ForwardIterator,ForwardIterator> >
+  std::vector<std::pair<ForwardIterator,ForwardIterator> >
   split_range (const ForwardIterator &begin, const ForwardIterator &end,
               const unsigned int n_intervals)
   {
@@ -4507,7 +4507,7 @@ namespace Threads
     const unsigned int n_elements_per_interval = n_elements / n_intervals;
     const unsigned int residual                = n_elements % n_intervals;
     
-    vector<pair<ForwardIterator,ForwardIterator> >
+    std::vector<std::pair<ForwardIterator,ForwardIterator> >
       return_values (n_intervals);
 
     return_values[0].first = begin;
index 2d99107a1254ab138a1c66b36cd90b5707614757..b82935f93fa4adf63b4829994d3750641d2ccecc 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -35,7 +35,7 @@
  *
  *   timer.stop ();
  *
- *   cout << "Elapsed time: " << timer() << " seconds.";
+ *   std::cout << "Elapsed time: " << timer() << " seconds.";
  *
  *   // reset timer for the next thing it shall do
  *   timer.reset();
index 96ab9a8da0762374fa5dc0501345327e9ae0dced..b1096d5268d7b5236c62beb00d3862188dd393c2 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -20,9 +20,9 @@ ConvergenceTable::ConvergenceTable()
 {}
 
 
-void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
-                                                 const string &reference_column_key,
-                                                 const RateMode rate_mode)
+void ConvergenceTable::evaluate_convergence_rates(const std::string &data_column_key,
+                                                 const std::string &reference_column_key,
+                                                 const RateMode     rate_mode)
 {
   Assert(columns.count(data_column_key),
         ExcColumnNotExistent(data_column_key));
@@ -32,12 +32,12 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
   if (rate_mode==none)
     return;
  
-  vector<TableEntryBase *> &entries=columns[data_column_key].entries;
-  string rate_key=data_column_key;
+  std::vector<TableEntryBase *> &entries=columns[data_column_key].entries;
+  std::string rate_key=data_column_key;
 
   const unsigned int n=entries.size();
   
-  vector<double> values(n);
+  std::vector<double> values(n);
   for (unsigned int i=0; i<n; ++i)
     {
       if (dynamic_cast<TableEntry<double>*>(entries[i]) != 0)
@@ -66,7 +66,7 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
   columns[rate_key].flag=1;
   set_precision(rate_key, 2);
 
-  string superkey=data_column_key;
+  std::string superkey=data_column_key;
   if (!supercolumns.count(superkey))
     {
       add_column_to_supercolumn(data_column_key, superkey);
@@ -77,17 +77,17 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
 }
 
 
-void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
-                                                 const RateMode rate_mode)
+void ConvergenceTable::evaluate_convergence_rates(const std::string &data_column_key,
+                                                 const RateMode     rate_mode)
 {
   Assert(columns.count(data_column_key), ExcColumnNotExistent(data_column_key));
   
-  vector<TableEntryBase *> &entries=columns[data_column_key].entries;
-  string rate_key=data_column_key+"...";
+  std::vector<TableEntryBase *> &entries=columns[data_column_key].entries;
+  std::string rate_key=data_column_key+"...";
 
   const unsigned int n=entries.size();
   
-  vector<double> values(n);
+  std::vector<double> values(n);
   for (unsigned int i=0; i<n; ++i)
     {
       if (dynamic_cast<TableEntry<double>*>(entries[i]) != 0)
@@ -111,7 +111,7 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
            Assert(columns.count(rate_key)==0, ExcRateColumnAlreadyExists(rate_key));
                                             // no value available for the
                                             // first row
-           add_value(rate_key, string("-"));
+           add_value(rate_key, std::string("-"));
            for (unsigned int i=1; i<n; ++i)
              add_value(rate_key, values[i-1]/values[i]);
            break;
@@ -120,7 +120,7 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
            Assert(columns.count(rate_key)==0, ExcRateColumnAlreadyExists(rate_key));
                                             // no value availble for the
                                             // first row
-           add_value(rate_key, string("-"));
+           add_value(rate_key, std::string("-"));
            for (unsigned int i=1; i<n; ++i)
              add_value(rate_key, log(values[i-1]/values[i])/log(2));
            break;
@@ -133,7 +133,7 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
   set_precision(rate_key, 2);
   
                                   // set the superkey equal to the key
-  string superkey=data_column_key;
+  std::string superkey=data_column_key;
                                   // and set the tex caption of the supercolumn
                                   // to the tex caption of the data_column.
   if (!supercolumns.count(superkey))
@@ -145,19 +145,19 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key,
   add_column_to_supercolumn(rate_key, superkey);
 }
 
-void ConvergenceTable::omit_column_from_convergence_rate_evaluation(const string &key)
+void ConvergenceTable::omit_column_from_convergence_rate_evaluation(const std::string &key)
 {
   Assert(columns.count(key), ExcColumnNotExistent(key));
   
-  const map<string, Column>::iterator col_iter=columns.find(key);
+  const std::map<std::string, Column>::iterator col_iter=columns.find(key);
   col_iter->second.flag=1;
 }
 
 
-void ConvergenceTable::evaluate_all_convergence_rates(const string &reference_column_key,
+void ConvergenceTable::evaluate_all_convergence_rates(const std::string &reference_column_key,
                                                      const RateMode rate_mode)
 {
-  for (map<string, Column>::const_iterator col_iter=columns.begin();
+  for (std::map<std::string, Column>::const_iterator col_iter=columns.begin();
        col_iter!=columns.end(); ++col_iter)
     if (!col_iter->second.flag)
       evaluate_convergence_rates(col_iter->first, reference_column_key, rate_mode);
@@ -166,7 +166,7 @@ void ConvergenceTable::evaluate_all_convergence_rates(const string &reference_co
 
 void ConvergenceTable::evaluate_all_convergence_rates(const RateMode rate_mode)
 {
-  for (map<string, Column>::const_iterator col_iter=columns.begin();
+  for (std::map<std::string, Column>::const_iterator col_iter=columns.begin();
        col_iter!=columns.end(); ++col_iter)
     if (!col_iter->second.flag)
       evaluate_convergence_rates(col_iter->first, rate_mode);
index d6dc2f4d65aab6b21cbfead8018d6463cafa1759..618cb56fc12a8b237ea39344aa9e822e4aef613f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index ea55db556b752ff1dfdcfd5ce22aec170c8db8a3..4cf50d335a5e49c059183ab6a281a0e1f5d12234 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -26,8 +26,8 @@
 template <int dim, int spacedim>
 DataOutBase::Patch<dim,spacedim>::Patch () :
                n_subdivisions (1)
-                                // all the other data has a
-                                // constructor of its own
+                                  // all the other data has a
+                                  // constructor of its own
 {
   Assert (dim<=spacedim, ExcInvalidCombinationOfDimensions(dim,spacedim));
   Assert (spacedim<=3, ExcNotImplemented());
@@ -50,10 +50,10 @@ DataOutBase::Patch<dim,spacedim>::memory_consumption () const
 
 
 template <int dim, int spacedim>
-void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
-                            const vector<string>               &data_names,
-                            const UcdFlags                     &flags,
-                            ostream                            &out) 
+void DataOutBase::write_ucd (const std::vector<Patch<dim,spacedim> > &patches,
+                            const std::vector<std::string>          &data_names,
+                            const UcdFlags                          &flags,
+                            std::ostream                            &out) 
 {
   AssertThrow (out, ExcIO());
 
@@ -65,7 +65,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                                   // and cells for later use
   unsigned int n_cells = 0,
               n_nodes = 0;
-  for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+  for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
        patch!=patches.end(); ++patch)
     switch (dim)
       {
@@ -97,19 +97,19 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
     {
       time_t  time1= time (0);
       tm     *time = localtime(&time1); 
-      out << "# This file was generated by the deal.II library." << endl
+      out << "# This file was generated by the deal.II library." << std::endl
          << "# Date =  "
          << time->tm_year+1900 << "/"
          << time->tm_mon+1 << "/"
-         << time->tm_mday << endl
+         << time->tm_mday << std::endl
          << "# Time =  "
          << time->tm_hour << ":"
-         << setw(2) << time->tm_min << ":"
-         << setw(2) << time->tm_sec << endl
-         << "#" << endl
+         << std::setw(2) << time->tm_min << ":"
+         << std::setw(2) << time->tm_sec << std::endl
+         << "#" << std::endl
          << "# For a description of the UCD format see the AVS Developer's guide."
-         << endl
-         << "#" << endl;
+         << std::endl
+         << "#" << std::endl;
     };
 
                                   // start with ucd data
@@ -118,7 +118,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
       << n_data_sets << ' '
       << 0 << ' '                  // no cell data at present
       << 0                         // no model data
-      << endl;
+      << std::endl;
 
                                   ///////////////////////////////
                                   // first make up the list of used
@@ -132,7 +132,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
     {
       unsigned int present_node = 1;
       
-      for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+      for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
           patch!=patches.end(); ++patch)
        {
          const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -158,7 +158,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                                                     // fill with zeroes
                    for (unsigned int i=spacedim; i<3; ++i)
                      out << "0 ";
-                   out << endl;
+                   out << std::endl;
                  };
                
                break;
@@ -189,7 +189,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                                                       // fill with zeroes
                      for (unsigned int i=spacedim; i<3; ++i)
                        out << "0 ";
-                     out << endl;
+                     out << std::endl;
 
                      ++present_node;
                    };
@@ -237,7 +237,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                                                         // fill with zeroes unnecessary here
                        for (unsigned int i=spacedim; i<3; ++i)
                          out << "0 ";
-                       out << endl;
+                       out << std::endl;
                        
                        ++present_node;
                      };
@@ -263,7 +263,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
       unsigned int present_cell = 1;      
       unsigned int first_vertex_of_patch = 0;
       
-      for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+      for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
           patch!=patches.end(); ++patch)
        {
          const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -278,7 +278,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                  out << present_cell
                      << " 0  line  "        // set material id to 0
                      << first_vertex_of_patch+i+1 << ' '
-                     << first_vertex_of_patch+i+1+1 << endl;
+                     << first_vertex_of_patch+i+1+1 << std::endl;
                break;
              };
               
@@ -293,7 +293,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                          << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1 << ' '
                          << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1+1 << ' '
                          << first_vertex_of_patch+i*(n_subdivisions+1)+j+1+1
-                         << endl;
+                         << std::endl;
                      ++present_cell;
                    };
                break;
@@ -316,7 +316,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                            << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j  )*(n_subdivisions+1)+k+1+1 << ' '
                            << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j+1)*(n_subdivisions+1)+k+1+1 << ' '
                            << first_vertex_of_patch+(i*(n_subdivisions+1)+j+1    )*(n_subdivisions+1)+k+1+1 << ' '
-                           << endl;
+                           << std::endl;
                        ++present_cell;
                      };
                break;
@@ -347,7 +347,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                    Assert (false, ExcNotImplemented());
            };
        };
-      out << endl;
+      out << std::endl;
 
                                       // note that we number starting with 1!
       Assert (present_cell == n_cells+1,
@@ -363,17 +363,17 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
       for (unsigned int i=0; i<n_data_sets; ++i)
        out << 1 << ' ';               // number of components;
                                       // only 1 supported presently
-      out << endl;
+      out << std::endl;
 
       for (unsigned int data_set=0; data_set<n_data_sets; ++data_set)
        out << data_names[data_set]
            << ",dimensionless"      // no units supported at present
-           << endl;
+           << std::endl;
 
 
                                       // loop over all patches
       unsigned int present_node = 1;
-      for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+      for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
           patch != patches.end(); ++patch)
        {
          const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -400,7 +400,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                    for (unsigned int data_set=0; data_set<n_data_sets; ++data_set)
                      out << patch->data(data_set,i) << ' ';
 
-                   out << endl;
+                   out << std::endl;
                  };
            
                break;
@@ -416,7 +416,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                      for (unsigned int data_set=0; data_set<n_data_sets; ++data_set)
                        out << patch->data(data_set,i*(n_subdivisions+1) + j) << ' ';
 
-                     out << endl;
+                     out << std::endl;
 
                      ++present_node;
                    };
@@ -437,7 +437,7 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
                                             (i*(n_subdivisions+1)+j)*(n_subdivisions+1)+k)
                              << ' ';
                        
-                       out << endl;
+                       out << std::endl;
                        
                        ++present_node;
                      };
@@ -460,10 +460,10 @@ void DataOutBase::write_ucd (const vector<Patch<dim,spacedim> > &patches,
 
 
 template <int dim, int spacedim>
-void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
-                                const vector<string>               &data_names,
-                                const GnuplotFlags                 &/*flags*/,
-                                ostream                            &out) 
+void DataOutBase::write_gnuplot (const std::vector<Patch<dim,spacedim> > &patches,
+                                const std::vector<std::string>          &data_names,
+                                const GnuplotFlags                      &/*flags*/,
+                                std::ostream                            &out) 
 {
   AssertThrow (out, ExcIO());
   
@@ -479,19 +479,19 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                                       // use
       const time_t  time1= time (0);
       const tm     *time = localtime(&time1); 
-      out << "# This file was generated by the deal.II library." << endl
+      out << "# This file was generated by the deal.II library." << std::endl
          << "# Date =  "
          << time->tm_year+1900 << "/"
          << time->tm_mon+1 << "/"
-         << time->tm_mday << endl
+         << time->tm_mday << std::endl
          << "# Time =  "
          << time->tm_hour << ":"
-         << setw(2) << time->tm_min << ":"
-         << setw(2) << time->tm_sec << endl
-         << "#" << endl
+         << std::setw(2) << time->tm_min << ":"
+         << std::setw(2) << time->tm_sec << std::endl
+         << "#" << std::endl
          << "# For a description of the GNUPLOT format see the GNUPLOT manual."
-         << endl
-         << "#" << endl
+         << std::endl
+         << "#" << std::endl
          << "# ";
       
       switch (spacedim)
@@ -514,12 +514,12 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
        out << '<'
            << data_names[i]
            << "> ";
-      out << endl;      
+      out << std::endl;      
     };
 
 
                                   // loop over all patches
-  for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+  for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
        patch != patches.end(); ++patch)
     {
       const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -550,12 +550,12 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                for (unsigned int data_set=0; data_set<n_data_sets; ++data_set)
                  out << patch->data(data_set,i) << ' ';
 
-               out << endl;
+               out << std::endl;
              };
 
                                             // end of patch
-           out << endl
-               << endl;
+           out << std::endl
+               << std::endl;
            
            break;
          };
@@ -580,15 +580,15 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                    for (unsigned int data_set=0; data_set<n_data_sets; ++data_set)
                      out << patch->data(data_set,i*(n_subdivisions+1) + j) << ' ';
 
-                   out << endl;
+                   out << std::endl;
                  };
 
                                                 // end of row in patch
-               out << endl;
+               out << std::endl;
              };
 
                                             // end of patch
-           out << endl;
+           out << std::endl;
 
            break;
          };
@@ -638,7 +638,7 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                          out  << ' '
                               << patch->data(data_set,
                                              (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k);
-                       out << endl;
+                       out << std::endl;
                        
                                                         // write point there
                                                         // and its data
@@ -655,11 +655,11 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                          out  << ' '
                               << patch->data(data_set,
                                              ((i+1)*(n_subdivisions+1) + j)*(n_subdivisions+1)+k);
-                       out << endl;
+                       out << std::endl;
 
                                                         // end of line
-                       out << endl
-                           << endl;
+                       out << std::endl
+                           << std::endl;
                      };
                    
                                                     // line into positive y-direction
@@ -673,7 +673,7 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                          out  << ' '
                               << patch->data(data_set,
                                              (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k);
-                       out << endl;
+                       out << std::endl;
                        
                                                         // write point there
                                                         // and its data
@@ -690,11 +690,11 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                          out  << ' '
                               << patch->data(data_set,
                                              (i*(n_subdivisions+1) + (j+1))*(n_subdivisions+1)+k);
-                       out << endl;
+                       out << std::endl;
 
                                                         // end of line
-                       out << endl
-                           << endl;
+                       out << std::endl
+                           << std::endl;
                      };
 
                                                     // line into positive z-direction
@@ -708,7 +708,7 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                          out  << ' '
                               << patch->data(data_set,
                                              (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k);
-                       out << endl;
+                       out << std::endl;
                        
                                                         // write point there
                                                         // and its data
@@ -725,11 +725,11 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
                          out  << ' '
                               << patch->data(data_set,
                                              (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k+1);
-                       out << endl;
+                       out << std::endl;
 
                                                         // end of line
-                       out << endl
-                           << endl;
+                       out << std::endl
+                           << std::endl;
                      };                    
                        
                  };
@@ -748,10 +748,10 @@ void DataOutBase::write_gnuplot (const vector<Patch<dim,spacedim> > &patches,
 
 
 template <int dim, int spacedim>
-void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
-                               const vector<string>               &data_names,
-                               const PovrayFlags                  &flags,
-                               ostream                            &out) 
+void DataOutBase::write_povray (const std::vector<Patch<dim,spacedim> > &patches,
+                               const std::vector<std::string>          &data_names,
+                               const PovrayFlags                       &flags,
+                               std::ostream                            &out) 
 {
   AssertThrow (out, ExcIO());
   
@@ -761,64 +761,64 @@ void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
 
   const unsigned int n_data_sets = data_names.size();
   
-                                    // write preamble
+                                  // write preamble
   if (true) 
     {
-                                    // block this to have local
-                                    // variables destroyed after use
+                                      // block this to have local
+                                      // variables destroyed after use
       const time_t  time1= time (0);
       const tm     *time = localtime(&time1); 
-      out << "/* This file was generated by the deal.II library." << endl
+      out << "/* This file was generated by the deal.II library." << std::endl
          << "   Date =  "
          << time->tm_year+1900 << "/"
          << time->tm_mon+1 << "/"
-         << time->tm_mday << endl
+         << time->tm_mday << std::endl
          << "   Time =  "
          << time->tm_hour << ":"
-         << setw(2) << time->tm_min << ":"
-         << setw(2) << time->tm_sec << endl
-         << endl
+         << std::setw(2) << time->tm_min << ":"
+         << std::setw(2) << time->tm_sec << std::endl
+         << std::endl
          << "   For a description of the POVRAY format see the POVRAY manual."
-         << endl
-         << "*/ " << endl;
+         << std::endl
+         << "*/ " << std::endl;
       
                                       // include files
-      out << "#include \"colors.inc\" " << endl
-         << "#include \"textures.inc\" " << endl;
+      out << "#include \"colors.inc\" " << std::endl
+         << "#include \"textures.inc\" " << std::endl;
 
       
                                       // use external include file for textures,
                                       // camera and light
       if (flags.external_data)
-       out << "#include \"data.inc\" " << endl;
+       out << "#include \"data.inc\" " << std::endl;
       else                          // all definitions in data file
        {  
                                           // camera
-         out << endl << endl
-             << "camera {"            << endl
-             << "  location <1,4,-7>" << endl
-             << "  look_at <0,0,0>"   << endl
-             << "  angle 30"          << endl
-             << "}"                   << endl;
+         out << std::endl << std::endl
+             << "camera {"            << std::endl
+             << "  location <1,4,-7>" << std::endl
+             << "  look_at <0,0,0>"   << std::endl
+             << "  angle 30"          << std::endl
+             << "}"                   << std::endl;
          
                                           // light
-         out << endl 
-             << "light_source {"      << endl
-             << "  <1,4,-7>"      << endl
-             << "  color Grey"        << endl
-             << "}"                   << endl;
-         out << endl 
-             << "light_source {"      << endl
-             << "  <0,20,0>"      << endl
-             << "  color White"       << endl
-             << "}"                   << endl;
+         out << std::endl 
+             << "light_source {"      << std::endl
+             << "  <1,4,-7>"      << std::endl
+             << "  color Grey"        << std::endl
+             << "}"                   << std::endl;
+         out << std::endl 
+             << "light_source {"      << std::endl
+             << "  <0,20,0>"      << std::endl
+             << "  color White"       << std::endl
+             << "}"                   << std::endl;
        }
     };
   
                                   // max. and min. heigth of solution 
   double hmin=0, hmax=0;
 
-  for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+  for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
        patch != patches.end(); ++patch)
     {
       const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -843,32 +843,32 @@ void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
          }
     }
 
-  out << "#declare HMIN=" << hmin << ";" << endl
-      << "#declare HMAX=" << hmax << ";" << endl << endl;
+  out << "#declare HMIN=" << hmin << ";" << std::endl
+      << "#declare HMAX=" << hmax << ";" << std::endl << std::endl;
 
   if (!flags.external_data)
     {
-                                    // texture with scaled niveau lines
-                                    // 10 lines in the surface
-      out << "#declare Tex=texture{" << endl
-         << "  pigment {" << endl
-         << "    gradient y" << endl
-         << "    scale y*(HMAX-HMIN)*" << 0.1 << endl
-         << "    color_map {" << endl
-         << "      [0.00 color Light_Purple] " << endl
-         << "      [0.95 color Light_Purple] " << endl
-         << "      [1.00 color White]    " << endl
-         << "} } }" << endl << endl;
+                                      // texture with scaled niveau lines
+                                      // 10 lines in the surface
+      out << "#declare Tex=texture{" << std::endl
+         << "  pigment {" << std::endl
+         << "    gradient y" << std::endl
+         << "    scale y*(HMAX-HMIN)*" << 0.1 << std::endl
+         << "    color_map {" << std::endl
+         << "      [0.00 color Light_Purple] " << std::endl
+         << "      [0.95 color Light_Purple] " << std::endl
+         << "      [1.00 color White]    " << std::endl
+         << "} } }" << std::endl << std::endl;
     }
 
   if (!flags.bicubic_patch)
     {                                  // start of mesh header
-      out << endl
-         << "mesh {" << endl;
+      out << std::endl
+         << "mesh {" << std::endl;
     }
 
-                                     // loop over all patches
-  for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+                                  // loop over all patches
+  for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
        patch != patches.end(); ++patch)
     {
       const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -892,9 +892,9 @@ void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
          for (unsigned int j=0; j<n_subdivisions+1; ++j)
            {
              const double x_frac = i * 1./n_subdivisions,
-               y_frac = j * 1./n_subdivisions;
-                                                  // compute coordinates for
-                                                  // this patch point, storing in ver
+                          y_frac = j * 1./n_subdivisions;
+                                              // compute coordinates for
+                                              // this patch point, storing in ver
              ver[i*(n_subdivisions+1)+j]= (((patch->vertices[1] * x_frac) +
                                             (patch->vertices[0] * (1-x_frac))) * (1-y_frac) +
                                            ((patch->vertices[2] * x_frac) +
@@ -908,7 +908,7 @@ void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
            {
              for (unsigned int j=0; j<n_subdivisions; ++j)
                {
-                                                    // down/left vertex of triangle
+                                                  // down/left vertex of triangle
                  const int dl = i*(n_subdivisions+1)+j;
                  if (flags.smooth)               // only if smooth triangles are used
                    {
@@ -939,80 +939,80 @@ void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
                              if (j!=n_subdivisions&&j!=0) nrml[i*(n_subdivisions+1)+j](2)/=2;
                              nrml[i*(n_subdivisions+1)+j](1)=1.;
 
-                                                               // normalize Vektor
+                                                              // normalize Vektor
                              double norm=sqrt(
-                                             pow(nrml[i*(n_subdivisions+1)+j](0),2.)+
-                                             pow(nrml[i*(n_subdivisions+1)+j](1),2.)+1.);
+                               pow(nrml[i*(n_subdivisions+1)+j](0),2.)+
+                               pow(nrml[i*(n_subdivisions+1)+j](1),2.)+1.);
                              
                              for (unsigned int k=0;k<3;++k)  nrml[i*(n_subdivisions+1)+j](k)/=norm;
                            }
                        }
-                                                            // writing smooth_triangles
+                                                      // writing smooth_triangles
                                
-                                                            // down/right triangle
-                     out << "smooth_triangle {" << endl << "\t<" 
+                                                      // down/right triangle
+                     out << "smooth_triangle {" << std::endl << "\t<" 
                          << ver[dl](0) << ","   
                          << patch->data(0,dl) << ","
                          << ver[dl](1) << ">, <"
-                         << nrml[dl] << ">," << endl
+                         << nrml[dl] << ">," << std::endl
                          << " \t<" 
                          << ver[dl+n_subdivisions+1](0) << "," 
                          << patch->data(0,dl+n_subdivisions+1)  << ","
                          << ver[dl+n_subdivisions+1](1) << ">, <"
-                         << nrml[dl+n_subdivisions+1] << ">," << endl 
+                         << nrml[dl+n_subdivisions+1] << ">," << std::endl 
                          << "\t<" 
                          << ver[dl+n_subdivisions+2](0) << "," 
                          << patch->data(0,dl+n_subdivisions+2)  << ","
                          << ver[dl+n_subdivisions+2](1) << ">, <"
-                         << nrml[dl+n_subdivisions+2] << ">}" << endl; 
+                         << nrml[dl+n_subdivisions+2] << ">}" << std::endl; 
                      
-                                                    // upper/left triangle
-                     out << "smooth_triangle {" << endl << "\t<" 
+                                                      // upper/left triangle
+                     out << "smooth_triangle {" << std::endl << "\t<" 
                          << ver[dl](0) << "," 
                          << patch->data(0,dl) << ","
                          << ver[dl](1) << ">, <"
-                         << nrml[dl] << ">," << endl 
+                         << nrml[dl] << ">," << std::endl 
                          << "\t<" 
                          << ver[dl+n_subdivisions+2](0) << "," 
                          << patch->data(0,dl+n_subdivisions+2)  << ","
                          << ver[dl+n_subdivisions+2](1) << ">, <"
-                         << nrml[dl+n_subdivisions+2] << ">," << endl 
+                         << nrml[dl+n_subdivisions+2] << ">," << std::endl 
                          << "\t<" 
                          << ver[dl+1](0) << "," 
                          << patch->data(0,dl+1)  << ","
                          << ver[dl+1](1) << ">, <"
-                         << nrml[dl+1] << ">}" << endl;
+                         << nrml[dl+1] << ">}" << std::endl;
                    }
                  else
                    {           
-                                           // writing standard triangles
-                                            // down/right triangle
-                     out << "triangle {" << endl << "\t<" 
+                                                      // writing standard triangles
+                                                      // down/right triangle
+                     out << "triangle {" << std::endl << "\t<" 
                          << ver[dl](0) << "," 
                          << patch->data(0,dl) << ","
-                         << ver[dl](1) << ">," << endl
+                         << ver[dl](1) << ">," << std::endl
                          << "\t<" 
                          << ver[dl+n_subdivisions+1](0) << "," 
                          << patch->data(0,dl+n_subdivisions+1)  << ","
-                         << ver[dl+n_subdivisions+1](1) << ">," << endl 
+                         << ver[dl+n_subdivisions+1](1) << ">," << std::endl 
                          << "\t<" 
                          << ver[dl+n_subdivisions+2](0) << "," 
                          << patch->data(0,dl+n_subdivisions+2)  << ","
-                         << ver[dl+n_subdivisions+2](1) << ">}" << endl; 
+                         << ver[dl+n_subdivisions+2](1) << ">}" << std::endl; 
                            
-                                                    // upper/left triangle
-                     out << "triangle {" << endl << "\t<" 
+                                                      // upper/left triangle
+                     out << "triangle {" << std::endl << "\t<" 
                          << ver[dl](0) << "," 
                          << patch->data(0,dl) << ","
-                         << ver[dl](1) << ">," << endl 
+                         << ver[dl](1) << ">," << std::endl 
                          << "\t<"
                          << ver[dl+n_subdivisions+2](0) << "," 
                          << patch->data(0,dl+n_subdivisions+2)  << ","
-                         << ver[dl+n_subdivisions+2](1) << ">," << endl 
+                         << ver[dl+n_subdivisions+2](1) << ">," << std::endl 
                          << "\t<" 
                          << ver[dl+1](0) << "," 
                          << patch->data(0,dl+1)  << ","
-                         << ver[dl+1](1) << ">}" << endl;
+                         << ver[dl+1](1) << ">}" << std::endl;
                    };
                };
            };
@@ -1020,28 +1020,28 @@ void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
       else
        {                                    // writing bicubic_patch
          Assert (n_subdivisions==3, ExcUnexpectedNumberOfSubdivisions(n_subdivisions,3));
-         out << endl
-             << "bicubic_patch {" << endl
-             << "  type 0" << endl
-             << "  flatness 0" << endl
-             << "  u_steps 0" << endl
-             << "  v_steps 0" << endl;
+         out << std::endl
+             << "bicubic_patch {" << std::endl
+             << "  type 0" << std::endl
+             << "  flatness 0" << std::endl
+             << "  u_steps 0" << std::endl
+             << "  v_steps 0" << std::endl;
          for (int i=0;i<16;++i)
            {
              out << "\t<" << ver[i](0) << "," << patch->data(0,i) << "," << ver[i](1) << ">";
              if (i!=15) out << ",";
-             out << endl;
+             out << std::endl;
            };
-         out << "  texture {Tex}" <<  endl
-             << "}" << endl;
+         out << "  texture {Tex}" <<  std::endl
+             << "}" << std::endl;
        };
     };
   
   if (!flags.bicubic_patch) 
     {                                   // the end of the mesh
-      out << "  texture {Tex}" << endl
-         << "}" << endl
-         << endl;
+      out << "  texture {Tex}" << std::endl
+         << "}" << std::endl
+         << std::endl;
     }
   
   AssertThrow (out, ExcIO());
@@ -1050,10 +1050,10 @@ void DataOutBase::write_povray (const vector<Patch<dim,spacedim> > &patches,
 
 
 template <int dim, int spacedim>
-void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
-                            const vector<string>               &/*data_names*/,
-                            const EpsFlags                     &flags,
-                            ostream                            &out) 
+void DataOutBase::write_eps (const std::vector<Patch<dim,spacedim> > &patches,
+                            const std::vector<std::string>          &/*data_names*/,
+                            const EpsFlags                          &flags,
+                            std::ostream                            &out) 
 {
   Assert (out, ExcIO());
   
@@ -1075,7 +1075,7 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                                         // of the center point of the cell
                                         // along the line of sight as value
                                         // for sorting
-       multiset<EpsCell2d> cells;
+       std::multiset<EpsCell2d> cells;
 
                                         // two variables in which we
                                         // will store the minimum and
@@ -1091,7 +1091,7 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                                         // note that since dim==2, we
                                         // have exactly four vertices per
                                         // patch and per cell
-       for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+       for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
             patch!=patches.end(); ++patch)
          {
            const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -1110,21 +1110,21 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                         ((patch->vertices[2] * x_frac) +
                          (patch->vertices[3] * (1-x_frac))) * y_frac),
 
-                       (((patch->vertices[1] * x_frac1) +
-                         (patch->vertices[0] * (1-x_frac1))) * (1-y_frac) +
-                        ((patch->vertices[2] * x_frac1) +
-                         (patch->vertices[3] * (1-x_frac1))) * y_frac),
+                         (((patch->vertices[1] * x_frac1) +
+                           (patch->vertices[0] * (1-x_frac1))) * (1-y_frac) +
+                          ((patch->vertices[2] * x_frac1) +
+                           (patch->vertices[3] * (1-x_frac1))) * y_frac),
 
-                       (((patch->vertices[1] * x_frac1) +
-                         (patch->vertices[0] * (1-x_frac1))) * (1-y_frac1) +
-                        ((patch->vertices[2] * x_frac1) +
-                         (patch->vertices[3] * (1-x_frac1))) * y_frac1),
+                         (((patch->vertices[1] * x_frac1) +
+                           (patch->vertices[0] * (1-x_frac1))) * (1-y_frac1) +
+                          ((patch->vertices[2] * x_frac1) +
+                           (patch->vertices[3] * (1-x_frac1))) * y_frac1),
 
-                       (((patch->vertices[1] * x_frac) +
-                         (patch->vertices[0] * (1-x_frac))) * (1-y_frac1) +
-                        ((patch->vertices[2] * x_frac) +
-                         (patch->vertices[3] * (1-x_frac))) * y_frac1) 
-                   };
+                         (((patch->vertices[1] * x_frac) +
+                           (patch->vertices[0] * (1-x_frac))) * (1-y_frac1) +
+                          ((patch->vertices[2] * x_frac) +
+                           (patch->vertices[3] * (1-x_frac))) * y_frac1) 
+                         };
 
                  Assert ((flags.height_vector < patch->data.m()) ||
                          patch->data.m() == 0,
@@ -1260,14 +1260,14 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
        double y_min = cells.begin()->vertices[0](1);
        double y_max = y_min;
        
-       for (multiset<EpsCell2d>::const_iterator cell=cells.begin();
+       for (std::multiset<EpsCell2d>::const_iterator cell=cells.begin();
             cell!=cells.end(); ++cell)
          for (unsigned int vertex=0; vertex<4; ++vertex)
            {
-             x_min = min (x_min, cell->vertices[vertex](0));
-             x_max = max (x_max, cell->vertices[vertex](0));
-             y_min = min (y_min, cell->vertices[vertex](1));
-             y_max = max (y_max, cell->vertices[vertex](1));
+             x_min = std::min (x_min, cell->vertices[vertex](0));
+             x_max = std::max (x_max, cell->vertices[vertex](0));
+             y_min = std::min (y_min, cell->vertices[vertex](1));
+             y_max = std::max (y_max, cell->vertices[vertex](1));
            };
        
                                         // scale in x-direction such that
@@ -1291,16 +1291,16 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                                             // use
            time_t  time1= time (0);
            tm     *time = localtime(&time1); 
-           out << "%!PS-Adobe-2.0 EPSF-1.2" << endl
-               << "%%Title: deal.II Output" << endl
-               << "%%Creator: the deal.II library" << endl
+           out << "%!PS-Adobe-2.0 EPSF-1.2" << std::endl
+               << "%%Title: deal.II Output" << std::endl
+               << "%%Creator: the deal.II library" << std::endl
                << "%%Creation Date: " 
                << time->tm_year+1900 << "/"
                << time->tm_mon+1 << "/"
                << time->tm_mday << " - "
                << time->tm_hour << ":"
-               << setw(2) << time->tm_min << ":"
-               << setw(2) << time->tm_sec << endl
+               << std::setw(2) << time->tm_min << ":"
+               << std::setw(2) << time->tm_sec << std::endl
                << "%%BoundingBox: "
                                               // lower left corner
                << "0 0 "
@@ -1308,7 +1308,7 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                << static_cast<unsigned int>( (x_max-x_min) * scale )
                << ' '
                << static_cast<unsigned int>( (y_max-y_min) * scale )
-               << endl;
+               << std::endl;
            
                                             // define some abbreviations to keep
                                             // the output small:
@@ -1318,23 +1318,23 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                                             // sg=set gray value
                                             // lx=close the line and plot the line
                                             // lf=close the line and fill the interior
-           out << "/m {moveto} bind def"      << endl
-               << "/l {lineto} bind def"      << endl
-               << "/s {setrgbcolor} bind def" << endl
-               << "/sg {setgray} bind def"    << endl
-               << "/lx {lineto closepath stroke} bind def" << endl
-               << "/lf {lineto closepath fill} bind def"   << endl;
+           out << "/m {moveto} bind def"      << std::endl
+               << "/l {lineto} bind def"      << std::endl
+               << "/s {setrgbcolor} bind def" << std::endl
+               << "/sg {setgray} bind def"    << std::endl
+               << "/lx {lineto closepath stroke} bind def" << std::endl
+               << "/lf {lineto closepath fill} bind def"   << std::endl;
            
-           out << "%%EndProlog" << endl
-               << endl;
+           out << "%%EndProlog" << std::endl
+               << std::endl;
                                             // set fine lines
-           out << flags.line_width << " setlinewidth" << endl;
+           out << flags.line_width << " setlinewidth" << std::endl;
                                             // allow only five digits
                                             // for output (instead of the
                                             // default six); this should suffice
                                             // even for fine grids, but reduces
                                             // the file size significantly
-           out << setprecision (5);
+           out << std::setprecision (5);
          };
 
                                         // now we've got all the information
@@ -1342,7 +1342,7 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                                         // note: due to the ordering, we
                                         // traverse the list of cells
                                         // back-to-front
-       for (multiset<EpsCell2d>::const_iterator cell=cells.begin();
+       for (std::multiset<EpsCell2d>::const_iterator cell=cells.begin();
             cell!=cells.end(); ++cell)
          {
            if (flags.draw_cells) 
@@ -1365,7 +1365,7 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                    << (cell->vertices[1]-offset) * scale << " l "
                    << (cell->vertices[2]-offset) * scale << " l "
                    << (cell->vertices[3]-offset) * scale << " lf"
-                   << endl;
+                   << std::endl;
              };
            
            if (flags.draw_mesh)
@@ -1374,9 +1374,9 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
                  << (cell->vertices[1]-offset) * scale << " l "
                  << (cell->vertices[2]-offset) * scale << " l "
                  << (cell->vertices[3]-offset) * scale << " lx"
-                 << endl;
+                 << std::endl;
          };
-       out << "showpage" << endl;
+       out << "showpage" << std::endl;
        
        break;
       };
@@ -1389,10 +1389,10 @@ void DataOutBase::write_eps (const vector<Patch<dim,spacedim> > &patches,
 
 
 template <int dim, int spacedim>
-void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
-                            const vector<string>               &data_names,
-                            const GmvFlags                     &/*flags*/,
-                            ostream                            &out) 
+void DataOutBase::write_gmv (const std::vector<Patch<dim,spacedim> > &patches,
+                            const std::vector<std::string>          &data_names,
+                            const GmvFlags                          &/*flags*/,
+                            std::ostream                            &out) 
 {
   AssertThrow (out, ExcIO());
 
@@ -1410,14 +1410,14 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                                   ///////////////////////
                                   // preamble
   out << "gmvinput ascii"
-      << endl
-      << endl;
+      << std::endl
+      << std::endl;
 
                                   // first count the number of cells
                                   // and cells for later use
   unsigned int n_cells = 0,
               n_nodes = 0;
-  for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+  for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
        patch!=patches.end(); ++patch)
     switch (dim)
       {
@@ -1465,8 +1465,8 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                                   // separate thread and when wanting
                                   // to write out the data, we wait
                                   // for that thread to finish
-  vector<vector<double> > data_vectors (n_data_sets,
-                                       vector<double> (n_nodes));
+  std::vector<std::vector<double> > data_vectors (n_data_sets,
+                                                 std::vector<double> (n_nodes));
   Threads::ThreadManager thread_manager;
   Threads::spawn (thread_manager,
                  Threads::encapsulate (&DataOutBase::template
@@ -1480,10 +1480,10 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                                   //
                                   // note that we have to print
                                   // d=1..3 dimensions
-  out << "nodes " << n_nodes << endl;
+  out << "nodes " << n_nodes << std::endl;
   for (unsigned int d=1; d<=3; ++d)
     {
-      for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+      for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
           patch!=patches.end(); ++patch)
        {
          const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -1568,22 +1568,22 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                out << "0 ";
            };
        };
-      out << endl;
+      out << std::endl;
     };
 
-  out << endl;
+  out << std::endl;
 
                                   /////////////////////////////////
                                   // now for the cells. note that
                                   // vertices are counted from 1 onwards
   if (true)
     {
-      out << "cells " << n_cells << endl;
+      out << "cells " << n_cells << std::endl;
 
 
       unsigned int first_vertex_of_patch = 0;
       
-      for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+      for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
           patch!=patches.end(); ++patch)
        {
          const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -1597,7 +1597,7 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                for (unsigned int i=0; i<n_subdivisions; ++i)
                  out << "line 2\n  "
                      << first_vertex_of_patch+i+1 << ' '
-                     << first_vertex_of_patch+i+1+1 << endl;
+                     << first_vertex_of_patch+i+1+1 << std::endl;
                break;
              };
               
@@ -1610,7 +1610,7 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                        << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1 << ' '
                        << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1+1 << ' '
                        << first_vertex_of_patch+i*(n_subdivisions+1)+j+1+1
-                       << endl;
+                       << std::endl;
                break;
              };
               
@@ -1630,7 +1630,7 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                            << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j  )*(n_subdivisions+1)+k+1+1 << ' '
                            << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j+1)*(n_subdivisions+1)+k+1+1 << ' '
                            << first_vertex_of_patch+(i*(n_subdivisions+1)+j+1    )*(n_subdivisions+1)+k+1+1 << ' '
-                           << endl;
+                           << std::endl;
                      };
                break;
              };
@@ -1660,12 +1660,12 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                    Assert (false, ExcNotImplemented());
            };
        };
-      out << endl;
+      out << std::endl;
     };
 
                                   ///////////////////////////////////////
                                   // data output.
-  out << "variable" << endl;
+  out << "variable" << std::endl;
 
                                   // now write the data vectors to
                                   // @p{out} first make sure that all
@@ -1678,22 +1678,22 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
                                   // support explicitely here)
   for (unsigned int data_set=0; data_set<n_data_sets; ++data_set)
     {
-      out << data_names[data_set] << " 1" << endl;
+      out << data_names[data_set] << " 1" << std::endl;
       copy(data_vectors[data_set].begin(),
           data_vectors[data_set].end(),
-          ostream_iterator<double>(out, " "));
-      out << endl
-         << endl;
+          std::ostream_iterator<double>(out, " "));
+      out << std::endl
+         << std::endl;
     };
 
 
   
                                   // end of variable section
-  out << "endvars" << endl;
+  out << "endvars" << std::endl;
   
                                   // end of output
   out << "endgmv"
-      << endl;
+      << std::endl;
   
                                   // assert the stream is still ok
   AssertThrow (out, ExcIO());
@@ -1703,8 +1703,8 @@ void DataOutBase::write_gmv (const vector<Patch<dim,spacedim> > &patches,
 
 template <int dim, int spacedim>
 void
-DataOutBase::write_gmv_reorder_data_vectors (const vector<Patch<dim,spacedim> > &patches,
-                                            vector<vector<double> >            &data_vectors)
+DataOutBase::write_gmv_reorder_data_vectors (const std::vector<Patch<dim,spacedim> > &patches,
+                                            std::vector<std::vector<double> >       &data_vectors)
 {
                                   // unlike in the main function, we
                                   // don't have here the data_names
@@ -1720,7 +1720,7 @@ DataOutBase::write_gmv_reorder_data_vectors (const vector<Patch<dim,spacedim> >
   
                                   // loop over all patches
   unsigned int next_value = 0;
-  for (typename vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
+  for (typename std::vector<Patch<dim,spacedim> >::const_iterator patch=patches.begin();
        patch != patches.end(); ++patch)
     {
       const unsigned int n_subdivisions = patch->n_subdivisions;
@@ -1793,16 +1793,16 @@ DataOutBase::write_gmv_reorder_data_vectors (const vector<Patch<dim,spacedim> >
 
 
 template <int dim, int spacedim>
-void DataOutInterface<dim,spacedim>::write_ucd (ostream &out) const 
+void DataOutInterface<dim,spacedim>::write_ucd (std::ostream &out) const 
 {
   DataOutBase::write_ucd (get_patches(), get_dataset_names(),
-                         ucd_flags, out);
+                                       ucd_flags, out);
 };
 
 
 
 template <int dim, int spacedim>
-void DataOutInterface<dim,spacedim>::write_gnuplot (ostream &out) const 
+void DataOutInterface<dim,spacedim>::write_gnuplot (std::ostream &out) const 
 {
   DataOutBase::write_gnuplot (get_patches(), get_dataset_names(),
                              gnuplot_flags, out);
@@ -1811,7 +1811,7 @@ void DataOutInterface<dim,spacedim>::write_gnuplot (ostream &out) const
 
 
 template <int dim, int spacedim>
-void DataOutInterface<dim,spacedim>::write_povray (ostream &out) const 
+void DataOutInterface<dim,spacedim>::write_povray (std::ostream &out) const 
 {
   DataOutBase::write_povray (get_patches(), get_dataset_names(),
                             povray_flags, out);
@@ -1820,7 +1820,7 @@ void DataOutInterface<dim,spacedim>::write_povray (ostream &out) const
 
 
 template <int dim, int spacedim>
-void DataOutInterface<dim,spacedim>::write_eps (ostream &out) const 
+void DataOutInterface<dim,spacedim>::write_eps (std::ostream &out) const 
 {
   DataOutBase::write_eps (get_patches(), get_dataset_names(),
                          eps_flags, out);
@@ -1829,7 +1829,7 @@ void DataOutInterface<dim,spacedim>::write_eps (ostream &out) const
 
 
 template <int dim, int spacedim>
-void DataOutInterface<dim,spacedim>::write_gmv (ostream &out) const 
+void DataOutInterface<dim,spacedim>::write_gmv (std::ostream &out) const 
 {
   DataOutBase::write_gmv (get_patches(), get_dataset_names(),
                          gmv_flags, out);
@@ -1838,8 +1838,8 @@ void DataOutInterface<dim,spacedim>::write_gmv (ostream &out) const
 
 
 template <int dim, int spacedim>
-void DataOutInterface<dim,spacedim>::write (ostream &out,
-                                  OutputFormat output_format) const
+void DataOutInterface<dim,spacedim>::write (std::ostream &out,
+                                           OutputFormat output_format) const
 {
   if (output_format == default_format)
     output_format = default_fmt;
@@ -1923,7 +1923,7 @@ void DataOutInterface<dim,spacedim>::set_flags (const GmvFlags &flags)
 
 
 template <int dim, int spacedim>
-string DataOutInterface<dim,spacedim>::default_suffix (OutputFormat output_format) const
+std::string DataOutInterface<dim,spacedim>::default_suffix (OutputFormat output_format) const
 {
   if (output_format == default_format)
     output_format = default_fmt;
@@ -1955,7 +1955,7 @@ string DataOutInterface<dim,spacedim>::default_suffix (OutputFormat output_forma
 
 template <int dim, int spacedim>
 DataOutInterface<dim,spacedim>::OutputFormat
-DataOutInterface<dim,spacedim>::parse_output_format (const string &format_name)
+DataOutInterface<dim,spacedim>::parse_output_format (const std::string &format_name)
 {
   if (format_name == "ucd")
     return ucd;
@@ -1981,7 +1981,7 @@ DataOutInterface<dim,spacedim>::parse_output_format (const string &format_name)
 
 
 template <int dim, int spacedim>
-string DataOutInterface<dim,spacedim>::get_output_format_names ()
+std::string DataOutInterface<dim,spacedim>::get_output_format_names ()
 {
   return "ucd|gnuplot|povray|eps|gmv";
 }
@@ -2020,7 +2020,7 @@ void DataOutInterface<dim,spacedim>::declare_parameters (ParameterHandler &prm)
 template <int dim, int spacedim>
 void DataOutInterface<dim,spacedim>::parse_parameters (ParameterHandler &prm) 
 {
-  const string& output_name = prm.get ("Output format");
+  const std::string& output_name = prm.get ("Output format");
   default_fmt = parse_output_format (output_name);
 
   prm.enter_subsection ("UCD output parameters");
index a67d5209abaeeb51a6f23afbc19ecadd92159186..028c2312447567dd9f2deed63123b598c3766dba 100644 (file)
@@ -43,24 +43,24 @@ void ExceptionBase::SetFields (const char* f,
 
 
 
-void ExceptionBase::PrintExcData (ostream &out) const
+void ExceptionBase::PrintExcData (std::ostream &out) const
 {
   out << "An error occurred in line <" << line
       << "> of file <" << file
-      << "> in function" << endl
-      << "    " << function << endl
-      << "The violated condition was: "<< endl
-      << "    " << cond << endl
-      << "The name and call sequence of the exception was:" << endl
-      << "    " << exc  << endl
-      << "Additional Information: " << endl;
+      << "> in function" << std::endl
+      << "    " << function << std::endl
+      << "The violated condition was: "<< std::endl
+      << "    " << cond << std::endl
+      << "The name and call sequence of the exception was:" << std::endl
+      << "    " << exc  << std::endl
+      << "Additional Information: " << std::endl;
 };
 
 
 
-void ExceptionBase::PrintInfo (ostream &out) const
+void ExceptionBase::PrintInfo (std::ostream &out) const
 {
-  out << "(none)" << endl;
+  out << "(none)" << std::endl;
 };
 
 
@@ -78,21 +78,21 @@ const char * ExceptionBase::what () const throw ()
                                   // and therefore need a liftime which is
                                   // longer than the execution time of this
                                   // function
-  static string description;
+  static std::string description;
                                   // convert the messages printed by the
-                                  // exceptions into a string
-  ostrstream converter;
+                                  // exceptions into a std::string
+  std::ostrstream converter;
 
   converter << "--------------------------------------------------------"
-           << endl;
-                                  // put general info into the string
+           << std::endl;
+                                  // put general info into the std::string
   PrintExcData (converter);
                                   // put in exception specific data
   PrintInfo (converter);
   
   converter << "--------------------------------------------------------"
-           << endl
-           << ends;
+           << std::endl
+           << std::ends;
 
   description = converter.str();
 
index 3444ced4ebf0c115023c8736855e3d8ff97a6858..0b39d30ba65259edb01e2239a332ed6aa63a9070 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -49,9 +49,9 @@ void Function<dim>::vector_value (const Point<dim> &,
 
 
 template <int dim>
-void Function<dim>::value_list (const vector<Point<dim> > &points,
-                               vector<double>            &values,
-                               const unsigned int         component) const
+void Function<dim>::value_list (const std::vector<Point<dim> > &points,
+                               std::vector<double>            &values,
+                               const unsigned int              component) const
 {
                                   // check whether component is in
                                   // the valid range is up to the
@@ -65,8 +65,8 @@ void Function<dim>::value_list (const vector<Point<dim> > &points,
 
 
 template <int dim>
-void Function<dim>::vector_value_list (const vector<Point<dim> > &points,
-                                      vector<Vector<double> >   &values) const
+void Function<dim>::vector_value_list (const std::vector<Point<dim> > &points,
+                                      std::vector<Vector<double> >   &values) const
 {
                                   // check whether component is in
                                   // the valid range is up to the
@@ -90,16 +90,16 @@ Tensor<1,dim> Function<dim>::gradient (const Point<dim> &,
 
 template <int dim>
 void Function<dim>::vector_gradient (const Point<dim>       &,
-                                    vector<Tensor<1,dim> > &) const
+                                    std::vector<Tensor<1,dim> > &) const
 {
   Assert (false, ExcPureFunctionCalled());
 };
 
 
 template <int dim>
-void Function<dim>::gradient_list (const vector<Point<dim> > &points,
-                                  vector<Tensor<1,dim> >    &gradients,
-                                  const unsigned int         component) const
+void Function<dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                  std::vector<Tensor<1,dim> >    &gradients,
+                                  const unsigned int              component) const
 {
   Assert (gradients.size() == points.size(),
          ExcDimensionMismatch(gradients.size(), points.size()));
@@ -110,8 +110,8 @@ void Function<dim>::gradient_list (const vector<Point<dim> > &points,
 
 
 template <int dim>
-void Function<dim>::vector_gradient_list (const vector<Point<dim> >       &points,
-                                         vector<vector<Tensor<1,dim> > > &gradients) const
+void Function<dim>::vector_gradient_list (const std::vector<Point<dim> >            &points,
+                                         std::vector<std::vector<Tensor<1,dim> > > &gradients) const
 {
   Assert (gradients.size() == points.size(),
          ExcDimensionMismatch(gradients.size(), points.size()));
@@ -129,7 +129,7 @@ void Function<dim>::vector_gradient_list (const vector<Point<dim> >       &point
 
 template <int dim>
 double Function<dim>::laplacian (const Point<dim> &,
-                            const unsigned int) const
+                                const unsigned int) const
 {
   Assert (false, ExcPureFunctionCalled());
   return 0;
@@ -138,7 +138,7 @@ double Function<dim>::laplacian (const Point<dim> &,
 
 template <int dim>
 void Function<dim>::vector_laplacian (const Point<dim> &,
-                                 Vector<double>   &) const
+                                     Vector<double>   &) const
 {
   Assert (false, ExcPureFunctionCalled());
 }
@@ -146,9 +146,9 @@ void Function<dim>::vector_laplacian (const Point<dim> &,
 
 
 template <int dim>
-void Function<dim>::laplacian_list (const vector<Point<dim> > &points,
-                               vector<double>            &laplacians,
-                               const unsigned int         component) const
+void Function<dim>::laplacian_list (const std::vector<Point<dim> > &points,
+                                   std::vector<double>            &laplacians,
+                                   const unsigned int              component) const
 {
                                   // check whether component is in
                                   // the valid range is up to the
@@ -162,8 +162,8 @@ void Function<dim>::laplacian_list (const vector<Point<dim> > &points,
 
 
 template <int dim>
-void Function<dim>::vector_laplacian_list (const vector<Point<dim> > &points,
-                                      vector<Vector<double> >   &laplacians) const
+void Function<dim>::vector_laplacian_list (const std::vector<Point<dim> > &points,
+                                          std::vector<Vector<double> >   &laplacians) const
 {
                                   // check whether component is in
                                   // the valid range is up to the
@@ -202,7 +202,7 @@ ZeroFunction<dim>::~ZeroFunction ()
 
 template <int dim>
 double ZeroFunction<dim>::value (const Point<dim> &,
-                                      const unsigned int) const
+                                const unsigned int) const
 {
   return 0.;
 };
@@ -215,13 +215,13 @@ void ZeroFunction<dim>::vector_value (const Point<dim> &,
   Assert (return_value.size() == n_components,
          ExcDimensionMismatch (return_value.size(), n_components));
 
-  fill_n (return_value.begin(), n_components, 0.0);
+  std::fill_n (return_value.begin(), n_components, 0.0);
 };
 
 
 template <int dim>
-void ZeroFunction<dim>::value_list (const vector<Point<dim> > &points,
-                                   vector<double>            &values,
+void ZeroFunction<dim>::value_list (const std::vector<Point<dim> > &points,
+                                   std::vector<double>            &values,
                                    const unsigned int         /*component*/) const {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
@@ -231,8 +231,8 @@ void ZeroFunction<dim>::value_list (const vector<Point<dim> > &points,
 
 
 template <int dim>
-void ZeroFunction<dim>::vector_value_list (const vector<Point<dim> > &points,
-                                          vector<Vector<double> >   &values) const
+void ZeroFunction<dim>::vector_value_list (const std::vector<Point<dim> > &points,
+                                          std::vector<Vector<double> >   &values) const
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
@@ -241,7 +241,7 @@ void ZeroFunction<dim>::vector_value_list (const vector<Point<dim> > &points,
     {
       Assert (values[i].size() == n_components,
              ExcDimensionMismatch(values[i].size(), n_components));
-      fill_n (values[i].begin(), n_components, 0.);
+      std::fill_n (values[i].begin(), n_components, 0.);
     };
 };
 
@@ -256,7 +256,7 @@ Tensor<1,dim> ZeroFunction<dim>::gradient (const Point<dim> &,
 
 template <int dim>
 void ZeroFunction<dim>::vector_gradient (const Point<dim>       &,
-                                        vector<Tensor<1,dim> > &gradients) const
+                                        std::vector<Tensor<1,dim> > &gradients) const
 {
   Assert (gradients.size() == n_components,
          ExcDimensionMismatch(gradients.size(), n_components));
@@ -267,9 +267,9 @@ void ZeroFunction<dim>::vector_gradient (const Point<dim>       &,
 
 
 template <int dim>
-void ZeroFunction<dim>::gradient_list (const vector<Point<dim> > &points,
-                                      vector<Tensor<1,dim> >    &gradients,
-                                      const unsigned int         /*component*/) const
+void ZeroFunction<dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                      std::vector<Tensor<1,dim> >    &gradients,
+                                      const unsigned int              /*component*/) const
 {
   Assert (gradients.size() == points.size(),
          ExcDimensionMismatch(gradients.size(), points.size()));
@@ -280,8 +280,8 @@ void ZeroFunction<dim>::gradient_list (const vector<Point<dim> > &points,
 
 
 template <int dim>
-void ZeroFunction<dim>::vector_gradient_list (const vector<Point<dim> >       &points,
-                                             vector<vector<Tensor<1,dim> > > &gradients) const
+void ZeroFunction<dim>::vector_gradient_list (const std::vector<Point<dim> >            &points,
+                                             std::vector<std::vector<Tensor<1,dim> > > &gradients) const
 {
   Assert (gradients.size() == points.size(),
          ExcDimensionMismatch(gradients.size(), points.size()));
@@ -301,7 +301,7 @@ template <int dim>
 ConstantFunction<dim>::ConstantFunction (const double value,
                                         const unsigned int n_components) :
                ZeroFunction<dim> (n_components),
-               function_value    (value) {};
+  function_value    (value) {};
 
 
 template <int dim>
@@ -310,7 +310,7 @@ ConstantFunction<dim>::~ConstantFunction () {};
 
 template <int dim>
 double ConstantFunction<dim>::value (const Point<dim> &,
-                                          const unsigned int) const
+                                    const unsigned int) const
 {
   return function_value;
 };
@@ -323,14 +323,15 @@ void ConstantFunction<dim>::vector_value (const Point<dim> &,
   Assert (return_value.size() == n_components,
          ExcDimensionMismatch (return_value.size(), n_components));
 
-  fill_n (return_value.begin(), n_components, function_value);
+  std::fill_n (return_value.begin(), n_components, function_value);
 };
 
 
 template <int dim>
-void ConstantFunction<dim>::value_list (const vector<Point<dim> > &points,
-                                       vector<double>            &values,
-                                       const unsigned int         /*component*/) const {
+void ConstantFunction<dim>::value_list (const std::vector<Point<dim> > &points,
+                                       std::vector<double>            &values,
+                                       const unsigned int              /*component*/) const
+{
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
 
@@ -339,8 +340,8 @@ void ConstantFunction<dim>::value_list (const vector<Point<dim> > &points,
 
 
 template <int dim>
-void ConstantFunction<dim>::vector_value_list (const vector<Point<dim> > &points,
-                                              vector<Vector<double> >   &values) const
+void ConstantFunction<dim>::vector_value_list (const std::vector<Point<dim> > &points,
+                                              std::vector<Vector<double> >   &values) const
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
@@ -349,7 +350,7 @@ void ConstantFunction<dim>::vector_value_list (const vector<Point<dim> > &points
     {
       Assert (values[i].size() == n_components,
              ExcDimensionMismatch(values[i].size(), n_components));
-      fill_n (values[i].begin(), n_components, function_value);
+      std::fill_n (values[i].begin(), n_components, function_value);
     };
 };
 
@@ -372,7 +373,7 @@ ComponentSelectFunction<dim>::ComponentSelectFunction (const unsigned int select
                                                       const unsigned int n_components)
                :
                ConstantFunction<dim> (value, n_components),
-               selected(selected)
+  selected(selected)
 {}
 
 
@@ -383,15 +384,15 @@ void ComponentSelectFunction<dim>::vector_value (const Point<dim> &,
   Assert (return_value.size() == n_components,
          ExcDimensionMismatch (return_value.size(), n_components));
 
-  fill_n (return_value.begin(), n_components, 0.);
+  std::fill_n (return_value.begin(), n_components, 0.);
   return_value(selected) = function_value;
 }
 
 
 
 template <int dim>
-void ComponentSelectFunction<dim>::vector_value_list (const vector<Point<dim> > &points,
-                                              vector<Vector<double> >   &values) const
+void ComponentSelectFunction<dim>::vector_value_list (const std::vector<Point<dim> > &points,
+                                                     std::vector<Vector<double> >   &values) const
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
@@ -400,7 +401,7 @@ void ComponentSelectFunction<dim>::vector_value_list (const vector<Point<dim> >
     {
       Assert (values[i].size() == n_components,
              ExcDimensionMismatch(values[i].size(), n_components));
-      fill_n (values[i].begin(), n_components, 0.);
+      std::fill_n (values[i].begin(), n_components, 0.);
       values[i](selected) = function_value;
     }
 }
index f1abe317c3b54f48621e158482dffe8e8527a33a..cf1f624cc688d8910d0d81a7f0563b87ec6bc14c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -22,8 +22,8 @@ FunctionDerivative<dim>::FunctionDerivative (const Function<dim>& f,
                                             const Point<dim>& dir)
                :
                Function<dim> (f.n_components, f.get_time()),
-               f(f),
-               direction(dir)
+  f(f),
+  direction(dir)
 {
   set_h();
   set_formula();
@@ -74,75 +74,75 @@ FunctionDerivative<dim>::value (const Point<dim>   &p,
 
 template <int dim>
 void
-FunctionDerivative<dim>::value_list (const vector<Point<dim> > &points,
-                                    vector<double>            &values,
-                                    const unsigned int         component) const
+FunctionDerivative<dim>::value_list (const std::vector<Point<dim> > &points,
+                                    std::vector<double>            &values,
+                                    const unsigned int              component) const
 {
   const unsigned int n = points.size();
   
   switch (formula)
     {
-    case Euler:
-    {
-      vector<Point<dim> > p1(n);
-      vector<Point<dim> > p2(n);
-      vector<double> e2(n);
-      for (unsigned int i=0;i<n;++i)
-       {
-         p1[i] = points[i]+incr;
-         p2[i] = points[i]-incr;
-       }
-      f.value_list(p1, values, component);
-      f.value_list(p2, e2, component);
+      case Euler:
+      {
+       std::vector<Point<dim> > p1(n);
+       std::vector<Point<dim> > p2(n);
+       std::vector<double> e2(n);
+       for (unsigned int i=0;i<n;++i)
+         {
+           p1[i] = points[i]+incr;
+           p2[i] = points[i]-incr;
+         }
+       f.value_list(p1, values, component);
+       f.value_list(p2, e2, component);
       
-      for (unsigned int i=0;i<n;++i)
-       {
-         values[i] = (values[i]-e2[i])/(2*h);
-       }
-      break;
-    }    
-    case UpwindEuler:
-    {
-      vector<Point<dim> > p2(n);
-      vector<double> e2(n);
-      for (unsigned int i=0;i<n;++i)
-       p2[i] = points[i]-incr;
-      f.value_list(points, values, component);
-      f.value_list(p2, e2, component);
-      for (unsigned int i=0;i<n;++i)
-       values[i] = (values[i]-e2[i])/h;
-      break;
-    }
-    case FourthOrder:
-    {
-      vector<Point<dim> > p_p(n);
-      vector<Point<dim> > p_pp(n);
-      vector<Point<dim> > p_m(n);
-      vector<Point<dim> > p_mm(n);
-      vector<double> e_p(n);
-      vector<double> e_pp(n);
-      vector<double> e_m(n);
-      for (unsigned int i=0;i<n;++i)
-       {
-         p_p[i] = points[i]+incr;
-         p_pp[i] = p_p[i]+incr;
-         p_m[i] = points[i]-incr;
-         p_mm[i] = p_m[i]-incr;
-       }
-      f.value_list(p_mm, values, component);
-      f.value_list(p_pp, e_pp, component);
-      f.value_list(p_p, e_p, component);
-      f.value_list(p_m, e_m, component);
+       for (unsigned int i=0;i<n;++i)
+         {
+           values[i] = (values[i]-e2[i])/(2*h);
+         }
+       break;
+      }    
+      case UpwindEuler:
+      {
+       std::vector<Point<dim> > p2(n);
+       std::vector<double> e2(n);
+       for (unsigned int i=0;i<n;++i)
+         p2[i] = points[i]-incr;
+       f.value_list(points, values, component);
+       f.value_list(p2, e2, component);
+       for (unsigned int i=0;i<n;++i)
+         values[i] = (values[i]-e2[i])/h;
+       break;
+      }
+      case FourthOrder:
+      {
+       std::vector<Point<dim> > p_p(n);
+       std::vector<Point<dim> > p_pp(n);
+       std::vector<Point<dim> > p_m(n);
+       std::vector<Point<dim> > p_mm(n);
+       std::vector<double> e_p(n);
+       std::vector<double> e_pp(n);
+       std::vector<double> e_m(n);
+       for (unsigned int i=0;i<n;++i)
+         {
+           p_p[i] = points[i]+incr;
+           p_pp[i] = p_p[i]+incr;
+           p_m[i] = points[i]-incr;
+           p_mm[i] = p_m[i]-incr;
+         }
+       f.value_list(p_mm, values, component);
+       f.value_list(p_pp, e_pp, component);
+       f.value_list(p_p, e_p, component);
+       f.value_list(p_m, e_m, component);
       
-      for (unsigned int i=0;i<n;++i)
-       {
-         values[i] = (values[i]-e_pp[i]+8*(e_p[i]-e_m[i]))/(12*h);
-       }
-      break;
-    }    
-
-    default:
-      Assert(false, ExcInvalidFormula());
+       for (unsigned int i=0;i<n;++i)
+         {
+           values[i] = (values[i]-e_pp[i]+8*(e_p[i]-e_m[i]))/(12*h);
+         }
+       break;
+      }    
+
+      default:
+           Assert(false, ExcInvalidFormula());
     }
 }
 
index 2a7a63ca7661df4dc28a6988434aaa7496fb2060..6f860abf6e1ae8535acb640b35e25b9251ae3f46 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -42,8 +42,8 @@ SquareFunction<dim>::value (const Point<dim>   &p,
 
 template<int dim>
 void
-SquareFunction<dim>::value_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
+SquareFunction<dim>::value_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
                                 const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -68,8 +68,8 @@ SquareFunction<dim>::laplacian (const Point<dim>   &,
 
 template<int dim>
 void
-SquareFunction<dim>::laplacian_list (const vector<Point<dim> > &points,
-                                    vector<double>            &values,
+SquareFunction<dim>::laplacian_list (const std::vector<Point<dim> > &points,
+                                    std::vector<double>            &values,
                                     const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -93,8 +93,8 @@ SquareFunction<dim>::gradient (const Point<dim>   &p,
 
 template<int dim>
 void
-SquareFunction<dim>::gradient_list (const vector<Point<dim> > &points,
-                                   vector<Tensor<1,dim> >    &gradients,
+SquareFunction<dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Tensor<1,dim> >    &gradients,
                                    const unsigned int) const
 {
   Assert (gradients.size() == points.size(),
@@ -111,7 +111,7 @@ SquareFunction<dim>::gradient_list (const vector<Point<dim> > &points,
 template<int dim>
 double
 Q1WedgeFunction<dim>::value (const Point<dim>   &p,
-                           const unsigned int) const
+                            const unsigned int) const
 {
   return p(0)*p(1);
 }
@@ -120,9 +120,9 @@ Q1WedgeFunction<dim>::value (const Point<dim>   &p,
 
 template<int dim>
 void
-Q1WedgeFunction<dim>::value_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int) const
+Q1WedgeFunction<dim>::value_list (const std::vector<Point<dim> > &points,
+                                 std::vector<double>            &values,
+                                 const unsigned int) const
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
@@ -138,7 +138,7 @@ Q1WedgeFunction<dim>::value_list (const vector<Point<dim> > &points,
 template<int dim>
 double
 Q1WedgeFunction<dim>::laplacian (const Point<dim>   &,
-                               const unsigned int) const
+                                const unsigned int) const
 {
   return 0.;
 }
@@ -146,9 +146,9 @@ Q1WedgeFunction<dim>::laplacian (const Point<dim>   &,
 
 template<int dim>
 void
-Q1WedgeFunction<dim>::laplacian_list (const vector<Point<dim> > &points,
-                                    vector<double>            &values,
-                                    const unsigned int) const
+Q1WedgeFunction<dim>::laplacian_list (const std::vector<Point<dim> > &points,
+                                     std::vector<double>            &values,
+                                     const unsigned int) const
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
@@ -162,7 +162,7 @@ Q1WedgeFunction<dim>::laplacian_list (const vector<Point<dim> > &points,
 template<int dim>
 Tensor<1,dim>
 Q1WedgeFunction<dim>::gradient (const Point<dim>   &p,
-                              const unsigned int) const
+                               const unsigned int) const
 {
   Tensor<1,dim> erg;
   erg[0] = p(1);
@@ -174,9 +174,9 @@ Q1WedgeFunction<dim>::gradient (const Point<dim>   &p,
 
 template<int dim>
 void
-Q1WedgeFunction<dim>::gradient_list (const vector<Point<dim> > &points,
-                                   vector<Tensor<1,dim> >    &gradients,
-                                   const unsigned int) const
+Q1WedgeFunction<dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                    std::vector<Tensor<1,dim> >    &gradients,
+                                    const unsigned int) const
 {
   Assert (gradients.size() == points.size(),
          ExcDimensionMismatch(gradients.size(), points.size()));
@@ -220,8 +220,8 @@ PillowFunction<dim>::value (const Point<dim>   &p,
 
 template<int dim>
 void
-PillowFunction<dim>::value_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
+PillowFunction<dim>::value_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
                                 const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -272,8 +272,8 @@ PillowFunction<dim>::laplacian (const Point<dim>   &p,
 
 template<int dim>
 void
-PillowFunction<dim>::laplacian_list (const vector<Point<dim> > &points,
-                                    vector<double>            &values,
+PillowFunction<dim>::laplacian_list (const std::vector<Point<dim> > &points,
+                                    std::vector<double>            &values,
                                     const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -329,8 +329,8 @@ PillowFunction<dim>::gradient (const Point<dim>   &p,
 
 template<int dim>
 void
-PillowFunction<dim>::gradient_list (const vector<Point<dim> > &points,
-                                   vector<Tensor<1,dim> >    &gradients,
+PillowFunction<dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Tensor<1,dim> >    &gradients,
                                    const unsigned int) const
 {
   Assert (gradients.size() == points.size(),
@@ -382,8 +382,8 @@ CosineFunction<dim>::value (const Point<dim>   &p,
 
 template<int dim>
 void
-CosineFunction<dim>::value_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
+CosineFunction<dim>::value_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
                                 const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -430,8 +430,8 @@ CosineFunction<dim>::laplacian (const Point<dim>   &p,
 
 template<int dim>
 void
-CosineFunction<dim>::laplacian_list (const vector<Point<dim> > &points,
-                                    vector<double>            &values,
+CosineFunction<dim>::laplacian_list (const std::vector<Point<dim> > &points,
+                                    std::vector<double>            &values,
                                     const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -485,8 +485,8 @@ CosineFunction<dim>::gradient (const Point<dim>   &p,
 
 template<int dim>
 void
-CosineFunction<dim>::gradient_list (const vector<Point<dim> > &points,
-                                   vector<Tensor<1,dim> >    &gradients,
+CosineFunction<dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Tensor<1,dim> >    &gradients,
                                    const unsigned int) const
 {
   Assert (gradients.size() == points.size(),
@@ -538,8 +538,8 @@ ExpFunction<dim>::value (const Point<dim>   &p,
 
 template<int dim>
 void
-ExpFunction<dim>::value_list (const vector<Point<dim> > &points,
-                             vector<double>            &values,
+ExpFunction<dim>::value_list (const std::vector<Point<dim> > &points,
+                             std::vector<double>            &values,
                              const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -586,8 +586,8 @@ ExpFunction<dim>::laplacian (const Point<dim>   &p,
 
 template<int dim>
 void
-ExpFunction<dim>::laplacian_list (const vector<Point<dim> > &points,
-                                 vector<double>            &values,
+ExpFunction<dim>::laplacian_list (const std::vector<Point<dim> > &points,
+                                 std::vector<double>            &values,
                                  const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -641,8 +641,8 @@ ExpFunction<dim>::gradient (const Point<dim>   &p,
 
 template<int dim>
 void
-ExpFunction<dim>::gradient_list (const vector<Point<dim> > &points,
-                                vector<Tensor<1,dim> >    &gradients,
+ExpFunction<dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                std::vector<Tensor<1,dim> >    &gradients,
                                 const unsigned int) const
 {
   Assert (gradients.size() == points.size(),
@@ -692,8 +692,8 @@ LSingularityFunction::value (const Point<2>   &p,
 
 
 void
-LSingularityFunction::value_list (const vector<Point<2> > &points,
-                                 vector<double>            &values,
+LSingularityFunction::value_list (const std::vector<Point<2> > &points,
+                                 std::vector<double>            &values,
                                  const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -726,8 +726,8 @@ LSingularityFunction::laplacian (const Point<2>   &,
 
 
 void
-LSingularityFunction::laplacian_list (const vector<Point<2> > &points,
-                                     vector<double>            &values,
+LSingularityFunction::laplacian_list (const std::vector<Point<2> > &points,
+                                     std::vector<double>            &values,
                                      const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -763,8 +763,8 @@ LSingularityFunction::gradient (const Point<2>   &p,
 
 
 void
-LSingularityFunction::gradient_list (const vector<Point<2> > &points,
-                                    vector<Tensor<1,2> >    &gradients,
+LSingularityFunction::gradient_list (const std::vector<Point<2> > &points,
+                                    std::vector<Tensor<1,2> >    &gradients,
                                     const unsigned int) const
 {
   Assert (gradients.size() == points.size(),
@@ -790,8 +790,8 @@ SlitSingularityFunction::value (const Point<2>   &p,
 
 
 void
-SlitSingularityFunction::value_list (const vector<Point<2> > &points,
-                                    vector<double>            &values,
+SlitSingularityFunction::value_list (const std::vector<Point<2> > &points,
+                                    std::vector<double>            &values,
                                     const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -819,8 +819,8 @@ SlitSingularityFunction::laplacian (const Point<2>   &,
 
 
 void
-SlitSingularityFunction::laplacian_list (const vector<Point<2> > &points,
-                                        vector<double>            &values,
+SlitSingularityFunction::laplacian_list (const std::vector<Point<2> > &points,
+                                        std::vector<double>            &values,
                                         const unsigned int) const
 {
   Assert (values.size() == points.size(),
@@ -843,8 +843,8 @@ SlitSingularityFunction::gradient (const Point<2>   &/*p*/,
 
 
 void
-SlitSingularityFunction::gradient_list (const vector<Point<2> > &points,
-                                       vector<Tensor<1,2> >    &gradients,
+SlitSingularityFunction::gradient_list (const std::vector<Point<2> > &points,
+                                       std::vector<Tensor<1,2> >    &gradients,
                                        const unsigned int) const
 {
   Assert (gradients.size() == points.size(),
@@ -891,8 +891,8 @@ JumpFunction<dim>::value (const Point<dim>   &p,
 
 template<int dim>
 void
-JumpFunction<dim>::value_list (const vector<Point<dim> > &p,
-                              vector<double>          &values,
+JumpFunction<dim>::value_list (const std::vector<Point<dim> > &p,
+                              std::vector<double>          &values,
                               const unsigned int) const
 {
   Assert (values.size() == p.size(),
@@ -919,8 +919,8 @@ JumpFunction<dim>::laplacian (const Point<dim>   &p,
 
 template<int dim>
 void
-JumpFunction<dim>::laplacian_list (const vector<Point<dim> > &p,
-                                  vector<double>          &values,
+JumpFunction<dim>::laplacian_list (const std::vector<Point<dim> > &p,
+                                  std::vector<double>          &values,
                                   const unsigned int) const
 {
   Assert (values.size() == p.size(),
@@ -955,8 +955,8 @@ JumpFunction<dim>::gradient (const Point<dim>   &p,
 
 template<int dim>
 void
-JumpFunction<dim>::gradient_list (const vector<Point<dim> > &p,
-                                 vector<Tensor<1,dim> >  &gradients,
+JumpFunction<dim>::gradient_list (const std::vector<Point<dim> > &p,
+                                 std::vector<Tensor<1,dim> >  &gradients,
                                  const unsigned int) const
 {
   Assert (gradients.size() == p.size(),
index 8f307dc3d7210134055cf8dfba8b5b1543876e7c..5d6a38a81255d6e922503a229cbec927c6a6cee0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 3bbc1df6e01515479cf95b5907d2afda290e0415..7eecd2de04722182dd3aa441188fee1e758bc6ea 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 
 JobIdentifier dealjobid;
 
+
 JobIdentifier::JobIdentifier()
 {
   time_t t = time(0);
-  id = string(program_id()) + string(ctime(&t));
+  id = std::string(program_id()) + std::string(ctime(&t));
 }
 
-JobIdentifier::~JobIdentifier()
-{}
 
-const string
+const std::string
 JobIdentifier::operator ()() const
 {
   return id;
 }
+
+
index 88c4c2494b1c1be2a4faa0f6833746083893bfd1..4370bf98e32c1f1e80c5e7d53ca67f49051e2e92 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -23,20 +23,20 @@ LogStream deallog;
 
 
 LogStream::LogStream()
-               : std_out(&cerr), file(0), was_endl(true),
+               : std_out(&std::cerr), file(0), was_endl(true),
                  std_depth(10000), file_depth(10000),
                  print_utime(false)
 {
   prefixes.push("DEAL:");
-  std_out->setf(ios::showpoint | ios::left);
+  std_out->setf(std::ios::showpoint | std::ios::left);
 }
 
 
 void
-LogStream::attach(ostream& o)
+LogStream::attach(std::ostream& o)
 {
   file = &o;
-  o.setf(ios::showpoint | ios::left);
+  o.setf(std::ios::showpoint | std::ios::left);
   o << dealjobid();
 }
 
@@ -47,14 +47,14 @@ void LogStream::detach ()
 };
 
 
-ostream&
+std::ostream&
 LogStream::get_console()
 {
   return *std_out;
 }
 
 
-ostream&
+std::ostream&
 LogStream::get_file_stream()
 {
   Assert(file, ExcNoFileStreamGiven());
@@ -63,11 +63,11 @@ LogStream::get_file_stream()
 
 
 void
-LogStream::push (const string& text)
+LogStream::push (const std::string& text)
 {
-  string pre=prefixes.top();
+  std::string pre=prefixes.top();
   pre += text;
-  pre += string(":");
+  pre += std::string(":");
   prefixes.push(pre);
 };
 
@@ -118,7 +118,7 @@ LogStream::print_line_head()
          *std_out << utime << ':';
          std_out->width(p);
        }
-    *std_out << prefixes.top() << ':';
+      *std_out << prefixes.top() << ':';
     }
   
   if (file && (prefixes.size() <= file_depth))
@@ -129,7 +129,7 @@ LogStream::print_line_head()
          *file << utime << ':';
          file->width(p);
        }  
-    *file << prefixes.top() << ':';
+      *file << prefixes.top() << ':';
     }
 }
 
@@ -151,7 +151,7 @@ LogStream::memory_consumption () const
                                   // elements, we have to copy the
                                   // stack since we can't access
                                   // elements from further below
-  stack<string> tmp;
+  std::stack<std::string> tmp;
   while (tmp.size() > 0)
     {
       mem += MemoryConsumption::memory_consumption (tmp.top());
index 62a2177a87dce5a9a42af9bcd109e5ba0c85f76e..c33f7c51c8d33b052e48404d88259f04f9994bf3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 
 namespace MemoryConsumption 
 {
-  unsigned int memory_consumption (const string &s)
+  unsigned int memory_consumption (const std::string &s)
   {
     return sizeof(s) + s.length();
   };
 
 
    
-  unsigned int memory_consumption (const vector<string> &v)
-    {
-      unsigned int mem = sizeof(v);
-      for (unsigned int i=0; i<v.size(); ++i)
-       mem += memory_consumption(v[i]);
-      return mem;
-    };
+  unsigned int memory_consumption (const std::vector<std::string> &v)
+  {
+    unsigned int mem = sizeof(v);
+    for (unsigned int i=0; i<v.size(); ++i)
+      mem += memory_consumption(v[i]);
+    return mem;
+  };
   
 
 };
index 4e5a3061c212a66ac616037d8573e3e4937d13be..8b0b883a1fccb2c4657bdfa809500d46e8522303 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -32,8 +32,8 @@
 
 unsigned int MultithreadInfo::get_n_cpus()
 {
-  ifstream cpuinfo;
-  string search;
+  std::ifstream cpuinfo;
+  std::string search;
   unsigned int nCPU = 0;
   
   cpuinfo.open("/proc/cpuinfo");
@@ -43,7 +43,7 @@ unsigned int MultithreadInfo::get_n_cpus()
   while(cpuinfo)
     {
       cpuinfo >> search;
-      if (search.find("processor")!=string::npos)
+      if (search.find("processor")!=std::string::npos)
        nCPU++;   
     }
   cpuinfo.close();
index d14c953178660e27ac77835539b6aa33379adf99..6c208e380e2c4b367bbce0049889f650fef4a4b3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -32,19 +32,19 @@ namespace Patterns
 
 
   unsigned int
-    PatternBase::memory_consumption () const
-    {
-      if (dynamic_cast<const Integer*>(this) != 0)
-       return sizeof(Integer);
-      else if (dynamic_cast<const Double*>(this) != 0)
-       return sizeof(Double);
-      else if (dynamic_cast<const Bool*>(this) != 0)
-       return sizeof(Bool);
-      else if (dynamic_cast<const Anything*>(this) != 0)
-       return sizeof(Anything);
-      else
-       return sizeof(*this) + 32;
-    };
+  PatternBase::memory_consumption () const
+  {
+    if (dynamic_cast<const Integer*>(this) != 0)
+      return sizeof(Integer);
+    else if (dynamic_cast<const Double*>(this) != 0)
+      return sizeof(Double);
+    else if (dynamic_cast<const Bool*>(this) != 0)
+      return sizeof(Bool);
+    else if (dynamic_cast<const Anything*>(this) != 0)
+      return sizeof(Anything);
+    else
+      return sizeof(*this) + 32;
+  };
   
 
 
@@ -57,9 +57,9 @@ namespace Patterns
 
 
 
-  bool Integer::match (const string &test_string) const
+  bool Integer::match (const std::string &test_string) const
   {
-    istrstream str(test_string.c_str());
+    std::istrstream str(test_string.c_str());
     int i;
     if (str >> i)
       {
@@ -78,18 +78,18 @@ namespace Patterns
 
 
 
-  string Integer::description () const
+  std::string Integer::description () const
   {
                                     // check whether valid bounds
                                     // were specified, and if so
                                     // output their values
     if (lower_bound <= upper_bound)
       {
-       ostrstream description;
+       std::ostrstream description;
        description << "[Integer range "
                    << lower_bound << "..." << upper_bound
                    << " (inclusive)]"
-                   << ends;
+                   << std::ends;
        return description.str();
       }
     else
@@ -116,9 +116,9 @@ namespace Patterns
 
 
 
-  bool Double::match (const string &test_string) const
+  bool Double::match (const std::string &test_string) const
   {
-    istrstream str(test_string.c_str());
+    std::istrstream str(test_string.c_str());
     double d;
     if (str >> d)
       {
@@ -136,18 +136,18 @@ namespace Patterns
 
 
 
-  string Double::description () const
+  std::string Double::description () const
   {
                                     // check whether valid bounds
                                     // were specified, and if so
                                     // output their values
     if (lower_bound <= upper_bound)
       {
-       ostrstream description;
+       std::ostrstream description;
        description << "[Floating point range "
                    << lower_bound << "..." << upper_bound
                    << " (inclusive)]"
-                   << ends;
+                   << std::ends;
        return description.str();
       }
     else
@@ -165,26 +165,26 @@ namespace Patterns
 
 
 
-  Selection::Selection (const string &seq)
+  Selection::Selection (const std::string &seq)
   {
     sequence = seq;
 
-    while (sequence.find(" |") != string::npos)
+    while (sequence.find(" |") != std::string::npos)
       sequence.replace (sequence.find(" |"), 2, "|");
-    while (sequence.find("| ") != string::npos)
+    while (sequence.find("| ") != std::string::npos)
       sequence.replace (sequence.find("| "), 2, "|");
   };
 
 
 
-  bool Selection::match (const string &test_string) const
+  bool Selection::match (const std::string &test_string) const
   {
-    vector<string> choices;
-    string tmp(sequence);
+    std::vector<std::string> choices;
+    std::string tmp(sequence);
                                     // check the different possibilities
-    while (tmp.find('|') != string::npos) 
+    while (tmp.find('|') != std::string::npos) 
       {
-       if (test_string == string(tmp, 0, tmp.find('|')))
+       if (test_string == std::string(tmp, 0, tmp.find('|')))
          return true;
       
        tmp.erase (0, tmp.find('|')+1);
@@ -199,7 +199,7 @@ namespace Patterns
 
 
 
-  string Selection::description () const
+  std::string Selection::description () const
   {
     return sequence;
   };
@@ -214,40 +214,40 @@ namespace Patterns
 
 
   unsigned int
-    Selection::memory_consumption () const
-    {
-      return (sizeof(PatternBase) +
-             MemoryConsumption::memory_consumption(sequence));
-    };
+  Selection::memory_consumption () const
+  {
+    return (sizeof(PatternBase) +
+           MemoryConsumption::memory_consumption(sequence));
+  };
   
 
-  MultipleSelection::MultipleSelection (const string &seq)
+  MultipleSelection::MultipleSelection (const std::string &seq)
   {
-    Assert (seq.find (",") == string::npos, ExcCommasNotAllowed(seq.find(",")));
+    Assert (seq.find (",") == std::string::npos, ExcCommasNotAllowed(seq.find(",")));
   
     sequence = seq;
-    while (sequence.find(" |") != string::npos)
+    while (sequence.find(" |") != std::string::npos)
       sequence.replace (sequence.find(" |"), 2, "|");
-    while (sequence.find("| ") != string::npos)
+    while (sequence.find("| ") != std::string::npos)
       sequence.replace (sequence.find("| "), 2, "|");
   };
 
 
 
-  bool MultipleSelection::match (const string &test_string_list) const
+  bool MultipleSelection::match (const std::string &test_string_list) const
   {
-    string tmp = test_string_list;
-    list<string> split_list;
+    std::string tmp = test_string_list;
+    std::list<std::string> split_list;
 
                                     // first split the input list
     while (tmp.length() != 0)
       {
-       string name;
+       std::string name;
        name = tmp;
       
-       if (name.find(",") != string::npos)
+       if (name.find(",") != std::string::npos)
          {
-           name.erase (name.find(","), string::npos);
+           name.erase (name.find(","), std::string::npos);
            tmp.erase (0, test_string_list.find(",")+1);
          }
        else
@@ -264,15 +264,15 @@ namespace Patterns
 
 
                                     // check the different possibilities
-    for (list<string>::const_iterator test_string = split_list.begin();
+    for (std::list<std::string>::const_iterator test_string = split_list.begin();
         test_string != split_list.end(); ++test_string) 
       {
        bool string_found = false;
       
        tmp = sequence;
-       while (tmp.find('|') != string::npos) 
+       while (tmp.find('|') != std::string::npos) 
          {
-           if (*test_string == string(tmp, 0, tmp.find('|')))
+           if (*test_string == std::string(tmp, 0, tmp.find('|')))
              {
                                                 // string found, quit
                                                 // loop. don't change
@@ -298,7 +298,7 @@ namespace Patterns
 
 
 
-  string MultipleSelection::description () const
+  std::string MultipleSelection::description () const
   {
     return sequence;
   };
@@ -313,11 +313,11 @@ namespace Patterns
 
 
   unsigned int
-    MultipleSelection::memory_consumption () const
-    {
-      return (sizeof(PatternBase) +
-             MemoryConsumption::memory_consumption(sequence));
-    };
+  MultipleSelection::memory_consumption () const
+  {
+    return (sizeof(PatternBase) +
+           MemoryConsumption::memory_consumption(sequence));
+  };
 
 
 
@@ -340,14 +340,14 @@ namespace Patterns
 
 
 
-  bool Anything::match (const string &) const
+  bool Anything::match (const std::string &) const
   {
     return true;
   };
 
 
 
-  string Anything::description () const
+  std::string Anything::description () const
   {
     return "[Anything]";
   };
@@ -374,11 +374,11 @@ ParameterHandler::~ParameterHandler ()
 
 
 
-bool ParameterHandler::read_input (istream &input)
+bool ParameterHandler::read_input (std::istream &input)
 {
   AssertThrow (input, ExcIO());
 
-  string line;
+  std::string line;
   int lineno=0;
   while (input) 
     {
@@ -393,17 +393,17 @@ bool ParameterHandler::read_input (istream &input)
 
 
 
-bool ParameterHandler::read_input (const string &filename)
+bool ParameterHandler::read_input (const std::string &filename)
 {
-  ifstream input (filename.c_str());
+  std::ifstream input (filename.c_str());
   if (!input) 
     {
-      cerr << "ParameterHandler::read_input: could not open file <"
-          << filename << "> for reading." << endl
-          << "Trying to make file <"
-          << filename << "> with default values for you." << endl;
+      std::cerr << "ParameterHandler::read_input: could not open file <"
+               << filename << "> for reading." << std::endl
+               << "Trying to make file <"
+               << filename << "> with default values for you." << std::endl;
 
-      ofstream output (filename.c_str());
+      std::ofstream output (filename.c_str());
       if (output)
        {
          print_parameters (output, Text);
@@ -419,12 +419,12 @@ bool ParameterHandler::read_input (const string &filename)
 
 bool ParameterHandler::read_input_from_string (const char *s)
 {
-                                  // if empty string then exit
+                                  // if empty std::string then exit
                                   // with success
   if ((s == 0) || ((*s) == 0)) return true;
   
-  string line;
-  string input (s);
+  std::string line;
+  std::string input (s);
   int    lineno=0;
 
                                   // if necessary append a newline char
@@ -458,7 +458,7 @@ void ParameterHandler::clear ()
   defaults.entries.clear ();
   changed_entries.entries.clear ();
 
-  map<string, Section*>::iterator p;
+  std::map<std::string, Section*>::iterator p;
 
   for (p=defaults.subsections.begin(); p!=defaults.subsections.end(); ++p)
     delete p->second;
@@ -475,8 +475,8 @@ void ParameterHandler::clear ()
 
 
 
-bool ParameterHandler::declare_entry (const string &entry,
-                                     const string &default_value,
+bool ParameterHandler::declare_entry (const std::string           &entry,
+                                     const std::string           &default_value,
                                      const Patterns::PatternBase &pattern)
 {
   Section* p = get_present_defaults_subsection ();
@@ -506,16 +506,16 @@ bool ParameterHandler::declare_entry (const string &entry,
 
 
 
-void ParameterHandler::enter_subsection (const string &subsection)
+void ParameterHandler::enter_subsection (const std::string &subsection)
 {
   Section* pd = get_present_defaults_subsection ();
 
                                   // does subsection already exist?
   if (pd->subsections.find (subsection) == pd->subsections.end()) 
     {
-                                  // subsection does not yet exist:
-                                  // create entry in Defaults and
-                                  // changed_entries trees
+                                      // subsection does not yet exist:
+                                      // create entry in Defaults and
+                                      // changed_entries trees
       pd->subsections[subsection] = new Section();
 
       Section* pc = get_present_changed_subsection ();
@@ -547,7 +547,7 @@ bool ParameterHandler::leave_subsection ()
 
 
 
-const string & ParameterHandler::get (const string &entry_string) const
+const std::string & ParameterHandler::get (const std::string &entry_string) const
 {
   const Section* pd = get_present_defaults_subsection ();
   const Section* pc = get_present_changed_subsection ();
@@ -559,7 +559,7 @@ const string & ParameterHandler::get (const string &entry_string) const
   
   if (pd->entries.find (entry_string) == pd->entries.end()) 
     {
-      static const string empty_string;
+      static const std::string empty_string;
       return empty_string;
     };
 
@@ -578,9 +578,9 @@ const string & ParameterHandler::get (const string &entry_string) const
 
 
 
-long int ParameterHandler::get_integer (const string &entry_string) const
+long int ParameterHandler::get_integer (const std::string &entry_string) const
 {
-  string s = get (entry_string);
+  std::string s = get (entry_string);
   char *endptr;
   long int i = strtol (s.c_str(), &endptr, 10);
                                   // assert there was no error
@@ -592,9 +592,9 @@ long int ParameterHandler::get_integer (const string &entry_string) const
 
 
 
-double ParameterHandler::get_double (const string &entry_string) const
+double ParameterHandler::get_double (const std::string &entry_string) const
 {
-  string s = get (entry_string);
+  std::string s = get (entry_string);
   char *endptr;
   double d = strtod (s.c_str(), &endptr);
                                   // assert there was no error
@@ -606,9 +606,9 @@ double ParameterHandler::get_double (const string &entry_string) const
 
 
 
-bool ParameterHandler::get_bool (const string &entry_string) const
+bool ParameterHandler::get_bool (const std::string &entry_string) const
 {
-  string s = get(entry_string);
+  std::string s = get(entry_string);
 
   AssertThrow ((s=="true") || (s=="false"), ExcConversionError(s));
   if (s=="true")
@@ -619,7 +619,7 @@ bool ParameterHandler::get_bool (const string &entry_string) const
 
 
 
-ostream & ParameterHandler::print_parameters (ostream &out, OutputStyle style)
+std::ostream & ParameterHandler::print_parameters (std::ostream &out, OutputStyle style)
 {
                                   // assert that only known formats are
                                   // given as "style"
@@ -630,14 +630,14 @@ ostream & ParameterHandler::print_parameters (ostream &out, OutputStyle style)
   switch (style) 
     {
       case Text:
-           out << "#Listing of Parameters" << endl
-               << "#---------------------" << endl;
+           out << "#Listing of Parameters" << std::endl
+               << "#---------------------" << std::endl;
            break;
       case LaTeX:
            out << "\\subsubsection*{Listing of parameters}";
-           out << endl << endl;
+           out << std::endl << std::endl;
            out << "\\begin{itemize}"
-               << endl;
+               << std::endl;
            break;
       default:
            Assert (false, ExcNotImplemented());
@@ -651,7 +651,7 @@ ostream & ParameterHandler::print_parameters (ostream &out, OutputStyle style)
       case Text:
            break;
       case LaTeX:
-           out << "\\end{itemize}" << endl;
+           out << "\\end{itemize}" << std::endl;
            break;
       default:
            Assert (false, ExcNotImplemented());
@@ -673,7 +673,7 @@ ParameterHandler::log_parameters (LogStream &out)
 
 
 
-void ParameterHandler::print_parameters_section (ostream           &out,
+void ParameterHandler::print_parameters_section (std::ostream      &out,
                                                 const OutputStyle  style,
                                                 const unsigned int indent_level)
 {
@@ -706,14 +706,14 @@ void ParameterHandler::print_parameters_section (ostream           &out,
        switch (style) 
          {
            case Text:
-                 out << setw(indent_level*2) << ""
+                 out << std::setw(indent_level*2) << ""
                      << "set "
                      << ptr->first
-                     << setw(longest_entry-ptr->first.length()+3) << " = "
+                     << std::setw(longest_entry-ptr->first.length()+3) << " = "
                      << pc->entries[ptr->first].first
                      << "  #"
                      << pd->entries[ptr->first].first
-                     << endl;
+                     << std::endl;
                  break;
            case LaTeX:
                  out << "\\item {\\bf " << ptr->first << ":} "
@@ -721,7 +721,7 @@ void ParameterHandler::print_parameters_section (ostream           &out,
                      << " ({\\it default:} "
                       << pd->entries[ptr->first].first
                      << ")"
-                     << endl;
+                     << std::endl;
                  break;
            default:
                  Assert (false, ExcNotImplemented());
@@ -731,16 +731,16 @@ void ParameterHandler::print_parameters_section (ostream           &out,
        switch (style) 
          {
            case Text:
-                 out << setw(indent_level*2) << ""
+                 out << std::setw(indent_level*2) << ""
                      << "set "
                      << ptr->first
-                     << setw(longest_entry-ptr->first.length()+3) << "= "
-                     << ptr->second.first << endl;
+                     << std::setw(longest_entry-ptr->first.length()+3) << "= "
+                     << ptr->second.first << std::endl;
                  break;
            case LaTeX:
                  out << "\\item {\\bf " << ptr->first << ":} "
                      << ptr->second.first
-                     << endl;
+                     << std::endl;
                  break;
            default:
                  Assert (false, ExcNotImplemented());
@@ -749,22 +749,22 @@ void ParameterHandler::print_parameters_section (ostream           &out,
 
 
                                   // now transverse subsections tree
-  map<string, Section*>::const_iterator ptrss;
+  std::map<std::string, Section*>::const_iterator ptrss;
   for (ptrss = pd->subsections.begin(); ptrss != pd->subsections.end(); ++ptrss)
     {
       switch (style) 
        {
          case Text:
-               out << setw(indent_level*2) << ""
-                   << "subsection " << ptrss->first << endl;
+               out << std::setw(indent_level*2) << ""
+                   << "subsection " << ptrss->first << std::endl;
                break;
          case LaTeX:
-               out << endl
+               out << std::endl
                    << "\\item {\\bf "
                    << "Subsection " << ptrss->first
-                   << "}" << endl
+                   << "}" << std::endl
                    << "\\begin{itemize}"
-                   << endl;
+                   << std::endl;
                break;
          default:
                Assert (false, ExcNotImplemented());
@@ -777,20 +777,20 @@ void ParameterHandler::print_parameters_section (ostream           &out,
          case Text:
                                                 // write end of subsection. one
                                                 // blank line after each subsection
-               out << setw(indent_level*2) << ""
-                   << "end" << endl
-                   << endl;
+               out << std::setw(indent_level*2) << ""
+                   << "end" << std::endl
+                   << std::endl;
 
                                                 // if this is a toplevel
                                                 // subsection, then have two
                                                 // newlines
                if (indent_level == 0)
-                 out << endl;
+                 out << std::endl;
                
                break;
          case LaTeX:
                out << "\\end{itemize}"
-                   << endl;
+                   << std::endl;
                break;
          default:
                Assert (false, ExcNotImplemented());
@@ -813,19 +813,19 @@ void ParameterHandler::log_parameters_section (LogStream &out)
     {
       if ((pc->entries.find(ptr->first) != pc->entries.end()) &&
          (pc->entries[ptr->first].first != pd->entries[ptr->first].first))
-                                      // check whether this entry is listed
-                                      // in the Changed tree and actually
-                                      // differs from the default value
-         out << ptr->first << ": "
-             << pc->entries[ptr->first].first << endl;
+                                        // check whether this entry is listed
+                                        // in the Changed tree and actually
+                                        // differs from the default value
+       out << ptr->first << ": "
+           << pc->entries[ptr->first].first << endl;
       else
-         out << ptr->first << ": "
-             << ptr->second.first << endl;
+       out << ptr->first << ": "
+           << ptr->second.first << endl;
     };
 
 
                                   // now transverse subsections tree
-  map<string, Section*>::const_iterator ptrss;
+  std::map<std::string, Section*>::const_iterator ptrss;
   for (ptrss = pd->subsections.begin(); ptrss != pd->subsections.end(); ++ptrss)
     {
       out.push(ptrss->first);
@@ -838,17 +838,17 @@ void ParameterHandler::log_parameters_section (LogStream &out)
 
 
 
-bool ParameterHandler::scan_line (string line,
+bool ParameterHandler::scan_line (std::string        line,
                                  const unsigned int lineno)
 {
                                   // if there is a comment, delete it
-  if (line.find('#') != string::npos)
-    line.erase (line.find("#"), string::npos);
+  if (line.find('#') != std::string::npos)
+    line.erase (line.find("#"), std::string::npos);
                                   // replace every whitespace sequence
                                   // by " "
-  while (line.find('\t') != string::npos)
+  while (line.find('\t') != std::string::npos)
     line.replace (line.find('\t'), 1, " ");
-  while (line.find("  ") != string::npos)
+  while (line.find("  ") != std::string::npos)
     line.erase (line.find("  "), 1);
                                   // now every existing whitespace
                                   // should be exactly one ' ';
@@ -865,19 +865,19 @@ bool ParameterHandler::scan_line (string line,
       (line.find ("subsection ") == 0))
     {
                                       // delete this prefix
-      line.erase (0, string("subsection").length()+1);
+      line.erase (0, std::string("subsection").length()+1);
 
-      string SecName = line;
+      std::string SecName = line;
       Section* pc = get_present_changed_subsection ();
                                       // check whether subsection exists
       if (pc->subsections.find(SecName) == pc->subsections.end()) 
        {
-         cerr << "Line " << lineno << ": There is no such subsection to be entered:" << endl;
+         std::cerr << "Line " << lineno << ": There is no such subsection to be entered:" << std::endl;
          for (unsigned int i=0; i<subsection_path.size(); ++i)
-           cerr << setw(i*2+4) << " "
-                << "subsection " << subsection_path[i] << endl;
-         cerr << setw(subsection_path.size()*2+4) << " "
-              << "subsection " << SecName << endl;
+           std::cerr << std::setw(i*2+4) << " "
+                     << "subsection " << subsection_path[i] << std::endl;
+         std::cerr << std::setw(subsection_path.size()*2+4) << " "
+                   << "subsection " << SecName << std::endl;
          return false;
        };
 
@@ -891,8 +891,8 @@ bool ParameterHandler::scan_line (string line,
       (line.find ("end") == 0))
     if (subsection_path.size() == 0) 
       {
-       cerr << "Line " << lineno
-            << ": There is no subsection to leave here!" << endl;
+       std::cerr << "Line " << lineno
+                 << ": There is no subsection to leave here!" << std::endl;
        return false;
       }
     else
@@ -905,28 +905,28 @@ bool ParameterHandler::scan_line (string line,
                                       // erase "set" statement and eliminate
                                       // spaces around the '='
       line.erase (0, 4);
-      if (line.find(" =") != string::npos)
+      if (line.find(" =") != std::string::npos)
        line.replace (line.find(" ="), 2, "=");
-      if (line.find("= ") != string::npos)
+      if (line.find("= ") != std::string::npos)
        line.replace (line.find("= "), 2, "=");
 
                                       // extract entry name and value
-      string entry_name  (line, 0, line.find('='));
-      string entry_value (line, line.find('=')+1, string::npos);
+      std::string entry_name  (line, 0, line.find('='));
+      std::string entry_value (line, line.find('=')+1, std::string::npos);
 
       Section* pd = get_present_defaults_subsection ();
 
                                       // check whether entry was declared
       if (pd->entries.find(entry_name) == pd->entries.end()) 
        {
-         cerr << "Line " << lineno
-              << ": No such entry was declared:" << endl
-              << "    " << entry_name << endl
-              << "    <Present subsection:" << endl;
+         std::cerr << "Line " << lineno
+                   << ": No such entry was declared:" << std::endl
+                   << "    " << entry_name << std::endl
+                   << "    <Present subsection:" << std::endl;
          for (unsigned int i=0; i<subsection_path.size(); ++i)
-           cerr << setw(i*2+8) << " "
-                << "subsection " << subsection_path[i] << endl;
-         cerr << "    >" << endl;
+           std::cerr << std::setw(i*2+8) << " "
+                     << "subsection " << subsection_path[i] << std::endl;
+         std::cerr << "    >" << std::endl;
 
          return false;
        };
@@ -937,16 +937,16 @@ bool ParameterHandler::scan_line (string line,
                                       // exception: if it contains characters
                                       // which specify it as a multiple loop
                                       // entry, then ignore content
-      if (entry_value.find ('{') == string::npos)
+      if (entry_value.find ('{') == std::string::npos)
        if (!pd->entries[entry_name].second->match(entry_value))
          {
-           cerr << "Line " << lineno << ":" << endl
-                << "    The entry value" << endl
-                << "        " << entry_value << endl
-                << "    for the entry named" << endl
-                << "        " << entry_name << endl
-                << "    does not match the given pattern" << endl
-                << "        " << pd->entries[entry_name].second->description() << endl;
+           std::cerr << "Line " << lineno << ":" << std::endl
+                     << "    The entry value" << std::endl
+                     << "        " << entry_value << std::endl
+                     << "    for the entry named" << std::endl
+                     << "        " << entry_name << std::endl
+                     << "    does not match the given pattern" << std::endl
+                     << "        " << pd->entries[entry_name].second->description() << std::endl;
            return false;
          };
       
@@ -964,8 +964,8 @@ bool ParameterHandler::scan_line (string line,
     };
 
                                   // this line matched nothing known
-  cerr << "Line " << lineno << ": This line matched nothing known:" << endl
-       << "    " << line << endl;
+  std::cerr << "Line " << lineno << ": This line matched nothing known:" << std::endl
+           << "    " << line << std::endl;
   return false;
 };
 
@@ -974,7 +974,7 @@ bool ParameterHandler::scan_line (string line,
 ParameterHandler::Section* ParameterHandler::get_present_defaults_subsection ()
 {
   Section* sec = &defaults;
-  vector<string>::const_iterator SecName = subsection_path.begin();
+  std::vector<std::string>::const_iterator SecName = subsection_path.begin();
     
   while (SecName != subsection_path.end()) 
     {
@@ -991,7 +991,7 @@ const ParameterHandler::Section* ParameterHandler::get_present_defaults_subsecti
 {
   Section* sec = const_cast<Section*>(&defaults); // not nice, but needs to be and
                                   // after all: we do not change @p{sec}
-  vector<string>::const_iterator SecName = subsection_path.begin();
+  std::vector<std::string>::const_iterator SecName = subsection_path.begin();
     
   while (SecName != subsection_path.end()) 
     {
@@ -1007,7 +1007,7 @@ const ParameterHandler::Section* ParameterHandler::get_present_defaults_subsecti
 ParameterHandler::Section* ParameterHandler::get_present_changed_subsection ()
 {
   Section* sec = &changed_entries;
-  vector<string>::iterator SecName = subsection_path.begin();
+  std::vector<std::string>::iterator SecName = subsection_path.begin();
     
   while (SecName != subsection_path.end()) 
     {
@@ -1023,7 +1023,7 @@ ParameterHandler::Section* ParameterHandler::get_present_changed_subsection ()
 const ParameterHandler::Section* ParameterHandler::get_present_changed_subsection () const
 {
   Section* sec = const_cast<Section*>(&changed_entries); // same as in get_present_default_s...
-  vector<string>::const_iterator SecName = subsection_path.begin();
+  std::vector<std::string>::const_iterator SecName = subsection_path.begin();
     
   while (SecName != subsection_path.end()) 
     {
@@ -1051,7 +1051,7 @@ ParameterHandler::Section::~Section ()
 {
   entries.clear ();
 
-  map<string, Section*>::iterator p;
+  std::map<std::string, Section*>::iterator p;
 
   for (p=subsections.begin(); p!=subsections.end(); ++p)
     delete p->second;
@@ -1069,7 +1069,7 @@ ParameterHandler::Section::memory_consumption () const
     mem += (MemoryConsumption::memory_consumption (i->first) +
            MemoryConsumption::memory_consumption (i->second.first) +
            MemoryConsumption::memory_consumption (*i->second.second));
-  for (map<string, Section*>::const_iterator i=subsections.begin(); i!=subsections.end(); ++i)
+  for (std::map<std::string, Section*>::const_iterator i=subsections.begin(); i!=subsections.end(); ++i)
     mem += (MemoryConsumption::memory_consumption (i->first) +
            MemoryConsumption::memory_consumption (*(i->second)));
   return mem;
@@ -1089,7 +1089,7 @@ MultipleParameterLoop::~MultipleParameterLoop ()
 
 
 
-bool MultipleParameterLoop::read_input (istream &input)
+bool MultipleParameterLoop::read_input (std::istream &input)
 {
   AssertThrow (input, ExcIO());
 
@@ -1101,12 +1101,12 @@ bool MultipleParameterLoop::read_input (istream &input)
 
 
 
-bool MultipleParameterLoop::read_input (const string &filename)
+bool MultipleParameterLoop::read_input (const std::string &filename)
 {
   return ParameterHandler::read_input (filename);
                                   // don't call init_branches, since this read_input
                                   // function calls
-                                  // MultipleParameterLoop::Readinput(istream &, ostream &)
+                                  // MultipleParameterLoop::Readinput(std::istream &, std::ostream &)
                                   // which itself calls init_branches.
 };
 
@@ -1123,7 +1123,7 @@ bool MultipleParameterLoop::read_input_from_string (const char *s)
 
 void MultipleParameterLoop::loop (MultipleParameterLoop::UserClass &uc)
 {
-  for (int run_no=0; run_no<n_branches; ++run_no) 
+  for (unsigned int run_no=0; run_no<n_branches; ++run_no) 
     {
                                       // give create_new one-based numbers
       uc.create_new (run_no+1);
@@ -1157,7 +1157,7 @@ void MultipleParameterLoop::init_branches ()
                                   // has only one single value after reading the
                                   // input
   if (multiple_choices.size() > 0)
-    for (vector<Entry>::iterator i=multiple_choices.end()-1;
+    for (std::vector<Entry>::iterator i=multiple_choices.end()-1;
         i >= multiple_choices.begin(); --i)
       if (i->different_values.size() == 1)
        multiple_choices.erase (i);
@@ -1172,20 +1172,20 @@ void MultipleParameterLoop::init_branches ()
                                   // number of entries
   for (unsigned int i=0; i<multiple_choices.size(); ++i)
     if (multiple_choices[i].type == array)
-      if (multiple_choices[i].different_values.size() != (unsigned int)n_branches)
-       cerr << "    The entry value" << endl
-            << "        " << multiple_choices[i].entry_value << endl
-            << "    for the entry named" << endl
-            << "        " << multiple_choices[i].entry_name << endl
-            << "    does not have the right number of entries for the " << endl
-            << "        " << n_branches << " variant runs that will be performed." << endl;
+      if (multiple_choices[i].different_values.size() != n_branches)
+       std::cerr << "    The entry value" << std::endl
+                 << "        " << multiple_choices[i].entry_value << std::endl
+                 << "    for the entry named" << std::endl
+                 << "        " << multiple_choices[i].entry_name << std::endl
+                 << "    does not have the right number of entries for the " << std::endl
+                 << "        " << n_branches << " variant runs that will be performed." << std::endl;
 
 
                                   // do a first run on filling the values to
                                   // check for the conformance with the regexp
                                   // (afterwards, this will be lost in the whole
                                   // other output)
-  for (int i=0; i<n_branches; ++i) 
+  for (unsigned int i=0; i<n_branches; ++i) 
     fill_entry_values (i);
 };
 
@@ -1197,14 +1197,14 @@ void MultipleParameterLoop::init_branches_section (const ParameterHandler::Secti
                                   // whether it is a multiple entry
   Section::EntryType::const_iterator e;
   for (e = sec.entries.begin(); e != sec.entries.end(); ++e) 
-    if (e->second.first.find('{') != string::npos) 
+    if (e->second.first.find('{') != std::string::npos) 
       multiple_choices.push_back (Entry(subsection_path,
                                        e->first,
                                        e->second.first));
 
 
                                   // transverse subsections
-  map<string, Section*>::const_iterator s;
+  std::map<std::string, Section*>::const_iterator s;
   for (s = sec.subsections.begin(); s != sec.subsections.end(); ++s) 
     {
       enter_subsection (s->first);
@@ -1219,7 +1219,7 @@ void MultipleParameterLoop::fill_entry_values (const unsigned int run_no)
 {
   int possibilities = 1;
   
-  vector<Entry>::iterator choice;
+  std::vector<Entry>::iterator choice;
   for (choice = multiple_choices.begin();
        choice != multiple_choices.end();
        ++choice) 
@@ -1231,16 +1231,16 @@ void MultipleParameterLoop::fill_entry_values (const unsigned int run_no)
                                       // set entry
       Section* pd = get_present_defaults_subsection ();
       int selection = (run_no/possibilities) % choice->different_values.size();
-      string entry_value;
+      std::string entry_value;
       if (choice->type == variant)
        entry_value = choice->different_values[selection];
       else 
        {
          if (run_no>=choice->different_values.size()) 
            {
-             cerr << "The given array for entry "
-               << pd->entries[choice->entry_name].first
-               << " does not conatin enough elements! Taking empty string instead." << endl;
+             std::cerr << "The given array for entry "
+                       << pd->entries[choice->entry_name].first
+                       << " does not conatin enough elements! Taking empty string instead." << std::endl;
              entry_value = "";
            }
          else
@@ -1250,15 +1250,15 @@ void MultipleParameterLoop::fill_entry_values (const unsigned int run_no)
                                       // check conformance with regex
       if (!pd->entries[choice->entry_name].second->match(entry_value))
        {
-         cerr << "In run no.  " << run_no+1 << ":" << endl
-              << "    The entry value" << endl
-              << "        " << entry_value << endl
-              << "    for the entry named" << endl
-              << "        " << choice->entry_name << endl
-              << "    does not match the given pattern" << endl
-              << "        " << pd->entries[choice->entry_name].second->description() << endl
-              << "    Taking default value" << endl
-              << "        " << pd->entries[choice->entry_name].first << endl;
+         std::cerr << "In run no.  " << run_no+1 << ":" << std::endl
+                   << "    The entry value" << std::endl
+                   << "        " << entry_value << std::endl
+                   << "    for the entry named" << std::endl
+                   << "        " << choice->entry_name << std::endl
+                   << "    does not match the given pattern" << std::endl
+                   << "        " << pd->entries[choice->entry_name].second->description() << std::endl
+                   << "    Taking default value" << std::endl
+                   << "        " << pd->entries[choice->entry_name].first << std::endl;
          
                                           // select default instead
          entry_value = pd->entries[choice->entry_name].first;
@@ -1299,10 +1299,10 @@ MultipleParameterLoop::memory_consumption () const
 
 
 
-MultipleParameterLoop::Entry::Entry (const vector<string> &ssp,
-                                    const string& Name,
-                                    const string& Value) :
-    subsection_path (ssp), entry_name(Name), entry_value(Value)
+MultipleParameterLoop::Entry::Entry (const std::vector<std::string> &ssp,
+                                    const std::string              &Name,
+                                    const std::string              &Value) :
+               subsection_path (ssp), entry_name(Name), entry_value(Value)
 {};
 
 
@@ -1313,10 +1313,10 @@ void MultipleParameterLoop::Entry::split_different_values ()
                                   // part before the opening "{",
                                   // the selection itself, final
                                   // part after "}"
-  string prefix  (entry_value, 0, entry_value.find('{'));
-  string multiple(entry_value, entry_value.find('{')+1,
-                 entry_value.rfind('}')-entry_value.find('{')-1);
-  string postfix (entry_value, entry_value.rfind('}')+1, string::npos);
+  std::string prefix  (entry_value, 0, entry_value.find('{'));
+  std::string multiple(entry_value, entry_value.find('{')+1,
+                      entry_value.rfind('}')-entry_value.find('{')-1);
+  std::string postfix (entry_value, entry_value.rfind('}')+1, std::string::npos);
                                   // if array entry {{..}}: delete inner
                                   // pair of braces
   if (multiple[0]=='{')
@@ -1329,25 +1329,25 @@ void MultipleParameterLoop::Entry::split_different_values ()
   while (multiple[multiple.size()-1] == ' ') multiple.erase (multiple.size()-1,1);
   
                                   // delete spaces around '|'
-  while (multiple.find(" |") != string::npos)
+  while (multiple.find(" |") != std::string::npos)
     multiple.replace (multiple.find(" |"), 2, "|");
-  while (multiple.find("| ") != string::npos)
+  while (multiple.find("| ") != std::string::npos)
     multiple.replace (multiple.find("| "), 2, "|");
 
-  while (multiple.find('|') != string::npos) 
+  while (multiple.find('|') != std::string::npos) 
     {
       different_values.push_back (prefix +
-                                 string(multiple, 0, multiple.find('|'))+
+                                 std::string(multiple, 0, multiple.find('|'))+
                                  postfix);
       multiple.erase (0, multiple.find('|')+1);
     };
                                   // make up the last selection ("while" broke
                                   // because there was no '|' any more
   different_values.push_back (prefix+multiple+postfix);
-                                // finally check whether this was a variant
-                                // entry ({...}) or an array ({{...}})
-  if ((entry_value.find("{{") != string::npos) &&
-      (entry_value.find("}}") != string::npos))
+                                  // finally check whether this was a variant
+                                  // entry ({...}) or an array ({{...}})
+  if ((entry_value.find("{{") != std::string::npos) &&
+      (entry_value.find("}}") != std::string::npos))
     type = array;
   else
     type = variant;
index 788b65764e17be12f437a7fff0d1d0773ae495cc..9ce7eb2171340f74b495d5124cdaa1f95e448b8f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 3cf6e79823cab8398712e69c8784ee3e65f43b50..a5396147eb922f83dcd949ecdd16c9c71e7335bc 100644 (file)
@@ -34,8 +34,8 @@ Quadrature<dim>::Quadrature (const unsigned int n_q) :
 
 
 template <int dim>
-Quadrature<dim>::Quadrature (const vector<Point<dim> > & points,
-                            const vector<double> & weights)
+Quadrature<dim>::Quadrature (const std::vector<Point<dim> >  &points,
+                            const std::vector<double>       &weights)
                : n_quadrature_points(points.size()),
                  quadrature_points(points),
                  weights(weights)
@@ -130,7 +130,7 @@ const Point<dim> & Quadrature<dim>::point (const unsigned int i) const
 
 
 template <>
-const vector<Point<0> > & Quadrature<0>::get_points () const
+const std::vector<Point<0> > & Quadrature<0>::get_points () const
 {
   Assert (false, ExcInternalError());
   return quadrature_points;
@@ -139,7 +139,7 @@ const vector<Point<0> > & Quadrature<0>::get_points () const
 
 
 template <int dim>
-const vector<Point<dim> > & Quadrature<dim>::get_points () const
+const std::vector<Point<dim> > & Quadrature<dim>::get_points () const
 {
   return quadrature_points;
 };
@@ -165,7 +165,7 @@ double Quadrature<dim>::weight (const unsigned int i) const
 
 
 template <int dim>
-const vector<double> & Quadrature<dim>::get_weights () const
+const std::vector<double> & Quadrature<dim>::get_weights () const
 {
   return weights;
 };
@@ -173,7 +173,7 @@ const vector<double> & Quadrature<dim>::get_weights () const
 
 
 template <>
-const vector<double> & Quadrature<0>::get_weights () const
+const std::vector<double> & Quadrature<0>::get_weights () const
 {
   Assert (false, ExcInternalError());
   return weights;
@@ -192,9 +192,9 @@ Quadrature<dim>::memory_consumption () const
 
 
 template <>
-void QProjector<2>::project_to_face (const Quadrature<1> &quadrature,
-                                    const unsigned int   face_no,
-                                    vector<Point<2> >   &q_points)
+void QProjector<2>::project_to_face (const Quadrature<1>    &quadrature,
+                                    const unsigned int      face_no,
+                                    std::vector<Point<2> > &q_points)
 {
   const unsigned int dim=2;
   Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim));
@@ -222,9 +222,9 @@ void QProjector<2>::project_to_face (const Quadrature<1> &quadrature,
 
 
 template <>
-void QProjector<3>::project_to_face (const Quadrature<2> &quadrature,
-                                    const unsigned int   face_no,
-                                    vector<Point<3> >   &q_points)
+void QProjector<3>::project_to_face (const Quadrature<2>    &quadrature,
+                                    const unsigned int      face_no,
+                                    std::vector<Point<3> > &q_points)
 {
   const unsigned int dim=3;
   Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim));
@@ -271,10 +271,10 @@ void QProjector<3>::project_to_face (const Quadrature<2> &quadrature,
 
 
 template <>
-void QProjector<2>::project_to_subface (const Quadrature<1> &quadrature,
-                                       const unsigned int   face_no,
-                                       const unsigned int   subface_no,
-                                       vector<Point<2> >   &q_points)
+void QProjector<2>::project_to_subface (const Quadrature<1>    &quadrature,
+                                       const unsigned int      face_no,
+                                       const unsigned int      subface_no,
+                                       std::vector<Point<2> > &q_points)
 {
   const unsigned int dim=2;
   Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim));
@@ -345,10 +345,10 @@ void QProjector<2>::project_to_subface (const Quadrature<1> &quadrature,
 
 
 template <>
-void QProjector<3>::project_to_subface (const Quadrature<2> &quadrature,
-                                       const unsigned int   face_no,
-                                       const unsigned int   subface_no,
-                                       vector<Point<3> >   &q_points)
+void QProjector<3>::project_to_subface (const Quadrature<2>    &quadrature,
+                                       const unsigned int      face_no,
+                                       const unsigned int      subface_no,
+                                       std::vector<Point<3> > &q_points)
 {
   const unsigned int dim=3;
   Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim));
@@ -503,14 +503,14 @@ void QProjector<3>::project_to_subface (const Quadrature<2> &quadrature,
 
 template <int dim>
 void
-QProjector<dim>::project_to_faces (const Quadrature<dim-1> &quadrature,
-                                  vector<Point<dim> >     &q_points)
+QProjector<dim>::project_to_faces (const Quadrature<dim-1>  &quadrature,
+                                  std::vector<Point<dim> > &q_points)
 {
   unsigned int npt = quadrature.n_quadrature_points;
   unsigned int nf = GeometryInfo<dim>::faces_per_cell;
   
   q_points.resize (npt*nf);
-  vector <Point<dim> > help(npt);
+  std::vector <Point<dim> > help(npt);
   
   unsigned k=0;
   for (unsigned int i=0;i<nf;++i)
@@ -526,15 +526,15 @@ QProjector<dim>::project_to_faces (const Quadrature<dim-1> &quadrature,
 
 template <int dim>
 void
-QProjector<dim>::project_to_subfaces (const Quadrature<dim-1> &quadrature,
-                                     vector<Point<dim> >     &q_points)
+QProjector<dim>::project_to_subfaces (const Quadrature<dim-1>  &quadrature,
+                                     std::vector<Point<dim> > &q_points)
 {
   unsigned int npt = quadrature.n_quadrature_points;
   unsigned int nf = GeometryInfo<dim>::faces_per_cell;
   unsigned int nc = GeometryInfo<dim>::subfaces_per_face;
   
   q_points.resize (npt*nf*nc);
-  vector <Point<dim> > help(npt);
+  std::vector <Point<dim> > help(npt);
   
   unsigned k=0;
   for (unsigned int i=0;i<nf;++i)
index 0bcec6fe3781f2886e2518a41c127791c46bf064..3ca857bad3baece573966842735dacc34c8b8e60 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 7ea95800f9fd7fb01cd174d86b6839a3eca66cca..d9f09d81fa571ade53d248c8d047996a30cf7ad6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index d34fa35820ebaa6fe6aa4c267a79c660bc79fbb5..3ec46f0623329c902ec5a627c19e3cb72b55b01d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -43,13 +43,13 @@ number TableEntry<number>::value() const
 
 
 template <typename number>
-void TableEntry<number>::write_tex (ostream &out) const
+void TableEntry<number>::write_tex (std::ostream &out) const
 {
   out << val;
 }
 
 template <typename number>
-void TableEntry<number>::write_text (ostream &out) const
+void TableEntry<number>::write_text (std::ostream &out) const
 {
   out << val;
 }
@@ -57,7 +57,7 @@ void TableEntry<number>::write_text (ostream &out) const
 
 /*---------------------------------------------------------------------*/
 
-TableHandler::Column::Column(const string &tex_caption):
+TableHandler::Column::Column(const std::string &tex_caption):
                tex_caption(tex_caption),
                tex_format("c"),
                precision(4),
@@ -90,32 +90,33 @@ TableHandler::TableHandler()
 
 
 template <typename number>
-void TableHandler::add_value (const string &key, 
+void TableHandler::add_value (const std::string &key, 
                              const number value)
 {
   if (!columns.count(key))
     {
-      pair<string, Column> new_column(key, Column(key));
+      std::pair<std::string, Column> new_column(key, Column(key));
       columns.insert(new_column);
       column_order.push_back(key);
     }
 
   TableEntry<number> *entry_ptr=new TableEntry<number>(value);
-  const map<string, Column>::iterator col_iter=columns.find(key);
+  const std::map<std::string, Column>::iterator col_iter=columns.find(key);
   Assert(col_iter!=columns.end(), ExcInternalError());
   
   col_iter->second.entries.push_back(entry_ptr);
 }
 
 
-void TableHandler::add_column_to_supercolumn (const string &key,
-                                             const string &superkey)
+void TableHandler::add_column_to_supercolumn (const std::string &key,
+                                             const std::string &superkey)
 {
   Assert(columns.count(key), ExcColumnNotExistent(key));
 
   if (!supercolumns.count(superkey))
     {
-      pair<string, vector<string> > new_column(superkey, vector<string>());
+      std::pair<std::string, std::vector<std::string> > new_column(superkey,
+                                                                  std::vector<std::string>());
       supercolumns.insert(new_column);
                                       // replace key in column_order
                                       // by superkey
@@ -130,7 +131,7 @@ void TableHandler::add_column_to_supercolumn (const string &key,
     {
                                       // remove key from column_order
                                       // for erase we need an iterator
-      for (vector<string>::iterator order_iter=column_order.begin(); 
+      for (std::vector<std::string>::iterator order_iter=column_order.begin(); 
           order_iter!=column_order.end(); ++order_iter)
        if (*order_iter==key)
          {
@@ -144,7 +145,7 @@ void TableHandler::add_column_to_supercolumn (const string &key,
       supercolumns[superkey].push_back(key);
                                       // By default set the
                                       // tex_supercaption to superkey
-      pair<string, string> new_tex_supercaption(superkey, superkey);
+      std::pair<std::string, std::string> new_tex_supercaption(superkey, superkey);
       tex_supercaptions.insert(new_tex_supercaption);
     }
   else
@@ -152,7 +153,7 @@ void TableHandler::add_column_to_supercolumn (const string &key,
 }
 
 
-void TableHandler::set_column_order (const vector<string> &new_order)
+void TableHandler::set_column_order (const std::vector<std::string> &new_order)
 {
   for (unsigned int j=0; j<new_order.size(); ++j)
     Assert(supercolumns.count(new_order[j]) || columns.count(new_order[j]),
@@ -162,16 +163,16 @@ void TableHandler::set_column_order (const vector<string> &new_order)
 }
 
 
-void TableHandler::set_tex_caption (const string &key, 
-                                   const string &tex_caption)
+void TableHandler::set_tex_caption (const std::string &key, 
+                                   const std::string &tex_caption)
 {
   Assert(columns.count(key), ExcColumnNotExistent(key));
   columns[key].tex_caption=tex_caption;
 }
 
 
-void TableHandler::set_tex_supercaption (const string &superkey,
-                                        const string &tex_supercaption)
+void TableHandler::set_tex_supercaption (const std::string &superkey,
+                                        const std::string &tex_supercaption)
 {
   Assert(supercolumns.count(superkey), ExcSuperColumnNotExistent(superkey));
   Assert(tex_supercaptions.count(superkey), ExcInternalError());
@@ -179,8 +180,8 @@ void TableHandler::set_tex_supercaption (const string &superkey,
 }
 
 
-void TableHandler::set_tex_format (const string &key,
-                                  const string &tex_format)
+void TableHandler::set_tex_format (const std::string &key,
+                                  const std::string &tex_format)
 {
   Assert(columns.count(key), ExcColumnNotExistent(key));
   Assert(tex_format=="l" || tex_format=="c" || tex_format=="r",
@@ -189,7 +190,7 @@ void TableHandler::set_tex_format (const string &key,
 }
 
 
-void TableHandler::set_precision (const string &key,
+void TableHandler::set_precision (const std::string &key,
                                  unsigned int precision)
 {
   Assert(columns.count(key), ExcColumnNotExistent(key));
@@ -197,7 +198,7 @@ void TableHandler::set_precision (const string &key,
 }
 
 
-void TableHandler::set_scientific (const string &key,
+void TableHandler::set_scientific (const std::string &key,
                                   bool scientific)
 {
   Assert(columns.count(key), ExcColumnNotExistent(key));
@@ -205,28 +206,28 @@ void TableHandler::set_scientific (const string &key,
 }
 
 
-void TableHandler::write_text(ostream &out) const
+void TableHandler::write_text(std::ostream &out) const
 {
-  vector<string> sel_columns;
+  std::vector<std::string> sel_columns;
   get_selected_columns(sel_columns);
 
 
 // write the caption line
   for (unsigned int j=0; j<column_order.size(); ++j)
     {
-      string key=column_order[j];
+      std::string key=column_order[j];
       unsigned int column_string_size=0;
 
-      const map<string, vector<string> >::const_iterator 
+      const std::map<std::string, std::vector<std::string> >::const_iterator 
        super_iter=supercolumns.find(key);
 
                                      
       if (super_iter!=supercolumns.end())   // if supercolumn
        {
-         vector<string>::const_iterator col_key=super_iter->second.begin();
+         std::vector<std::string>::const_iterator col_key=super_iter->second.begin();
          for (;col_key!=super_iter->second.end(); ++col_key)
            {
-             const map<string, Column>::const_iterator
+             const std::map<std::string, Column>::const_iterator
                col_iter=columns.find(*col_key);
              if (col_iter->second.scientific &&
                  col_iter->second.precision>1)
@@ -237,7 +238,7 @@ void TableHandler::write_text(ostream &out) const
        }
       else
        {
-         const map<string, Column>::const_iterator
+         const std::map<std::string, Column>::const_iterator
                col_iter=columns.find(key);
          if (col_iter->second.scientific &&
              col_iter->second.precision>1)
@@ -250,12 +251,12 @@ void TableHandler::write_text(ostream &out) const
       if (key.size()>column_string_size)
        key.erase(column_string_size);
       
-      out.setf(ios::left);
-      out << setw(column_string_size)
+      out.setf(std::ios::left);
+      out << std::setw(column_string_size)
 //       << setfill('*') 
          << key.c_str() << "\t";
     }
-  out << endl;
+  out << std::endl;
 
   const unsigned int nrows=n_rows();
   for (unsigned int i=0; i<nrows; ++i)
@@ -264,48 +265,48 @@ void TableHandler::write_text(ostream &out) const
       
       for (unsigned int j=0; j<n_cols; ++j)
        {
-         string key=sel_columns[j];
+         std::string key=sel_columns[j];
                                           // avoid `column[key]'
-         const map<string, Column>::const_iterator
+         const std::map<std::string, Column>::const_iterator
            col_iter=columns.find(key);
          Assert(col_iter!=columns.end(), ExcInternalError());
          
          const Column &column=col_iter->second;
          
-         out << setprecision(column.precision);
+         out << std::setprecision(column.precision);
 
          if (col_iter->second.scientific)
-           out.setf(ios::scientific, ios::floatfield);
+           out.setf(std::ios::scientific, std::ios::floatfield);
          else
-           out.setf(ios::fixed, ios::floatfield);
+           out.setf(std::ios::fixed, std::ios::floatfield);
          column.entries[i]->write_tex(out);
          
          if (j<n_cols-1)
            out << "\t";
        }
-      out << endl;
+      out << std::endl;
     }
 }
 
 
-void TableHandler::write_tex(ofstream &out) const
+void TableHandler::write_tex(std::ofstream &out) const
 {
-  out << "\\documentclass[10pt]{report}" << endl
-      << "\\usepackage{float}" << endl << endl << endl
-      << "\\begin{document}" << endl
-      << "\\begin{table}[H]" << endl
-      << "\\begin{center}" << endl
+  out << "\\documentclass[10pt]{report}" << std::endl
+      << "\\usepackage{float}" << std::endl << std::endl << std::endl
+      << "\\begin{document}" << std::endl
+      << "\\begin{table}[H]" << std::endl
+      << "\\begin{center}" << std::endl
       << "\\begin{tabular}{|";
 
-  vector<string> sel_columns;
+  std::vector<std::string> sel_columns;
   get_selected_columns(sel_columns);
 
                                   // write the column formats
   for (unsigned int j=0; j<column_order.size(); ++j)
     {
-      string key=column_order[j];
+      std::string key=column_order[j];
                                       // avoid `supercolumns[key]'
-      const map<string, vector<string> >::const_iterator 
+      const std::map<std::string, std::vector<std::string> >::const_iterator 
        super_iter=supercolumns.find(key);
 
       if (super_iter!=supercolumns.end())
@@ -314,7 +315,7 @@ void TableHandler::write_tex(ofstream &out) const
          for (unsigned int k=0; k<n_subcolumns; ++k)
            {
                                               // avoid `columns[supercolumns[key]]'
-             const map<string, Column>::const_iterator
+             const std::map<std::string, Column>::const_iterator
                col_iter=columns.find(super_iter->second[k]);
              Assert(col_iter!=columns.end(), ExcInternalError());
              
@@ -324,35 +325,35 @@ void TableHandler::write_tex(ofstream &out) const
       else
        {
                                           // avoid `columns[key]';
-         const map<string, Column>::const_iterator
+         const std::map<std::string, Column>::const_iterator
            col_iter=columns.find(key);
          Assert(col_iter!=columns.end(), ExcInternalError());
          out << col_iter->second.tex_format << "|";
        }
     }
-  out << "} \\hline" << endl;
+  out << "} \\hline" << std::endl;
 
                                   // write the caption line of the table
   
   for (unsigned int j=0; j<column_order.size(); ++j)
     {
-      string key=column_order[j];
-      const map<string, vector<string> >::const_iterator 
+      std::string key=column_order[j];
+      const std::map<std::string, std::vector<std::string> >::const_iterator 
        super_iter=supercolumns.find(key);
 
       if (super_iter!=supercolumns.end())
        {
          const unsigned int n_subcolumns=super_iter->second.size();
                                           // avoid use of `tex_supercaptions[key]'
-         map<string,string>::const_iterator 
+         std::map<std::string,std::string>::const_iterator 
            tex_super_cap_iter=tex_supercaptions.find(key);
-         out << endl << "\\multicolumn{" << n_subcolumns << "}{|c|}{" 
+         out << std::endl << "\\multicolumn{" << n_subcolumns << "}{|c|}{" 
              << tex_super_cap_iter->second << "}";
        }
       else
        {
                                           // col_iter->second=columns[col];
-         const map<string, Column>::const_iterator
+         const std::map<std::string, Column>::const_iterator
            col_iter=columns.find(key);
          Assert(col_iter!=columns.end(), ExcInternalError());
          out << col_iter->second.tex_caption;
@@ -360,7 +361,7 @@ void TableHandler::write_tex(ofstream &out) const
       if (j<column_order.size()-1)
        out << " & ";
     }
-  out << "\\\\ \\hline" << endl;
+  out << "\\\\ \\hline" << std::endl;
 
                                   // write the n rows
   const unsigned int nrows=n_rows();
@@ -370,44 +371,44 @@ void TableHandler::write_tex(ofstream &out) const
       
       for (unsigned int j=0; j<n_cols; ++j)
        {
-         string key=sel_columns[j];
+         std::string key=sel_columns[j];
                                           // avoid `column[key]'
-         const map<string, Column>::const_iterator
+         const std::map<std::string, Column>::const_iterator
            col_iter=columns.find(key);
          Assert(col_iter!=columns.end(), ExcInternalError());
          
          const Column &column=col_iter->second;
          
-         out << setprecision(column.precision);
+         out << std::setprecision(column.precision);
 
          if (col_iter->second.scientific)
-           out.setf(ios::scientific, ios::floatfield);
+           out.setf(std::ios::scientific, std::ios::floatfield);
          else
-           out.setf(ios::fixed, ios::floatfield);
+           out.setf(std::ios::fixed, std::ios::floatfield);
          
          column.entries[i]->write_tex(out);
          
          if (j<n_cols-1)
            out << " & ";
        }
-      out << "\\\\ \\hline" << endl;
+      out << "\\\\ \\hline" << std::endl;
     }
 
-  string caption="table";
+  std::string caption="table";
   
-  out << "\\end{tabular}" << endl
-      << "\\end{center}" << endl
-//      << "\\caption{"  << caption << "}" << endl
-      << "\\end{table}" << endl
-      << "\\end{document}" << endl;
+  out << "\\end{tabular}" << std::endl
+      << "\\end{center}" << std::endl
+//      << "\\caption{"  << caption << "}" << std::endl
+      << "\\end{table}" << std::endl
+      << "\\end{document}" << std::endl;
 }
 
 
 unsigned int TableHandler::n_rows() const
 {
-  map<string, Column>::const_iterator col_iter=columns.begin();
+  std::map<std::string, Column>::const_iterator col_iter=columns.begin();
   unsigned int n=col_iter->second.entries.size();
-  string first_name=col_iter->first;
+  std::string first_name=col_iter->first;
 
   for (++col_iter; col_iter!=columns.end(); ++col_iter)
     Assert(col_iter->second.entries.size()==n, 
@@ -419,14 +420,14 @@ unsigned int TableHandler::n_rows() const
 }
 
 
-void TableHandler::get_selected_columns(vector<string> &sel_columns) const
+void TableHandler::get_selected_columns(std::vector<std::string> &sel_columns) const
 {
   sel_columns.clear();
   
   for (unsigned int j=0; j<column_order.size(); ++j)
     {
-      string key=column_order[j];
-      const map<string, vector<string> >::const_iterator 
+      std::string key=column_order[j];
+      const std::map<std::string, std::vector<std::string> >::const_iterator 
        super_iter=supercolumns.find(key);
 
       if (super_iter!=supercolumns.end())
@@ -435,7 +436,7 @@ void TableHandler::get_selected_columns(vector<string> &sel_columns) const
          const unsigned int n_subcolumns=super_iter->second.size();
          for (unsigned int j=0; j<n_subcolumns; ++j)
            {
-             const string subkey=super_iter->second[j];
+             const std::string subkey=super_iter->second[j];
              Assert(columns.count(subkey), ExcInternalError());
              sel_columns.push_back(subkey);
            }
@@ -447,7 +448,7 @@ void TableHandler::get_selected_columns(vector<string> &sel_columns) const
          sel_columns.push_back(key);
        }
     }
-  cout << endl;
+  std::cout << std::endl;
 }
 
 
@@ -456,19 +457,19 @@ template class TableEntry<double>;
 template class TableEntry<float>;
 template class TableEntry<int>;
 template class TableEntry<unsigned int>;
-template class TableEntry<string>;
+template class TableEntry<std::string>;
 
 
 template
-void TableHandler::add_value(const string &, double);
+void TableHandler::add_value(const std::string &, double);
 
 template
-void TableHandler::add_value(const string &, int);
+void TableHandler::add_value(const std::string &, int);
 
 template
-void TableHandler::add_value(const string &, unsigned int);
+void TableHandler::add_value(const std::string &, unsigned int);
 
 template
-void TableHandler::add_value(const string &, string);
+void TableHandler::add_value(const std::string &, std::string);
 
 
index 2a84b3809ccf313aa347b3b246e02bec51b4103c..e1cb7d13d0a9686e7504c3b2d8fe83517d0a7bbf 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index b19ef8f130bbaf10f523524edef9a86b82bf4566..68c111ec72b19972e503859d1eace69c36a3d52f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -46,8 +46,8 @@ TensorFunction<rank, dim>::value (const Point<dim> &) const
 
 template <int rank, int dim>
 void
-TensorFunction<rank, dim>::value_list (const vector<Point<dim> > &points,
-                                      vector<Tensor<rank,dim> > &values) const
+TensorFunction<rank, dim>::value_list (const std::vector<Point<dim> > &points,
+                                      std::vector<Tensor<rank,dim> > &values) const
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch(values.size(), points.size()));
@@ -68,8 +68,8 @@ TensorFunction<rank, dim>::gradient (const Point<dim> &) const
 
 template <int rank, int dim>
 void
-TensorFunction<rank, dim>::gradient_list (const vector<Point<dim> > &points,
-                                   vector<Tensor<rank+1,dim> > &gradients) const
+TensorFunction<rank, dim>::gradient_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Tensor<rank+1,dim> >     &gradients) const
 {
   Assert (gradients.size() == points.size(),
          ExcDimensionMismatch(gradients.size(), points.size()));
index e761faf6583a79f194426b3fac5fdf83007c0593..801cdee5c23a92820fffe5caa463c4b8e4d2242b 100644 (file)
@@ -179,7 +179,7 @@ namespace Threads
 
 
 
-  vector<pair<unsigned int,unsigned int> >
+  std::vector<std::pair<unsigned int,unsigned int> >
   split_interval (const unsigned int begin,
                  const unsigned int end,
                  const unsigned int n_intervals)
@@ -190,7 +190,7 @@ namespace Threads
     const unsigned int n_elements_per_interval = n_elements / n_intervals;
     const unsigned int residual                = n_elements % n_intervals;
     
-    vector<pair<unsigned int,unsigned int> > return_values (n_intervals);
+    std::vector<std::pair<unsigned int,unsigned int> > return_values (n_intervals);
 
     return_values[0].first = begin;
     for (unsigned int i=0; i<n_intervals; ++i)
index 79fc37c8abe99822a814d6de7f938b47460900cb..43ab4cece59ab6de062701695764da8228eaae72 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index c32820885c53b019e0408e826d796aac26ce6d81..bbf48cc499c157abd01ae615775af0016b2599d4 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -246,11 +246,11 @@ class DoFObjectAccessor : public DoFAccessor<dim>,
                                      * to a @ref{DoFHandler} object.
                                      */
     DoFObjectAccessor (Triangulation<dim> *tria,
-                   const int           level,
-                   const int           index,
-                   const AccessorData *local_data) :
+                      const int           level,
+                      const int           index,
+                      const AccessorData *local_data) :
                    DoFAccessor<dim> (local_data),
-                   DoFObjectAccessor_Inheritance<celldim,dim>::BaseClass (tria,level,index) {};
+      DoFObjectAccessor_Inheritance<celldim,dim>::BaseClass (tria,level,index) {};
     
                                     /**
                                      * Index of the @p{i}th degree
@@ -291,7 +291,7 @@ class DoFObjectAccessor : public DoFAccessor<dim>,
                                      * right size before being passed
                                      * to this function.
                                      */
-    void get_dof_indices (vector<unsigned int> &dof_indices) const;
+    void get_dof_indices (std::vector<unsigned int> &dof_indices) const;
 
                                     /**
                                      * Return the values of the given vector
@@ -504,7 +504,7 @@ class DoFObjectAccessor<1, dim> :  public DoFAccessor<dim>,
                       const int           index,
                       const AccessorData *local_data) :
                    DoFAccessor<dim> (local_data),
-                   DoFObjectAccessor_Inheritance<1,dim>::BaseClass (tria,level,index) {};
+      DoFObjectAccessor_Inheritance<1,dim>::BaseClass (tria,level,index) {};
     
                                     /**
                                      * Return the index of the @p{i}th degree
@@ -543,7 +543,7 @@ class DoFObjectAccessor<1, dim> :  public DoFAccessor<dim>,
                                      * It is assumed that the vector already
                                      * has the right size beforehand.
                                      */
-    void get_dof_indices (vector<unsigned int> &dof_indices) const;
+    void get_dof_indices (std::vector<unsigned int> &dof_indices) const;
 
                                     /**
                                      * Return the values of the given vector
@@ -688,11 +688,11 @@ class DoFObjectAccessor<2, dim> :  public DoFAccessor<dim>,
                                      * to a @ref{DoFHandler} object.
                                      */
     DoFObjectAccessor (Triangulation<dim> *tria,
-                    const int           level,
-                    const int           index,
-                    const AccessorData *local_data) :
+                      const int           level,
+                      const int           index,
+                      const AccessorData *local_data) :
                    DoFAccessor<dim> (local_data),
-                   DoFObjectAccessor_Inheritance<2,dim>::BaseClass (tria,level,index) {};
+      DoFObjectAccessor_Inheritance<2,dim>::BaseClass (tria,level,index) {};
     
                                     /**
                                      * Return the index of the @p{i}th degree
@@ -732,7 +732,7 @@ class DoFObjectAccessor<2, dim> :  public DoFAccessor<dim>,
                                      * It is assumed that the vector already
                                      * has the right size beforehand.
                                      */
-    void get_dof_indices (vector<unsigned int> &dof_indices) const;
+    void get_dof_indices (std::vector<unsigned int> &dof_indices) const;
 
                                     /**
                                      * Return the values of the given vector
@@ -885,11 +885,11 @@ class DoFObjectAccessor<3, dim> :  public DoFAccessor<dim>,
                                      * to a @ref{DoFHandler} object.
                                      */
     DoFObjectAccessor (Triangulation<dim> *tria,
-                   const int           level,
-                   const int           index,
-                   const AccessorData *local_data) :
+                      const int           level,
+                      const int           index,
+                      const AccessorData *local_data) :
                    DoFAccessor<dim> (local_data),
-                   DoFObjectAccessor_Inheritance<3,dim>::BaseClass (tria,level,index) {};
+      DoFObjectAccessor_Inheritance<3,dim>::BaseClass (tria,level,index) {};
     
                                     /**
                                      * Return the index of the @p{i}th degree
@@ -929,7 +929,7 @@ class DoFObjectAccessor<3, dim> :  public DoFAccessor<dim>,
                                      * It is assumed that the vector already
                                      * has the right size beforehand.
                                      */
-    void get_dof_indices (vector<unsigned int> &dof_indices) const;
+    void get_dof_indices (std::vector<unsigned int> &dof_indices) const;
 
                                     /**
                                      * Return the values of the given vector
@@ -1090,7 +1090,7 @@ class DoFCellAccessor :  public DoFObjectAccessor<dim, dim>
                     const int           level,
                     const int           index,
                     const AccessorData *local_data) :
-                    DoFObjectAccessor<dim, dim> (tria,level,index,local_data) {};
+                   DoFObjectAccessor<dim, dim> (tria,level,index,local_data) {};
 
                                     /**
                                      * Return the @p{i}th neighbor as a DoF cell
index 43c2f7576fe3802570b60ccc7de91b809b0b291d..3c351e95cab74827de44977c3cc1420da176481a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -138,7 +138,7 @@ DoFObjectAccessor<1,dim>::vertex_dof_index (const unsigned int vertex,
 template <int dim>
 inline
 void
-DoFObjectAccessor<1,dim>::get_dof_indices (vector<unsigned int> &dof_indices) const
+DoFObjectAccessor<1,dim>::get_dof_indices (std::vector<unsigned int> &dof_indices) const
 {
                                   // since the exception classes are
                                   // from a template dependent base
@@ -159,7 +159,7 @@ DoFObjectAccessor<1,dim>::get_dof_indices (vector<unsigned int> &dof_indices) co
 
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line;
-  vector<unsigned int>::iterator next = dof_indices.begin();
+  std::vector<unsigned int>::iterator next = dof_indices.begin();
   for (unsigned int vertex=0; vertex<2; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next++ = vertex_dof_index(vertex,d);
@@ -174,9 +174,9 @@ TriaIterator<dim,DoFObjectAccessor<1,dim> >
 DoFObjectAccessor<1,dim>::child (const unsigned int i) const
 {
   TriaIterator<dim,DoFObjectAccessor<1,dim> > q (tria,
-                                                      present_level+1,
-                                                      child_index (i),
-                                                      dof_handler);
+                                                present_level+1,
+                                                child_index (i),
+                                                dof_handler);
   
 #ifdef DEBUG
   if (q.state() != past_the_end)
@@ -240,7 +240,7 @@ DoFObjectAccessor<2,dim>::vertex_dof_index (const unsigned int vertex,
 template <int dim>
 inline
 void
-DoFObjectAccessor<2,dim>::get_dof_indices (vector<unsigned int> &dof_indices) const
+DoFObjectAccessor<2,dim>::get_dof_indices (std::vector<unsigned int> &dof_indices) const
 {
   Assert (dof_handler != 0,
          typename DoFAccessor<dim>::ExcInvalidObject());
@@ -254,7 +254,7 @@ DoFObjectAccessor<2,dim>::get_dof_indices (vector<unsigned int> &dof_indices) co
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad;
-  vector<unsigned int>::iterator next = dof_indices.begin();
+  std::vector<unsigned int>::iterator next = dof_indices.begin();
   for (unsigned int vertex=0; vertex<4; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next++ = vertex_dof_index(vertex,d);
@@ -289,9 +289,9 @@ TriaIterator<dim,DoFObjectAccessor<2,dim> >
 DoFObjectAccessor<2,dim>::child (const unsigned int i) const
 {
   TriaIterator<dim,DoFObjectAccessor<2,dim> > q (tria,
-                                                 present_level+1,
-                                                 child_index (i),
-                                                 dof_handler);
+                                                present_level+1,
+                                                child_index (i),
+                                                dof_handler);
   
 #ifdef DEBUG
   if (q.state() != past_the_end)
@@ -357,7 +357,7 @@ DoFObjectAccessor<3,dim>::vertex_dof_index (const unsigned int vertex,
 template <int dim>
 inline
 void
-DoFObjectAccessor<3,dim>::get_dof_indices (vector<unsigned int> &dof_indices) const
+DoFObjectAccessor<3,dim>::get_dof_indices (std::vector<unsigned int> &dof_indices) const
 {
   Assert (dof_handler != 0,
          typename DoFAccessor<dim>::ExcInvalidObject());
@@ -373,7 +373,7 @@ DoFObjectAccessor<3,dim>::get_dof_indices (vector<unsigned int> &dof_indices) co
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad,
                     dofs_per_hex    = dof_handler->get_fe().dofs_per_hex;
-  vector<unsigned int>::iterator next = dof_indices.begin();
+  std::vector<unsigned int>::iterator next = dof_indices.begin();
   for (unsigned int vertex=0; vertex<8; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next++ = vertex_dof_index(vertex,d);
@@ -427,9 +427,9 @@ TriaIterator<dim,DoFObjectAccessor<3,dim> >
 DoFObjectAccessor<3,dim>::child (const unsigned int i) const
 {
   TriaIterator<dim,DoFObjectAccessor<3,dim> > q (tria,
-                                                 present_level+1,
-                                                 child_index (i),
-                                                 dof_handler);
+                                                present_level+1,
+                                                child_index (i),
+                                                dof_handler);
   
 #ifdef DEBUG
   if (q.state() != past_the_end)
index c713c048217864ce41674c66e6635d31be764387..740c164ed5f095ea46d3b4d84dad4679b4db5f03 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -139,8 +139,8 @@ class ConstraintMatrix : public Subscriptor
                                      * preceeding function more
                                      * several times, but is faster.
                                      */
-    void add_entries (const unsigned int                        line,
-                     const vector<pair<unsigned int,double> > &col_val_pairs);
+    void add_entries (const unsigned int                                  line,
+                     const std::vector<std::pair<unsigned int,double> > &col_val_pairs);
 
                                     /**
                                      * Close the filling of entries. Since the
@@ -384,7 +384,7 @@ class ConstraintMatrix : public Subscriptor
                                      * not stored in this object and are not
                                      * printed.
                                      */
-    void print (ostream &) const;
+    void print (std::ostream &) const;
 
                                     /**
                                      * Determine an estimate for the
@@ -459,7 +459,7 @@ class ConstraintMatrix : public Subscriptor
                                          * thereof, the same applies as what is
                                          * said for @ref{ConstraintMatrix}@p{::lines}.
                                          */
-       vector<pair<unsigned int,double> > entries;
+       std::vector<std::pair<unsigned int,double> > entries;
 
                                         /**
                                          * This operator is a bit
@@ -503,7 +503,7 @@ class ConstraintMatrix : public Subscriptor
                                      * additionally make usage of this matrix
                                      * much slower.
                                      */
-    vector<ConstraintLine> lines;
+    std::vector<ConstraintLine> lines;
        
                                     /**
                                      * Store whether the arrays are sorted.
index e82c027bbd94eeaffb9654c248c0bfd1c1bed7cf..d0d56968b03857a1e2a5defcc05665329d3752dc 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -40,12 +40,12 @@ ConstraintMatrix::condense (const SparseMatrix<number> &uncondensed,
                                   // its new line number
                                   // after compression. If the shift is
                                   // -1, this line will be condensed away
-  vector<int> new_line;
+  std::vector<int> new_line;
 
   new_line.reserve (uncondensed_struct.n_rows());
 
-  vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
-  unsigned int                           shift           = 0;
+  std::vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
+  unsigned int                                shift           = 0;
   const unsigned int n_rows = uncondensed_struct.n_rows();
 
   if (next_constraint == lines.end()) 
@@ -96,7 +96,7 @@ ConstraintMatrix::condense (const SparseMatrix<number> &uncondensed,
          {
                                             // let c point to the constraint
                                             // of this column
-           vector<ConstraintLine>::const_iterator c = lines.begin();
+           std::vector<ConstraintLine>::const_iterator c = lines.begin();
            while (c->line != uncondensed_struct.get_column_numbers()[j])
              ++c;
 
@@ -115,10 +115,10 @@ ConstraintMatrix::condense (const SparseMatrix<number> &uncondensed,
          if (new_line[uncondensed_struct.get_column_numbers()[j]] != -1)
                                             // column is not constrained
            for (unsigned int q=0; q!=next_constraint->entries.size(); ++q) 
-               condensed.add (new_line[next_constraint->entries[q].first],
-                              new_line[uncondensed_struct.get_column_numbers()[j]],
-                              uncondensed.global_entry(j) *
-                              next_constraint->entries[q].second);
+             condensed.add (new_line[next_constraint->entries[q].first],
+                            new_line[uncondensed_struct.get_column_numbers()[j]],
+                            uncondensed.global_entry(j) *
+                            next_constraint->entries[q].second);
        
          else
                                             // not only this line but
@@ -126,17 +126,17 @@ ConstraintMatrix::condense (const SparseMatrix<number> &uncondensed,
            {
                                               // let c point to the constraint
                                               // of this column
-             vector<ConstraintLine>::const_iterator c = lines.begin();
+             std::vector<ConstraintLine>::const_iterator c = lines.begin();
              while (c->line != uncondensed_struct.get_column_numbers()[j])
                ++c;
              
              for (unsigned int p=0; p!=c->entries.size(); ++p)
                for (unsigned int q=0; q!=next_constraint->entries.size(); ++q)
-                   condensed.add (new_line[next_constraint->entries[q].first],
-                                  new_line[c->entries[p].first],
-                                  uncondensed.global_entry(j) *
-                                  next_constraint->entries[q].second *
-                                  c->entries[p].second);
+                 condensed.add (new_line[next_constraint->entries[q].first],
+                                new_line[c->entries[p].first],
+                                uncondensed.global_entry(j) *
+                                next_constraint->entries[q].second *
+                                c->entries[p].second);
            };
        
        ++next_constraint;
@@ -162,7 +162,7 @@ ConstraintMatrix::condense (SparseMatrix<number> &uncondensed) const
                                   // otherwise, the number states which
                                   // line in the constraint matrix handles
                                   // this index
-  vector<int> distribute (sparsity.n_rows(), -1);
+  std::vector<int> distribute (sparsity.n_rows(), -1);
   
   for (unsigned int c=0; c<lines.size(); ++c)
     distribute[lines[c].line] = static_cast<signed int>(c);
@@ -291,7 +291,7 @@ ConstraintMatrix::condense (BlockSparseMatrix<number> &uncondensed) const
                                   // otherwise, the number states which
                                   // line in the constraint matrix handles
                                   // this index
-  vector<int> distribute (sparsity.n_rows(), -1);
+  std::vector<int> distribute (sparsity.n_rows(), -1);
   
   for (unsigned int c=0; c<lines.size(); ++c)
     distribute[lines[c].line] = static_cast<signed int>(c);
@@ -301,7 +301,7 @@ ConstraintMatrix::condense (BlockSparseMatrix<number> &uncondensed) const
     {
                                       // get index of this row
                                       // within the blocks
-      const pair<unsigned int,unsigned int>
+      const std::pair<unsigned int,unsigned int>
        block_index = index_mapping.global_to_local(row);
       const unsigned int block_row = block_index.first;
       
@@ -457,12 +457,12 @@ ConstraintMatrix::condense (const VectorType &uncondensed,
                                   // its new line number
                                   // after compression. If the shift is
                                   // -1, this line will be condensed away
-  vector<int> new_line;
+  std::vector<int> new_line;
 
   new_line.reserve (uncondensed.size());
 
-  vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
-  unsigned int                           shift           = 0;
+  std::vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
+  unsigned int                                shift           = 0;
   unsigned int n_rows = uncondensed.size();
 
   if (next_constraint == lines.end()) 
@@ -528,7 +528,7 @@ ConstraintMatrix::condense (VectorType &vec) const
                                     // nothing to do
     return;
   
-  vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
+  std::vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
   for (unsigned int row=0; row<vec.size(); ++row)
     if (row == next_constraint->line)
                                       // line must be distributed
@@ -559,7 +559,7 @@ ConstraintMatrix::set_zero (VectorType &vec) const
                                     // nothing to do
     return;
   
-  vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
+  std::vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
   for (unsigned int row=0; row<vec.size(); ++row)
     if (row == next_constraint->line)
       {
@@ -588,12 +588,12 @@ ConstraintMatrix::distribute (const VectorType &condensed,
                                   // its old line number before
                                   // distribution. If the shift is
                                   // -1, this line was condensed away
-  vector<int> old_line;
+  std::vector<int> old_line;
 
   old_line.reserve (uncondensed.size());
 
-  vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
-  unsigned int                           shift           = 0;
+  std::vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
+  unsigned int                                shift           = 0;
   unsigned int n_rows = uncondensed.size();
 
   if (next_constraint == lines.end()) 
@@ -654,7 +654,7 @@ ConstraintMatrix::distribute (VectorType &vec) const
 {
   Assert (sorted == true, ExcMatrixNotClosed());
 
-  vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
+  std::vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
   for (; next_constraint != lines.end(); ++next_constraint) 
     {
                                       // make entry in line next_constraint.line
index 29cd837b90c638602c93179147741521b55f64a5..2dab1ce981734a0c37a77a07f3cdc4b4c75887d9 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -257,7 +257,7 @@ class DoFHandler  :  public Subscriptor,
                                      * for each boundary indicator, which is
                                      * guaranteed by the @p{map} data type.
                                      */
-    typedef map<unsigned char,const Function<dim>*> FunctionMap;
+    typedef std::map<unsigned char,const Function<dim>*> FunctionMap;
 
                                     /**
                                      * When the arrays holding the
@@ -354,7 +354,7 @@ class DoFHandler  :  public Subscriptor,
                                      * wants to implement an ordering scheme
                                      * herself, for example downwind numbering.
                                      */
-    void renumber_dofs (const vector<unsigned int> &new_numbers);
+    void renumber_dofs (const std::vector<unsigned int> &new_numbers);
 
                                     /**
                                      * Return the maximum number of
@@ -984,7 +984,7 @@ class DoFHandler  :  public Subscriptor,
                                      * consideration.
                                      */
     unsigned int
-    n_boundary_dofs (const set<unsigned char> &boundary_indicators) const;
+    n_boundary_dofs (const std::set<unsigned char> &boundary_indicators) const;
 
                                     /**
                                      * Return a constant reference to the
@@ -1137,7 +1137,7 @@ class DoFHandler  :  public Subscriptor,
                                      * @p{levels[]} tree of the @ref{Triangulation}
                                      * objects.
                                      */
-    vector<DoFLevel<dim>*>    levels;
+    std::vector<DoFLevel<dim>*>    levels;
 
                                     /**
                                      * Store the number of dofs created last
@@ -1149,7 +1149,7 @@ class DoFHandler  :  public Subscriptor,
                                      * Array to store the indices for degrees
                                      * of freedom located at vertices.
                                      */
-    vector<unsigned int>      vertex_dofs;
+    std::vector<unsigned int>      vertex_dofs;
 
 
 #if (__GNUC__==2) && (__GNUC_MINOR__ < 95)
index 931a76de104389703a956fed7c8d36e74b950572..1cb6c30f063d0c1788564bcdcc0e87625e623a5c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -90,7 +90,7 @@ class DoFLevel<1>
                                      * of freedom. See @ref{DoFLevel} for
                                      * detailed information.
                                      */
-    vector<unsigned int> line_dofs;
+    std::vector<unsigned int> line_dofs;
 
                                     /**
                                      * Determine an estimate for the
@@ -117,7 +117,7 @@ class DoFLevel<2> : public DoFLevel<1>
                                      * of freedom. See @ref{DoFLevel} for
                                      * detailed information.
                                      */
-    vector<unsigned int> quad_dofs;
+    std::vector<unsigned int> quad_dofs;
 
                                     /**
                                      * Determine an estimate for the
@@ -144,7 +144,7 @@ class DoFLevel<3> : public DoFLevel<2>
                                      * of freedom. See @ref{DoFLevel} for
                                      * detailed information.
                                      */
-    vector<unsigned int> hex_dofs;
+    std::vector<unsigned int> hex_dofs;
 
                                     /**
                                      * Determine an estimate for the
index f1caa874d92b5296948f15c328272969f7a9cb3a..83cf803b55d9537691c554a431351906765c4cd9 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -265,7 +265,7 @@ class DoFTools
                                      */
     template<int dim, class SparsityPattern>
     static void make_sparsity_pattern (const DoFHandler<dim>       &dof,
-                                      const vector<vector<bool> > &mask,
+                                      const std::vector<std::vector<bool> > &mask,
                                       SparsityPattern             &sparsity_pattern);
 
                                     /**
@@ -296,9 +296,9 @@ class DoFTools
                                      */
     template<int dim>
     static void
-    make_boundary_sparsity_pattern (const DoFHandler<dim>      &dof,
-                                   const vector<unsigned int> &dof_to_boundary_mapping,
-                                   SparsityPattern            &sparsity_pattern); 
+    make_boundary_sparsity_pattern (const DoFHandler<dim>           &dof,
+                                   const std::vector<unsigned int> &dof_to_boundary_mapping,
+                                   SparsityPattern                 &sparsity_pattern); 
 
                                     /**
                                      * Write the sparsity structure of the
@@ -333,9 +333,9 @@ class DoFTools
                                      */
     template<int dim>
     static void
-    make_boundary_sparsity_pattern (const DoFHandler<dim>dof,
+    make_boundary_sparsity_pattern (const DoFHandler<dim> &dof,
                                    const typename DoFHandler<dim>::FunctionMap &boundary_indicators,
-                                   const vector<unsigned int>  &dof_to_boundary_mapping,
+                                   const std::vector<unsigned int>  &dof_to_boundary_mapping,
                                    SparsityPattern    &sparsity); 
 
                                     /**
@@ -492,9 +492,9 @@ class DoFTools
                                      */
     template <int dim>
     static void
-    extract_dofs (const DoFHandler<dim> &dof_handler,
-                 const vector<bool>    &component_select,
-                 vector<bool>          &selected_dofs);
+    extract_dofs (const DoFHandler<dim>      &dof_handler,
+                 const std::vector<bool>    &component_select,
+                 std::vector<bool>          &selected_dofs);
 
                                     /**
                                      * Do the same thing as
@@ -505,8 +505,8 @@ class DoFTools
     static void
     extract_level_dofs (const unsigned int       level,
                        const MGDoFHandler<dim> &dof,
-                       const vector<bool>      &select,
-                       vector<bool>            &selected_dofs);
+                       const std::vector<bool> &select,
+                       std::vector<bool>       &selected_dofs);
 
                                     /**
                                      * Extract all degrees of freedom
@@ -545,10 +545,10 @@ class DoFTools
                                      */
     template <int dim>
     static void
-    extract_boundary_dofs (const DoFHandler<dim> &dof_handler,
-                          const vector<bool>    &component_select,
-                          vector<bool>          &selected_dofs,
-                          const set<unsigned char> &boundary_indicators = set<unsigned char>());
+    extract_boundary_dofs (const DoFHandler<dim>      &dof_handler,
+                          const std::vector<bool>    &component_select,
+                          std::vector<bool>          &selected_dofs,
+                          const std::set<unsigned char> &boundary_indicators = std::set<unsigned char>());
 
                                     /**
                                      * Select all dofs that will be
@@ -565,7 +565,7 @@ class DoFTools
     template <int dim>
     static void
     extract_hanging_node_dofs (const DoFHandler<dim> &dof_handler,
-                              vector<bool>          &selected_dofs);
+                              std::vector<bool>     &selected_dofs);
     
                                     /**
                                      * This function can be used when
@@ -826,8 +826,8 @@ class DoFTools
                                      */
     template <int dim>
     static void
-    map_dof_to_boundary_indices (const DoFHandler<dim> &dof_handler,
-                                vector<unsigned int>  &mapping);
+    map_dof_to_boundary_indices (const DoFHandler<dim>      &dof_handler,
+                                std::vector<unsigned int>  &mapping);
 
                                     /**
                                      * Same as the previous function,
@@ -842,9 +842,9 @@ class DoFTools
                                      */
     template <int dim>
     static void
-    map_dof_to_boundary_indices (const DoFHandler<dim>    &dof_handler,
-                                const set<unsigned char> &boundary_indicators,
-                                vector<unsigned int>     &mapping);
+    map_dof_to_boundary_indices (const DoFHandler<dim>         &dof_handler,
+                                const std::set<unsigned char> &boundary_indicators,
+                                std::vector<unsigned int>     &mapping);
     
                                   
                                     /**
@@ -897,8 +897,8 @@ class DoFTools
     compute_intergrid_weights (const DoFHandler<dim>              &coarse_grid,
                               const unsigned int                  coarse_component,
                               const InterGridMap<DoFHandler,dim> &coarse_to_fine_grid_map,
-                              const vector<Vector<double> >      &parameter_dofs,
-                              const vector<int>                  &weight_mapping,
+                              const std::vector<Vector<double> > &parameter_dofs,
+                              const std::vector<int>             &weight_mapping,
                               FullMatrix<float>                  &weights);
 
                                     /**
@@ -916,8 +916,8 @@ class DoFTools
     compute_intergrid_weights_1 (const DoFHandler<dim>              &coarse_grid,
                                 const unsigned int                  coarse_component,
                                 const InterGridMap<DoFHandler,dim> &coarse_to_fine_grid_map,
-                                const vector<Vector<double> >      &parameter_dofs,
-                                const vector<int>                  &weight_mapping,
+                                const std::vector<Vector<double> > &parameter_dofs,
+                                const std::vector<int>             &weight_mapping,
                                 FullMatrix<float>                  &weights,
                                 const typename DoFHandler<dim>::active_cell_iterator &begin,
                                 const typename DoFHandler<dim>::active_cell_iterator &end);
index e76da58d47d0ebacaaff5ad0004af62a8b15da8d..3965d2568b13784c3224db365344082dcb5283da 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -248,7 +248,7 @@ class FiniteElementBase : public Subscriptor,
                                      * this base class' constructor.
                                      */
     FiniteElementBase (const FiniteElementData<dim> &fe_data,
-                      const vector<bool> &restriction_is_additive_flags);
+                      const std::vector<bool>      &restriction_is_additive_flags);
     
                                     /**
                                      * Return a readonly reference to the
@@ -309,7 +309,8 @@ class FiniteElementBase : public Subscriptor,
                                      * component and second index in
                                      * component.
                                      */
-    pair<unsigned int,unsigned int> system_to_component_index (unsigned int index) const; 
+    std::pair<unsigned int,unsigned int>
+    system_to_component_index (unsigned int index) const; 
     
                                     /**
                                      * Compute system index from components on a face.
@@ -325,7 +326,8 @@ class FiniteElementBase : public Subscriptor,
                                      * component and second index in
                                      * component.
                                      */
-    pair<unsigned int,unsigned int> face_system_to_component_index (unsigned int index) const;
+    std::pair<unsigned int,unsigned int>
+    face_system_to_component_index (unsigned int index) const;
     
                                     /**
                                      * The base element establishing a
@@ -552,25 +554,25 @@ class FiniteElementBase : public Subscriptor,
                                      * Map between linear dofs and
                                      * component dofs.
                                      */
-    vector< pair<unsigned int, unsigned int> > system_to_component_table;
+    std::vector< std::pair<unsigned int, unsigned int> > system_to_component_table;
 
                                     /**
                                      * Map between linear dofs and
                                      * component dofs on face.
                                      */
-    vector< pair<unsigned int, unsigned int> > face_system_to_component_table;
+    std::vector< std::pair<unsigned int, unsigned int> > face_system_to_component_table;
 
                                     /**
                                      * Map between component and
                                      * linear dofs.
                                      */
-    vector< vector<unsigned int> > component_to_system_table;
+    std::vector< std::vector<unsigned int> > component_to_system_table;
 
                                     /**
                                      * Map between component and
                                      * linear dofs on a face.
                                      */
-    vector< vector<unsigned int> > face_component_to_system_table;
+    std::vector< std::vector<unsigned int> > face_component_to_system_table;
     
                                     /**
                                      * The base element establishing
@@ -585,7 +587,7 @@ class FiniteElementBase : public Subscriptor,
                                      * shape functions of the base
                                      * element.
                                      */
-    vector<unsigned int> component_to_base_table;
+    std::vector<unsigned int> component_to_base_table;
 
                                     /**
                                      * This flag determines how the
@@ -740,7 +742,7 @@ class FiniteElementBase : public Subscriptor,
                                      * There is one flag per
                                      * component.
                                      */
-    const vector<bool> restriction_is_additive_flags;    
+    const std::vector<bool> restriction_is_additive_flags;    
 };
 
 
@@ -1046,7 +1048,7 @@ class FiniteElement : public FiniteElementBase<dim>
                                      * Constructor
                                      */
     FiniteElement (const FiniteElementData<dim> &fe_data,
-                  const vector<bool> &restriction_is_additive_flags);
+                  const std::vector<bool>      &restriction_is_additive_flags);
 
                                     /**
                                      * Destructor. Only declared to
@@ -1213,17 +1215,17 @@ class FiniteElement : public FiniteElementBase<dim>
                                      * absolutely needed.
                                      */
     virtual void fill_fe_values (const DoFHandler<dim>::cell_iterator &cell,
-                                const vector<Point<dim> > &unit_points,
-                                vector<Tensor<2,dim> >    &jacobians,
-                                const bool                 compute_jacobians,
-                                vector<Tensor<3,dim> >    &jacobians_grad,
-                                const bool                 compute_jacobians_grad,
-                                vector<Point<dim> >       &support_points,
-                                const bool                 compute_support_points,
-                                vector<Point<dim> >       &q_points,
-                                const bool                 compute_q_points,
-                                const FullMatrix<double>            &shape_values_transform,
-                                const vector<vector<Tensor<1,dim> > > &shape_grads_transform) const;
+                                const std::vector<Point<dim> > &unit_points,
+                                std::vector<Tensor<2,dim> >    &jacobians,
+                                const bool                      compute_jacobians,
+                                std::vector<Tensor<3,dim> >    &jacobians_grad,
+                                const bool                      compute_jacobians_grad,
+                                std::vector<Point<dim> >       &support_points,
+                                const bool                      compute_support_points,
+                                std::vector<Point<dim> >       &q_points,
+                                const bool                      compute_q_points,
+                                const FullMatrix<double>       &shape_values_transform,
+                                const std::vector<std::vector<Tensor<1,dim> > > &shape_grads_transform) const;
 
                                     /**
                                      * Do the same thing that the
@@ -1357,22 +1359,22 @@ class FiniteElement : public FiniteElementBase<dim>
                                      */
     virtual void fill_fe_face_values (const DoFHandler<dim>::cell_iterator &cell,
                                      const unsigned int           face_no,
-                                     const vector<Point<dim-1> > &unit_points,
-                                     const vector<Point<dim> >   &global_unit_points,
-                                     vector<Tensor<2,dim> >      &jacobians,
-                                     const bool                   compute_jacobians,
-                                     vector<Tensor<3,dim> >      &jacobians_grad,
-                                     const bool                   compute_jacobians_grad,
-                                     vector<Point<dim> > &support_points,
-                                     const bool           compute_support_points,
-                                     vector<Point<dim> > &q_points,
-                                     const bool           compute_q_points,
-                                     vector<double>      &face_jacobi_determinants,
-                                     const bool           compute_face_jacobians,
-                                     vector<Point<dim> > &normal_vectors,
-                                     const bool           compute_normal_vectors,
-                                     const FullMatrix<double>      &shape_values_transform,
-                                     const vector<vector<Tensor<1,dim> > > &shape_grads_transform) const;
+                                     const std::vector<Point<dim-1> > &unit_points,
+                                     const std::vector<Point<dim> >   &global_unit_points,
+                                     std::vector<Tensor<2,dim> >      &jacobians,
+                                     const bool                        compute_jacobians,
+                                     std::vector<Tensor<3,dim> >      &jacobians_grad,
+                                     const bool                        compute_jacobians_grad,
+                                     std::vector<Point<dim> > &support_points,
+                                     const bool                compute_support_points,
+                                     std::vector<Point<dim> > &q_points,
+                                     const bool                compute_q_points,
+                                     std::vector<double>      &face_jacobi_determinants,
+                                     const bool                compute_face_jacobians,
+                                     std::vector<Point<dim> > &normal_vectors,
+                                     const bool                compute_normal_vectors,
+                                     const FullMatrix<double> &shape_values_transform,
+                                     const std::vector<std::vector<Tensor<1,dim> > > &shape_grads_transform) const;
 
                                     /**
                                      * This function does almost the
@@ -1416,20 +1418,20 @@ class FiniteElement : public FiniteElementBase<dim>
     virtual void fill_fe_subface_values (const DoFHandler<dim>::cell_iterator &cell,
                                         const unsigned int           face_no,
                                         const unsigned int           subface_no,
-                                        const vector<Point<dim-1> > &unit_points,
-                                        const vector<Point<dim> >   &global_unit_points,
-                                        vector<Tensor<2,dim> >      &jacobians,
-                                        const bool                   compute_jacobians,
-                                        vector<Tensor<3,dim> >      &jacobians_grad,
-                                        const bool           compute_jacobians_grad,
-                                        vector<Point<dim> > &q_points,
-                                        const bool           compute_q_points,
-                                        vector<double>      &face_jacobi_determinants,
-                                        const bool           compute_face_jacobians,
-                                        vector<Point<dim> > &normal_vectors,
-                                        const bool           compute_normal_vectors,
-                                        const FullMatrix<double>      &shape_values_transform,
-                                        const vector<vector<Tensor<1,dim> > > &shape_grads_transform) const;
+                                        const std::vector<Point<dim-1> > &unit_points,
+                                        const std::vector<Point<dim> >   &global_unit_points,
+                                        std::vector<Tensor<2,dim> >      &jacobians,
+                                        const bool                        compute_jacobians,
+                                        std::vector<Tensor<3,dim> >      &jacobians_grad,
+                                        const bool                compute_jacobians_grad,
+                                        std::vector<Point<dim> > &q_points,
+                                        const bool                compute_q_points,
+                                        std::vector<double>      &face_jacobi_determinants,
+                                        const bool                compute_face_jacobians,
+                                        std::vector<Point<dim> > &normal_vectors,
+                                        const bool                compute_normal_vectors,
+                                        const FullMatrix<double> &shape_values_transform,
+                                        const std::vector<std::vector<Tensor<1,dim> > > &shape_grads_transform) const;
 
                                     /**
                                      * Return the support points of
@@ -1452,7 +1454,7 @@ class FiniteElement : public FiniteElementBase<dim>
                                      * dimensions, an overwritten
                                      * function has to be provided.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &unit_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &unit_points) const;
     
                                     /**
                                      * Compute the off-points of the
@@ -1504,7 +1506,7 @@ class FiniteElement : public FiniteElementBase<dim>
                                      * stored by the triangulation.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
     
                                     /**
                                      * Compute the off-points of the
@@ -1570,7 +1572,7 @@ class FiniteElement : public FiniteElementBase<dim>
                                      * function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const =0;
+                                         std::vector<Point<dim> > &support_points) const =0;
 
                                     /**
                                      * This is the second separated function
@@ -1593,8 +1595,8 @@ class FiniteElement : public FiniteElementBase<dim>
                                      * function.
                                      */
     virtual void get_face_jacobians (const DoFHandler<dim>::face_iterator &face,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<double>      &face_jacobi_determinants) const =0;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<double>      &face_jacobi_determinants) const =0;
 
                                     /**
                                      * Does the same as the above
@@ -1614,8 +1616,8 @@ class FiniteElement : public FiniteElementBase<dim>
                                      */
     virtual void get_subface_jacobians (const DoFHandler<dim>::face_iterator &face,
                                        const unsigned int           subface_no,
-                                       const vector<Point<dim-1> > &unit_points,
-                                       vector<double>      &face_jacobi_determinants) const =0;
+                                       const std::vector<Point<dim-1> > &unit_points,
+                                       std::vector<double>      &face_jacobi_determinants) const =0;
 
                                     /**
                                      * Compute the normal vectors to
@@ -1643,9 +1645,9 @@ class FiniteElement : public FiniteElementBase<dim>
                                      * function.
                                      */
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
-                                    const unsigned int          face_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const =0;
+                                    const unsigned int                face_no,
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const =0;
 
                                     /**
                                      * Does the same as the above function,
@@ -1660,8 +1662,8 @@ class FiniteElement : public FiniteElementBase<dim>
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                     const unsigned int           face_no,
                                     const unsigned int           subface_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const =0;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const =0;
 
                                     /**
                                      * Fill in the given matrix with
@@ -1944,7 +1946,7 @@ FiniteElementBase<dim>::component_to_system_index (unsigned int component,
 
 template <int dim>  
 inline
-pair<unsigned int,unsigned int>
+std::pair<unsigned int,unsigned int>
 FiniteElementBase<dim>::system_to_component_index (unsigned int index) const
 {
   Assert(index < system_to_component_table.size(),
@@ -1972,7 +1974,7 @@ FiniteElementBase<dim>::face_component_to_system_index (unsigned int component,
 
 template <int dim>  
 inline
-pair<unsigned int,unsigned int>
+std::pair<unsigned int,unsigned int>
 FiniteElementBase<dim>::face_system_to_component_index (unsigned int index) const
 {
   Assert(index < face_system_to_component_table.size(),
index 5990beb06ec7e315ed3a5f0650b7b2a65c0d1e0b..ca95058de41c1750752a17c2d8fb0864aae3a8d4 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -231,21 +231,21 @@ class FECrissCross : public FiniteElement<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -284,8 +284,8 @@ class FECrissCross : public FiniteElement<dim>
                                      * simply returns the length of the face.
                                      */
     virtual void get_face_jacobians (const DoFHandler<dim>::face_iterator &face,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<double>      &face_jacobi_determinants) const;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<double>      &face_jacobi_determinants) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -297,8 +297,8 @@ class FECrissCross : public FiniteElement<dim>
                                      */
     virtual void get_subface_jacobians (const DoFHandler<dim>::face_iterator &face,
                                        const unsigned int           subface_no,
-                                       const vector<Point<dim-1> > &unit_points,
-                                       vector<double>      &face_jacobi_determinants) const;
+                                       const std::vector<Point<dim-1> > &unit_points,
+                                       std::vector<double>      &face_jacobi_determinants) const;
 
                                     /**
                                      * Return the normal vectors to the
@@ -316,8 +316,8 @@ class FECrissCross : public FiniteElement<dim>
                                      */
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                     const unsigned int          face_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const;
 
                                     /**
                                      * Return the normal vectors to the
@@ -337,8 +337,8 @@ class FECrissCross : public FiniteElement<dim>
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                     const unsigned int           face_no,
                                     const unsigned int           subface_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const;    
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const;    
 
                                     /**
                                      * Refer to the base class for detailed
@@ -351,17 +351,17 @@ class FECrissCross : public FiniteElement<dim>
                                      * we use multilinear mappings.
                                      */
     virtual void fill_fe_values (const DoFHandler<dim>::cell_iterator &cell,
-                                const vector<Point<dim> >            &unit_points,
-                                vector<Tensor<2,dim> >               &jacobians,
+                                const std::vector<Point<dim> >            &unit_points,
+                                std::vector<Tensor<2,dim> >               &jacobians,
                                 const bool              compute_jacobians,
-                                vector<Tensor<3,dim> > &jacobians_grad,
+                                std::vector<Tensor<3,dim> > &jacobians_grad,
                                 const bool              compute_jacobians_grad,
-                                vector<Point<dim> >    &support_points,
+                                std::vector<Point<dim> >    &support_points,
                                 const bool              compute_support_points,
-                                vector<Point<dim> >    &q_points,
+                                std::vector<Point<dim> >    &q_points,
                                 const bool              compute_q_points,
                                 const FullMatrix<double>         &shape_values_transform,
-                                const vector<vector<Tensor<1,dim> > > &shape_grad_transform) const;
+                                const std::vector<std::vector<Tensor<1,dim> > > &shape_grad_transform) const;
 
     DeclException0 (ExcNotUseful);
 };
index 045ad261dec4d956f10c69f4016137b522f8fa55..751470a45b09465eda4d61b44dfc672995cfff76 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -66,21 +66,21 @@ class FEDG_Q0 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -125,7 +125,7 @@ class FEDG_Q1 : public FEQ1<dim>
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 };
 
 
@@ -162,7 +162,7 @@ class FEDG_Q2 : public FEQ2<dim>
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 };
 
 
@@ -199,7 +199,7 @@ class FEDG_Q3 : public FEQ3<dim>
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 };
 
 
@@ -236,7 +236,7 @@ class FEDG_Q4 : public FEQ4<dim>
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 };
 
 
index bb0f2a77fc5e7220eec967de085d81ef96251727..10978b64748da0b333263d878b34c2645cf6ab9e 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -68,21 +68,21 @@ class FEDG_P1 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -162,21 +162,21 @@ class FEDG_P2 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -256,21 +256,21 @@ class FEDG_P3 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -350,21 +350,21 @@ class FEDG_P4 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
index 2122262833bf5d5eb332243f16b7e2ee9c702503..22c6a85e621a268007613e79f868d412d5157f1d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -85,21 +85,21 @@ class FEQ1 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -262,21 +262,21 @@ class FEQ2 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -383,21 +383,21 @@ class FEQ3 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -506,21 +506,21 @@ class FEQ4 : public FEQ1Mapping<dim>
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
index de52dd70b63d2ceed2c1f91b4bd26f998c6f7215..123ce93ec0e86d6e0372cee41e1373fa6e1d129f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -185,7 +185,7 @@ class FESystem : public FiniteElement<dim>
                                      * For the ordering of shape functions
                                      * refer to the @p{shape_value} function.
                                      */
-    virtual void get_unit_support_points (vector<Point<dim> > &support_points) const;
+    virtual void get_unit_support_points (std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -195,14 +195,14 @@ class FESystem : public FiniteElement<dim>
                                      * refer to the @p{shape_value} function.
                                      */
     virtual void get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                    vector<Point<dim> > &support_points) const;
+                                    std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Refer to the base class for detailed
                                      * information on this function.
                                      */
     virtual void get_face_support_points (const DoFHandler<dim>::face_iterator &face,
-                                         vector<Point<dim> > &support_points) const;
+                                         std::vector<Point<dim> > &support_points) const;
 
                                     /**
                                      * Fill the local mass matrix. The elements
@@ -317,8 +317,8 @@ class FESystem : public FiniteElement<dim>
                                      * underlying object.
                                      */
     virtual void get_face_jacobians (const DoFHandler<dim>::face_iterator &face,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<double>      &face_jacobi_determinants) const;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<double>      &face_jacobi_determinants) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -333,8 +333,8 @@ class FESystem : public FiniteElement<dim>
                                      */
     virtual void get_subface_jacobians (const DoFHandler<dim>::face_iterator &face,
                                        const unsigned int           subface_no,
-                                       const vector<Point<dim-1> > &unit_points,
-                                       vector<double>      &face_jacobi_determinants) const;
+                                       const std::vector<Point<dim-1> > &unit_points,
+                                       std::vector<double>      &face_jacobi_determinants) const;
 
                                     /**
                                      * Return the normal vectors to the
@@ -352,8 +352,8 @@ class FESystem : public FiniteElement<dim>
                                      */
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                     const unsigned int          face_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const;
 
                                     /**
                                      * Return the normal vectors to the
@@ -373,8 +373,8 @@ class FESystem : public FiniteElement<dim>
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                     const unsigned int           face_no,
                                     const unsigned int           subface_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const;
 
                                     /**
                                      * Implementation of the
@@ -382,17 +382,17 @@ class FESystem : public FiniteElement<dim>
                                      * @p{FiniteElement}.
                                      */
     virtual void fill_fe_values (const DoFHandler<dim>::cell_iterator &cell,
-                                const vector<Point<dim> >            &unit_points,
-                                vector<Tensor<2,dim> >               &jacobians,
+                                const std::vector<Point<dim> >            &unit_points,
+                                std::vector<Tensor<2,dim> >               &jacobians,
                                 const bool              compute_jacobians,
-                                vector<Tensor<3,dim> > &jacobians_grad,
+                                std::vector<Tensor<3,dim> > &jacobians_grad,
                                 const bool              compute_jacobians_grad,
-                                vector<Point<dim> > &support_points,
+                                std::vector<Point<dim> > &support_points,
                                 const bool           compute_support_points,
-                                vector<Point<dim> > &q_points,
+                                std::vector<Point<dim> > &q_points,
                                 const bool           compute_q_points,
                                 const FullMatrix<double>  &shape_values_transform,
-                                const vector<vector<Tensor<1,dim> > > &shape_grad_transform) const;
+                                const std::vector<std::vector<Tensor<1,dim> > > &shape_grad_transform) const;
     
                                     /** 
                                      * Number of different base
@@ -449,7 +449,7 @@ class FESystem : public FiniteElement<dim>
                                      * Pairs of multiplicity and
                                      * element type.
                                      */
-    typedef pair<const FiniteElement<dim> *, unsigned int> ElementPair;
+    typedef std::pair<const FiniteElement<dim> *, unsigned int> ElementPair;
     
                                     /**
                                      * Pointer to underlying finite
@@ -462,7 +462,7 @@ class FESystem : public FiniteElement<dim>
                                      * created by the constructor and
                                      * constant afterwards.
                                      */
-    vector<ElementPair> base_elements;
+    std::vector<ElementPair> base_elements;
 
 
                                     /**
@@ -511,7 +511,7 @@ class FESystem : public FiniteElement<dim>
                                      * the mixed element consisting of @p{N}
                                      * elements of the sub-element @p{fe}.
                                      */
-    static vector<bool>
+    static std::vector<bool>
     compute_restriction_is_additive_flags (const FiniteElement<dim> &fe,
                                           const unsigned int        N);
     
@@ -519,7 +519,7 @@ class FESystem : public FiniteElement<dim>
                                      * Same as above for mixed elements
                                      * with two different sub-elements.
                                      */
-    static vector<bool>
+    static std::vector<bool>
     compute_restriction_is_additive_flags (const FiniteElement<dim> &fe1,
                                           const unsigned int        N1,
                                           const FiniteElement<dim> &fe2,
@@ -529,7 +529,7 @@ class FESystem : public FiniteElement<dim>
                                      * Same as above for mixed elements
                                      * with three different sub-elements.
                                      */
-    static vector<bool>
+    static std::vector<bool>
     compute_restriction_is_additive_flags (const FiniteElement<dim> &fe1,
                                           const unsigned int        N1,
                                           const FiniteElement<dim> &fe2,
@@ -589,7 +589,7 @@ template <class FE>
 FESystem<dim>::FESystem (const FE &fe, const unsigned int n_elements) :
                FiniteElement<dim> (multiply_dof_numbers(fe, n_elements),
                                    compute_restriction_is_additive_flags (fe, n_elements)),
-               base_elements(1)
+  base_elements(1)
 {
   base_elements[0] = ElementPair(new FE, n_elements);
   base_elements[0].first -> subscribe ();
@@ -605,7 +605,7 @@ FESystem<dim>::FESystem (const FE1 &fe1, const unsigned int n1,
                FiniteElement<dim> (multiply_dof_numbers(fe1, n1, fe2, n2),
                                    compute_restriction_is_additive_flags (fe1, n1,
                                                                           fe2, n2)),
-               base_elements(2)
+  base_elements(2)
 {
   Assert(fe1.n_transform_functions() == fe2.n_transform_functions(),
         ExcElementTransformNotEqual());
@@ -630,7 +630,7 @@ FESystem<dim>::FESystem (const FE1 &fe1, const unsigned int n1,
                                    compute_restriction_is_additive_flags (fe1, n1,
                                                                           fe2, n2,
                                                                           fe3, n3)),
-               base_elements(3)
+  base_elements(3)
 {
   Assert(fe1.n_transform_functions() == fe2.n_transform_functions(),
         ExcElementTransformNotEqual());
index cdf6f9a1593298103a792309bf54c2a2ce3549cb..46860d6e23017d28e05bc09f6fe90c7ddfe9a9ff 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -37,165 +37,165 @@ template <typename number> class Vector;
 class FETools
 {
   public:
-                                  /**
-                                   * Gives the interpolation matrix
-                                   * that interpolates a @p{fe1}-
-                                   * function to a @p{fe2}-function on
-                                   * each cell. The interpolation_matrix
-                                   * needs to be of size
-                                   * @p{(fe2.dofs_per_cell, fe1.dofs_per_cell)}.
-                                   *
-                                   * Note, that if the finite element
-                                   * space @p{fe1} is a subset of
-                                   * the finite element space
-                                   * @p{fe2} than the @p{interpolation_matrix}
-                                   * is an embedding matrix.
-                                   */
-  template <int dim, typename number>
+                                    /**
+                                     * Gives the interpolation matrix
+                                     * that interpolates a @p{fe1}-
+                                     * function to a @p{fe2}-function on
+                                     * each cell. The interpolation_matrix
+                                     * needs to be of size
+                                     * @p{(fe2.dofs_per_cell, fe1.dofs_per_cell)}.
+                                     *
+                                     * Note, that if the finite element
+                                     * space @p{fe1} is a subset of
+                                     * the finite element space
+                                     * @p{fe2} than the @p{interpolation_matrix}
+                                     * is an embedding matrix.
+                                     */
+    template <int dim, typename number>
     static void get_interpolation_matrix(const FiniteElement<dim> &fe1,
                                         const FiniteElement<dim> &fe2,
                                         FullMatrix<number> &interpolation_matrix);
     
-                                  /**
-                                   * Gives the interpolation matrix
-                                   * that interpolates a @p{fe1}-
-                                   * function to a @p{fe2}-function, and
-                                   * interpolates this to a second
-                                   * @p{fe1}-function on
-                                   * each cell. The interpolation_matrix
-                                   * needs to be of size
-                                   * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}.
-                                   *
-                                   * Note, that this function only
-                                   * makes sense if the finite element
-                                   * space due to @p{fe1} is not a subset of
-                                   * the finite element space due to
-                                   * @p{fe2}, as if it were a subset then
-                                   * the @p{interpolation_matrix} would be 
-                                   * only the unit matrix.
-                                   */
-  template <int dim, typename number>
+                                    /**
+                                     * Gives the interpolation matrix
+                                     * that interpolates a @p{fe1}-
+                                     * function to a @p{fe2}-function, and
+                                     * interpolates this to a second
+                                     * @p{fe1}-function on
+                                     * each cell. The interpolation_matrix
+                                     * needs to be of size
+                                     * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}.
+                                     *
+                                     * Note, that this function only
+                                     * makes sense if the finite element
+                                     * space due to @p{fe1} is not a subset of
+                                     * the finite element space due to
+                                     * @p{fe2}, as if it were a subset then
+                                     * the @p{interpolation_matrix} would be 
+                                     * only the unit matrix.
+                                     */
+    template <int dim, typename number>
     static void get_back_interpolation_matrix(const FiniteElement<dim> &fe1,
                                              const FiniteElement<dim> &fe2,
                                              FullMatrix<number> &interpolation_matrix);
 
-                                  /**
-                                   * Gives the unit matrix minus the
-                                   * back interpolation matrix.
-                                   * The @p{difference_matrix}
-                                   * needs to be of size
-                                   * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}.
-                                   *
-                                   * This function gives
-                                   * the matrix that transforms a
-                                   * @p{fe1} function $z$ to $z-I_hz$
-                                   * where $I_h$ denotes the interpolation
-                                   * operator from the @p{fe1} space to
-                                   * the @p{fe2} space. This matrix hence
-                                   * is useful to evaluate
-                                   * error-representations where $z$
-                                   * denotes the dual solution.
-                                   */
-  template <int dim, typename number>
+                                    /**
+                                     * Gives the unit matrix minus the
+                                     * back interpolation matrix.
+                                     * The @p{difference_matrix}
+                                     * needs to be of size
+                                     * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}.
+                                     *
+                                     * This function gives
+                                     * the matrix that transforms a
+                                     * @p{fe1} function $z$ to $z-I_hz$
+                                     * where $I_h$ denotes the interpolation
+                                     * operator from the @p{fe1} space to
+                                     * the @p{fe2} space. This matrix hence
+                                     * is useful to evaluate
+                                     * error-representations where $z$
+                                     * denotes the dual solution.
+                                     */
+    template <int dim, typename number>
     static void get_interpolation_difference_matrix(
       const FiniteElement<dim> &fe1,
       const FiniteElement<dim> &fe2,
       FullMatrix<number> &difference_matrix);
 
-                                  /**
-                                   * Gives the interpolation of a the
-                                   * @p{dof1}-function @p{u1} to a
-                                   * @p{dof2}-function @p{u2}. @p{dof1} and
-                                   * @p{dof2} need to be @ref{DoFHandler}s
-                                   * based on the same triangulation.
-                                   *
-                                   * If the elements @p{fe1} and @p{fe2}
-                                   * are either both continuous or
-                                   * both discontinuous then this
-                                   * interpolation is the usual point
-                                   * interpolation. The same is true
-                                   * if @p{fe1} is a continuous and
-                                   * @p{fe2} is a discontinuous finite
-                                   * element. For the case that @p{fe1}
-                                   * is a discontinuous and @p{fe2} is
-                                   * a continuous finite element
-                                   * there is no point interpolation
-                                   * defined at the discontinuities.
-                                   * Therefore the meanvalue is taken
-                                   * at the DoF values on the
-                                   * discontinuities.
-                                   */
-  template <int dim, typename number>
+                                    /**
+                                     * Gives the interpolation of a the
+                                     * @p{dof1}-function @p{u1} to a
+                                     * @p{dof2}-function @p{u2}. @p{dof1} and
+                                     * @p{dof2} need to be @ref{DoFHandler}s
+                                     * based on the same triangulation.
+                                     *
+                                     * If the elements @p{fe1} and @p{fe2}
+                                     * are either both continuous or
+                                     * both discontinuous then this
+                                     * interpolation is the usual point
+                                     * interpolation. The same is true
+                                     * if @p{fe1} is a continuous and
+                                     * @p{fe2} is a discontinuous finite
+                                     * element. For the case that @p{fe1}
+                                     * is a discontinuous and @p{fe2} is
+                                     * a continuous finite element
+                                     * there is no point interpolation
+                                     * defined at the discontinuities.
+                                     * Therefore the meanvalue is taken
+                                     * at the DoF values on the
+                                     * discontinuities.
+                                     */
+    template <int dim, typename number>
     static void interpolate(const DoFHandler<dim> &dof1,
                            const Vector<number> &u1,
                            const DoFHandler<dim> &dof2,
                            Vector<number> &u2);
     
-                                  /**
-                                   * Gives the interpolation of the @p{fe1}-
-                                   * function @p{u1} to a @p{fe2}-function, and
-                                   * interpolates this to a second
-                                   * @p{fe1}-function named @p{u1_interpolated}.
-                                   *
-                                   * Note, that this function only
-                                   * makes sense if the finite element
-                                   * space due to @p{fe1} is not a subset of
-                                   * the finite element space due to
-                                   * @p{fe2}, as if it were a subset then
-                                   * @p{u1_interpolated} would be equal to @p{u1}.
-                                   */
-  template <int dim, typename number>
+                                    /**
+                                     * Gives the interpolation of the @p{fe1}-
+                                     * function @p{u1} to a @p{fe2}-function, and
+                                     * interpolates this to a second
+                                     * @p{fe1}-function named @p{u1_interpolated}.
+                                     *
+                                     * Note, that this function only
+                                     * makes sense if the finite element
+                                     * space due to @p{fe1} is not a subset of
+                                     * the finite element space due to
+                                     * @p{fe2}, as if it were a subset then
+                                     * @p{u1_interpolated} would be equal to @p{u1}.
+                                     */
+    template <int dim, typename number>
     static void back_interpolate(const DoFHandler<dim> &dof1,
                                 const Vector<number> &u1,
                                 const FiniteElement<dim> &fe2,
                                 Vector<number> &u1_interpolated);
 
-                                  /**
-                                   * Gives $(Id-I_h)z2$ for a given
-                                   * @p{fe2}-function @p{z2}, where $I_h$
-                                   * is the interpolation from @p{fe2}
-                                   * to @p{fe1}. $(Id-I_h)z2$ is
-                                   * denoted by @p{z2_difference}.
-                                   */
-  template <int dim, typename number>
+                                    /**
+                                     * Gives $(Id-I_h)z2$ for a given
+                                     * @p{fe2}-function @p{z2}, where $I_h$
+                                     * is the interpolation from @p{fe2}
+                                     * to @p{fe1}. $(Id-I_h)z2$ is
+                                     * denoted by @p{z2_difference}.
+                                     */
+    template <int dim, typename number>
     static void interpolation_difference(const DoFHandler<dim> &dof1,
                                         const Vector<number> &z1,
                                         const FiniteElement<dim> &fe2,
                                         Vector<number> &z1_difference);    
     
-                                  /**
-                                   * Gives the patchwise
-                                   * extrapolation of a @p{dof1}
-                                   * function @p{z1} to a @p{dof2}
-                                   * function @p{z2}.  @p{dof1} and
-                                   * @p{dof2} need to be @ref{DoFHandler}
-                                   * based on the same triangulation.
-                                   *
-                                   * This function is interesting for
-                                   * e.g. extrapolating patchwise a
-                                   * piecewise linear dual solution
-                                   * to a piecewise quadratic dual
-                                   * solution.
-                                   */
-  template <int dim, typename number>
+                                    /**
+                                     * Gives the patchwise
+                                     * extrapolation of a @p{dof1}
+                                     * function @p{z1} to a @p{dof2}
+                                     * function @p{z2}.  @p{dof1} and
+                                     * @p{dof2} need to be @ref{DoFHandler}
+                                     * based on the same triangulation.
+                                     *
+                                     * This function is interesting for
+                                     * e.g. extrapolating patchwise a
+                                     * piecewise linear dual solution
+                                     * to a piecewise quadratic dual
+                                     * solution.
+                                     */
+    template <int dim, typename number>
     static void extrapolate(const DoFHandler<dim> &dof1,
                            const Vector<number> &z1,
                            const DoFHandler<dim> &dof2,
                            Vector<number> &z2);    
   
   
-                                  /**
-                                   * Exception
-                                   */
-  DeclException0 (ExcTriangulationMismatch);
+                                    /**
+                                     * Exception
+                                     */
+    DeclException0 (ExcTriangulationMismatch);
   
-                                  /**
-                                   * Exception
-                                   */
-  DeclException4 (ExcMatrixDimensionMismatch,
-                 int, int, int, int,
-                 << "This is a " << arg1 << "x" << arg2 << " matrix, "
-                 << "but should be a " << arg1 << "x" << arg2 << " matrix.");
+                                    /**
+                                     * Exception
+                                     */
+    DeclException4 (ExcMatrixDimensionMismatch,
+                   int, int, int, int,
+                   << "This is a " << arg1 << "x" << arg2 << " matrix, "
+                   << "but should be a " << arg1 << "x" << arg2 << " matrix.");
 };
 
 
index fb928a9545f514817fdb90408e355b4b2d488715..96e9d39c1deb60e5649c5fcfa47ee5055b4ef312 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 60721f32f139618da1cc4fb50e528a2501364474..5489a9011cc32d320fac952ffa6b47c241461b3f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -315,7 +315,7 @@ class FEValuesBase
                                      */
     template <class InputVector, typename number>
     void get_function_values (const InputVector &fe_function,
-                             vector<number>    &values) const;
+                             std::vector<number>    &values) const;
 
                                     /**
                                      * Access to vector valued finite
@@ -334,7 +334,7 @@ class FEValuesBase
                                      */
     template <class InputVector, typename number>
     void get_function_values (const InputVector       &fe_function,
-                             vector<Vector<number> > &values) const;
+                             std::vector<Vector<number> > &values) const;
 
                                     /**
                                      * Return the gradient of the @p{i}th shape
@@ -359,7 +359,7 @@ class FEValuesBase
                                      * For the format of this matrix, see the
                                      * documentation for the matrix itself.
                                      */
-    const vector<vector<Tensor<1,dim> > > & get_shape_grads () const;
+    const std::vector<std::vector<Tensor<1,dim> > > & get_shape_grads () const;
 
                                     /**
                                      * Return the gradients of the finite
@@ -383,7 +383,7 @@ class FEValuesBase
                                      */
     template <class InputVector>
     void get_function_grads (const InputVector      &fe_function,
-                            vector<Tensor<1,dim> > &gradients) const;
+                            std::vector<Tensor<1,dim> > &gradients) const;
 
                                     /**
                                      * Return the gradients of the finite
@@ -412,7 +412,7 @@ class FEValuesBase
                                      */
     template <class InputVector>
     void get_function_grads (const InputVector               &fe_function,
-                            vector<vector<Tensor<1,dim> > > &gradients) const;
+                            std::vector<std::vector<Tensor<1,dim> > > &gradients) const;
 
                                     /**
                                      * Return the 2nd derivatives of
@@ -445,7 +445,7 @@ class FEValuesBase
                                      * documentation for the matrix
                                      * itself.
                                      */
-    const vector<vector<Tensor<2,dim> > > & get_shape_2nd_derivatives () const;
+    const std::vector<std::vector<Tensor<2,dim> > > & get_shape_2nd_derivatives () const;
     
                                     /**
                                      * Return the tensor of second
@@ -466,7 +466,7 @@ class FEValuesBase
                                      */
     template <class InputVector>
     void get_function_2nd_derivatives (const InputVector      &fe_function,
-                                      vector<Tensor<2,dim> > &second_derivatives) const;
+                                      std::vector<Tensor<2,dim> > &second_derivatives) const;
 
     
                                     /**
@@ -493,7 +493,7 @@ class FEValuesBase
                                      */
     template <class InputVector>
     void get_function_2nd_derivatives (const InputVector      &fe_function,
-                                      vector<vector<Tensor<2,dim> > > &second_derivatives) const;
+                                      std::vector<std::vector<Tensor<2,dim> > > &second_derivatives) const;
     
                                     /**
                                      * Return the position of the @p{i}th
@@ -514,7 +514,7 @@ class FEValuesBase
                                      * Return a pointer to the vector of
                                      * quadrature points.
                                      */
-    const vector<Point<dim> > & get_quadrature_points () const;
+    const std::vector<Point<dim> > & get_quadrature_points () const;
 
                                     /**
                                      * Return the point in real space where
@@ -544,7 +544,7 @@ class FEValuesBase
                                      * denoting the location of the trial
                                      * functions.
                                      */
-    const vector<Point<dim> > & get_support_points () const;
+    const std::vector<Point<dim> > & get_support_points () const;
     
                                     /**
                                      * Return the Jacobi determinant times
@@ -569,7 +569,7 @@ class FEValuesBase
                                      * quadrature weight at the different
                                      * quadrature points.
                                      */
-    const vector<double> & get_JxW_values () const;
+    const std::vector<double> & get_JxW_values () const;
 
                                     /**
                                      * Return a constant reference to the
@@ -642,7 +642,7 @@ class FEValuesBase
                                      * is determined by the @p{selected_dataset}
                                      * variable.
                                      */
-    vector<FullMatrix<double> >     shape_values;
+    std::vector<FullMatrix<double> >     shape_values;
 
                                     /**
                                      * Store the gradients of the shape
@@ -657,7 +657,7 @@ class FEValuesBase
                                      * gradients on the real element, rather
                                      * than on the reference element.
                                      */
-    vector<vector<Tensor<1,dim> > >  shape_gradients;
+    std::vector<std::vector<Tensor<1,dim> > >  shape_gradients;
 
                                     /**
                                      * Store the 2nd derivatives of the shape
@@ -668,7 +668,7 @@ class FEValuesBase
                                      * gradients on the real element, rather
                                      * than on the reference element.
                                      */
-    vector<vector<Tensor<2,dim> > >  shape_2nd_derivatives;
+    std::vector<std::vector<Tensor<2,dim> > >  shape_2nd_derivatives;
 
                                     /**
                                      * Store an array of the weights of the
@@ -681,7 +681,7 @@ class FEValuesBase
                                      * not transformed and are thus the same
                                      * for all faces.
                                      */
-    vector<double>       weights;
+    std::vector<double>       weights;
 
                                     /**
                                      * Store an array of weights times the
@@ -693,7 +693,7 @@ class FEValuesBase
                                      * see the general documentation of this
                                      * class for more information.
                                      */
-    vector<double>       JxW_values;
+    std::vector<double>       JxW_values;
 
                                     /**
                                      * Array of quadrature points. This array
@@ -702,7 +702,7 @@ class FEValuesBase
                                      * real element, rather than on the
                                      * reference element.
                                      */
-    vector<Point<dim> >  quadrature_points;
+    std::vector<Point<dim> >  quadrature_points;
 
                                     /**
                                      * Array of points denoting the off-point
@@ -711,7 +711,7 @@ class FEValuesBase
                                      * on the unit cell, so no function is
                                      * provided for this).
                                      */
-    vector<Point<dim> >  support_points;
+    std::vector<Point<dim> >  support_points;
     
                                     /**
                                      * Store the jacobi matrices at the
@@ -726,7 +726,7 @@ class FEValuesBase
                                      * transformation of the gradients to the
                                      * real cell.
                                      */
-    vector<Tensor<2,dim> > jacobi_matrices;
+    std::vector<Tensor<2,dim> > jacobi_matrices;
 
                                     /**
                                      * Store the derivatives of the jacobi
@@ -739,7 +739,7 @@ class FEValuesBase
                                      * The same general remarks apply as for
                                      * @p{jacobi_matrices}.
                                      */
-    vector<Tensor<3,dim> > jacobi_matrices_grad;
+    std::vector<Tensor<3,dim> > jacobi_matrices_grad;
     
                                     /**
                                      * Store the values of the basis functions
@@ -760,7 +760,7 @@ class FEValuesBase
                                      * of the @p{i}th transfer basis function
                                      * at the @p{j}th quadrature point.
                                      */
-    vector<FullMatrix<double> >     shape_values_transform;
+    std::vector<FullMatrix<double> >     shape_values_transform;
 
                                     /**
                                      * Store which of the data sets in the
@@ -876,7 +876,7 @@ class FEValues : public FEValuesBase<dim>
                                      * of the object and contains the gradients
                                      * on the reference element.
                                      */
-    vector<vector<Tensor<1,dim> > > unit_shape_gradients;
+    std::vector<std::vector<Tensor<1,dim> > > unit_shape_gradients;
 
                                     /**
                                      * Store the 2nd derivatives of the shape
@@ -886,7 +886,7 @@ class FEValues : public FEValuesBase<dim>
                                      * of the object and contains the
                                      * derivatives on the reference element.
                                      */
-    vector<vector<Tensor<2,dim> > > unit_shape_2nd_derivatives;
+    std::vector<std::vector<Tensor<2,dim> > > unit_shape_2nd_derivatives;
     
                                     /**
                                      * Gradients of the basis
@@ -894,7 +894,7 @@ class FEValues : public FEValuesBase<dim>
                                      * Analogous to the @p{shape_values_transform}
                                      * array of the base class.
                                      */
-    vector<vector<Tensor<1,dim> > > unit_shape_gradients_transform;
+    std::vector<std::vector<Tensor<1,dim> > > unit_shape_gradients_transform;
     
                                     /**
                                      * Array of quadrature points in the unit
@@ -902,7 +902,7 @@ class FEValues : public FEValuesBase<dim>
                                      * construction and contains the quadrature
                                      * points on the reference element.
                                      */
-    vector<Point<dim> >  unit_quadrature_points;    
+    std::vector<Point<dim> >  unit_quadrature_points;    
 };
 
 
@@ -1016,7 +1016,7 @@ class FEFaceValuesBase : public FEValuesBase<dim>
                                      * vectors to the cell at the
                                      * quadrature points.
                                      */
-    const vector<Point<dim> > & get_normal_vectors () const;
+    const std::vector<Point<dim> > & get_normal_vectors () const;
 
                                     /**
                                      * Return the present
@@ -1045,7 +1045,7 @@ class FEFaceValuesBase : public FEValuesBase<dim>
                                      * subface, with indices like that:
                                      * @p{unit_shape_gradients[face][dof][q_point]}
                                      */
-    vector<vector<vector<Tensor<1,dim> > > > unit_shape_gradients;
+    std::vector<std::vector<std::vector<Tensor<1,dim> > > > unit_shape_gradients;
     
                                     /**
                                      * Store the 2nd derivatives of the shape
@@ -1055,7 +1055,7 @@ class FEFaceValuesBase : public FEValuesBase<dim>
                                      * of the object and contains the
                                      * derivatives on the reference element.
                                      */
-    vector<vector<vector<Tensor<2,dim> > > > unit_shape_2nd_derivatives;
+    std::vector<std::vector<std::vector<Tensor<2,dim> > > > unit_shape_2nd_derivatives;
 
                                     /**
                                      * Gradients of the basis
@@ -1063,7 +1063,7 @@ class FEFaceValuesBase : public FEValuesBase<dim>
                                      * Analogous to the @p{shape_values_transform}
                                      * array of the base class.
                                      */
-    vector<vector<vector<Tensor<1,dim> > > > unit_shape_gradients_transform;
+    std::vector<std::vector<std::vector<Tensor<1,dim> > > > unit_shape_gradients_transform;
 
                                     /**
                                      * Array of quadrature points on the
@@ -1071,7 +1071,7 @@ class FEFaceValuesBase : public FEValuesBase<dim>
                                      * alike field of the quadrature formula
                                      * passed upon construction.
                                      */
-    vector<Point<dim-1> > unit_face_quadrature_points;
+    std::vector<Point<dim-1> > unit_face_quadrature_points;
     
                                     /**
                                      * Array of quadrature points in the unit
@@ -1084,7 +1084,7 @@ class FEFaceValuesBase : public FEValuesBase<dim>
                                      * those on the unit face, but are stored
                                      * as coordinates on the unit cell.
                                      */
-    vector<vector<Point<dim> > > unit_quadrature_points;
+    std::vector<std::vector<Point<dim> > > unit_quadrature_points;
     
                                     /**
                                      * List of values denoting the determinant
@@ -1092,14 +1092,14 @@ class FEFaceValuesBase : public FEValuesBase<dim>
                                      * to the real face or subface. Needed to
                                      * actually compute the JxW values.
                                      */
-    vector<double>       face_jacobi_determinants;
+    std::vector<double>       face_jacobi_determinants;
 
                                     /**
                                      * List of outward normal vectors at the
                                      * quadrature points. This field is filled
                                      * in by the finite element class.
                                      */
-    vector<Point<dim> >  normal_vectors;
+    std::vector<Point<dim> >  normal_vectors;
 
                                     /**
                                      * Stores the face or subface,
@@ -1348,7 +1348,7 @@ const FullMatrix<double> & FEValuesBase<dim>::get_shape_values () const
 
 template <int dim>
 inline
-const vector<vector<Tensor<1,dim> > > &
+const std::vector<std::vector<Tensor<1,dim> > > &
 FEValuesBase<dim>::get_shape_grads () const
 {
   Assert (update_flags & update_gradients, ExcAccessToUninitializedField());
@@ -1359,7 +1359,7 @@ FEValuesBase<dim>::get_shape_grads () const
 
 template <int dim>
 inline
-const vector<vector<Tensor<2,dim> > > &
+const std::vector<std::vector<Tensor<2,dim> > > &
 FEValuesBase<dim>::get_shape_2nd_derivatives () const
 {
   Assert (update_flags & update_second_derivatives, ExcAccessToUninitializedField());
@@ -1370,7 +1370,7 @@ FEValuesBase<dim>::get_shape_2nd_derivatives () const
 
 template <int dim>
 inline
-const vector<Point<dim> > &
+const std::vector<Point<dim> > &
 FEValuesBase<dim>::get_quadrature_points () const
 {
   Assert (update_flags & update_q_points, ExcAccessToUninitializedField());
@@ -1381,7 +1381,7 @@ FEValuesBase<dim>::get_quadrature_points () const
 
 template <int dim>
 inline
-const vector<Point<dim> > &
+const std::vector<Point<dim> > &
 FEValuesBase<dim>::get_support_points () const
 {
   Assert (update_flags & update_support_points, ExcAccessToUninitializedField());
@@ -1392,7 +1392,7 @@ FEValuesBase<dim>::get_support_points () const
 
 template <int dim>
 inline
-const vector<double> &
+const std::vector<double> &
 FEValuesBase<dim>::get_JxW_values () const
 {
   Assert (update_flags & update_JxW_values, ExcAccessToUninitializedField());
@@ -1423,7 +1423,7 @@ FEValuesBase<dim>::get_cell() const
 
 template <int dim>
 inline
-const vector<Point<dim> > &
+const std::vector<Point<dim> > &
 FEFaceValuesBase<dim>::get_normal_vectors () const
 {
   Assert (update_flags & update_normal_vectors,
index 62795946a2a3de9519081afc1506c553c459d6ce..6df25029e87e96a8f25b7999b92447e5815a5e23 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -45,7 +45,7 @@ class FEQ1Mapping : public FiniteElement<dim>
                 const unsigned int  dofs_per_quad,
                 const unsigned int  dofs_per_hex,
                 const unsigned int  n_components,
-                const vector<bool> &restriction_is_additive_flags);
+                const std::vector<bool> &restriction_is_additive_flags);
 
                                     /**
                                      * Transforms the point @p{p} on
@@ -95,8 +95,8 @@ class FEQ1Mapping : public FiniteElement<dim>
                                      * simply returns the length of the face.
                                      */
     virtual void get_face_jacobians (const DoFHandler<dim>::face_iterator &face,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<double>      &face_jacobi_determinants) const;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<double>      &face_jacobi_determinants) const;
 
                                     /**
                                      * Refer to the base class for detailed
@@ -108,8 +108,8 @@ class FEQ1Mapping : public FiniteElement<dim>
                                      */
     virtual void get_subface_jacobians (const DoFHandler<dim>::face_iterator &face,
                                        const unsigned int           subface_no,
-                                       const vector<Point<dim-1> > &unit_points,
-                                       vector<double>      &face_jacobi_determinants) const;
+                                       const std::vector<Point<dim-1> > &unit_points,
+                                       std::vector<double>      &face_jacobi_determinants) const;
 
                                     /**
                                      * Return the normal vectors to the
@@ -127,8 +127,8 @@ class FEQ1Mapping : public FiniteElement<dim>
                                      */
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                     const unsigned int           face_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const;
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const;
 
                                     /**
                                      * Return the normal vectors to the
@@ -148,8 +148,8 @@ class FEQ1Mapping : public FiniteElement<dim>
     virtual void get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                     const unsigned int           face_no,
                                     const unsigned int           subface_no,
-                                    const vector<Point<dim-1> > &unit_points,
-                                    vector<Point<dim> >         &normal_vectors) const;    
+                                    const std::vector<Point<dim-1> > &unit_points,
+                                    std::vector<Point<dim> >         &normal_vectors) const;    
 
                                     /**
                                      * Refer to the base class for detailed
@@ -162,17 +162,17 @@ class FEQ1Mapping : public FiniteElement<dim>
                                      * we use multilinear mappings.
                                      */
     virtual void fill_fe_values (const DoFHandler<dim>::cell_iterator &cell,
-                                const vector<Point<dim> >            &unit_points,
-                                vector<Tensor<2,dim> >               &jacobians,
+                                const std::vector<Point<dim> >            &unit_points,
+                                std::vector<Tensor<2,dim> >               &jacobians,
                                 const bool              compute_jacobians,
-                                vector<Tensor<3,dim> > &jacobians_grad,
+                                std::vector<Tensor<3,dim> > &jacobians_grad,
                                 const bool              compute_jacobians_grad,
-                                vector<Point<dim> >    &support_points,
+                                std::vector<Point<dim> >    &support_points,
                                 const bool              compute_support_points,
-                                vector<Point<dim> >    &q_points,
+                                std::vector<Point<dim> >    &q_points,
                                 const bool              compute_q_points,
                                 const FullMatrix<double>         &shape_values_transform,
-                                const vector<vector<Tensor<1,dim> > > &shape_grad_transform) const;
+                                const std::vector<std::vector<Tensor<1,dim> > > &shape_grad_transform) const;
 
                                     /**
                                      * Compute the gradients of the jacobian
@@ -181,8 +181,8 @@ class FEQ1Mapping : public FiniteElement<dim>
                                      * points on the unit cell.
                                      */
     static void compute_jacobian_gradients (const DoFHandler<dim>::cell_iterator &cell,
-                                           const vector<Point<dim> >            &unit_points,
-                                           vector<Tensor<3,dim> >               &jacobians);
+                                           const std::vector<Point<dim> >            &unit_points,
+                                           std::vector<Tensor<3,dim> >               &jacobians);
 
 
                                     /**
index fa946188cbccaa474a22b381b439d86ebcadfc10..73ffdb43a308897848a0af47148b14ca6207965c 100644 (file)
@@ -1 +1 @@
-forward_declarations.h
+       forward_declarations.h
index 008ccb3e38b5895aae7a95afc577be91d766c4d9..c5f7031b7499df618e88ec16d3a8a5e4965be717 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -37,7 +37,8 @@ template <int _dim>
 struct GeometryInfo
 {
                                     /**
-                                     * Present dimension. Does not look useful, but might be.
+                                     * Present dimension. Does not
+                                     * look useful, but might be.
                                      */
     static const unsigned int dim               = _dim;
 
index e46d51dbaae38d0c134475e401f1a5cad8ad1f9d..dc548d9d1c40124be43b67791b593d86729afd6f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index d8e96f44b309333920c58ac5921d7ec7f499f791..8962f5fce9402608fa53963e296a15c1797b6a1b 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -149,20 +149,20 @@ class GridIn
                                      * Read grid data from an ucd file.
                                      * Numerical data is ignored.
                                      */
-    void read_ucd (istream &);
+    void read_ucd (std::istream &);
 
                                     /**
                                      * Read grid data from a file
                                      * containing data in the DB mesh
                                      * format.
                                      */
-    void read_dbmesh (istream &);
+    void read_dbmesh (std::istream &);
     
                                     /**
                                      * Exception
                                      */
     DeclException1 (ExcUnknownIdentifier,
-                   string,
+                   std::string,
                    << "The identifier <" << arg1 << "> as name of a "
                    << "part in an UCD input file is unknown or the "
                    << "respective input routine is not implemented.");
@@ -185,7 +185,7 @@ class GridIn
                                      * Exception
                                      */
     DeclException1 (ExcInvalidDBMESHInput,
-                   string,
+                   std::string,
                    << "The string <" << arg1 << "> is not recognized at the present"
                    << " position of a DB Mesh file.");
     
@@ -210,7 +210,7 @@ class GridIn
                                      * contain either nothing or only
                                      * whitespace.
                                      */
-    static void skip_empty_lines (istream &in);
+    static void skip_empty_lines (std::istream &in);
     
                                     /**
                                      * Skip lines of comment that
@@ -226,7 +226,7 @@ class GridIn
                                      * there were no lines of
                                      * comments.
                                      */
-    static void skip_comment_lines (istream    &in,
+    static void skip_comment_lines (std::istream    &in,
                                    const char  comment_start);
 
                                     /**
@@ -256,9 +256,9 @@ class GridIn
                                      * have to eliminate unused
                                      * vertices beforehand.
                                      */
-    static void delete_unused_vertices (vector<Point<dim> >    &vertices,
-                                       vector<CellData<dim> > &cells,
-                                       SubCellData            &subcelldata);
+    static void delete_unused_vertices (std::vector<Point<dim> >    &vertices,
+                                       std::vector<CellData<dim> > &cells,
+                                       SubCellData                 &subcelldata);
 
                                     /**
                                      * This function can write the
@@ -305,9 +305,9 @@ class GridIn
                                      * without further ado by the
                                      * user.
                                      */
-    static void debug_output_grid (const vector<CellData<dim> > &cells,
-                                  const vector<Point<dim> >    &vertices,
-                                  ostream                      &out);
+    static void debug_output_grid (const std::vector<CellData<dim> > &cells,
+                                  const std::vector<Point<dim> >    &vertices,
+                                  std::ostream                      &out);
 };
 
 
index c7e77805760a7ef6b89ec2343223b717799fa1de..b9eb33ecb9336f42e079bde74b22850cd1f3f6c0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -363,7 +363,7 @@ class GridOut
                                      */
     template <int dim>
     void write_gnuplot (const Triangulation<dim> &tria,
-                       ostream                  &out);
+                       std::ostream             &out);
 
                                     /**
                                      * Write the triangulation in the
@@ -402,7 +402,7 @@ class GridOut
                                      */
     template <int dim>
     void write_ucd (const Triangulation<dim> &tria,
-                   ostream                  &out);
+                   std::ostream             &out);
 
                                     /**
                                      * Write the triangulation in the
@@ -456,7 +456,7 @@ class GridOut
                                      */
     template <int dim>
     void write_eps (const Triangulation<dim> &tria,
-                   ostream                  &out);
+                   std::ostream             &out);
     
                                     /**
                                      * Write data and grid to @p{out} according
@@ -466,7 +466,7 @@ class GridOut
                                      */
     template <int dim>
     void write (const Triangulation<dim> &tria,
-               ostream                  &out,
+               std::ostream             &out,
                const OutputFormat        output_format);
 
                                     /**
@@ -515,7 +515,7 @@ class GridOut
                                      * thus be called without creating an
                                      * object of this class.
                                      */
-    static string default_suffix (const OutputFormat output_format);
+    static std::string default_suffix (const OutputFormat output_format);
 
                                     /**
                                      * Return the @p{OutputFormat} value
@@ -537,7 +537,7 @@ class GridOut
                                      * @ref{ParameterHandler} class, use the
                                      * function @p{get_output_format_names ()}.
                                      */
-    static OutputFormat parse_output_format (const string &format_name);
+    static OutputFormat parse_output_format (const std::string &format_name);
 
                                     /**
                                      * Return a list of implemented output
@@ -546,7 +546,7 @@ class GridOut
                                      * as used by the @ref{ParameterHandler}
                                      * classes.
                                      */
-    static string get_output_format_names ();
+    static std::string get_output_format_names ();
 
                                     /**
                                      * Determine an estimate for the
@@ -628,7 +628,7 @@ class GridOut
     template <int dim>
     void write_ucd_faces (const Triangulation<dim> &tria,
                          const unsigned int        starting_index,
-                         ostream                  &out) const;
+                         std::ostream             &out) const;
 
                                     /**
                                      * Return the number of faces in the
index b7701ea5187abb84942c1a3a505bf3c9f42d3244..e4c455ecf93a4a0a19cab62642db791d319c68a7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -14,8 +14,8 @@
 #define __deal2__grid_refinement_h
 
 
-#include<lac/vector.h>
-#include<vector>
+#include <lac/vector.h>
+#include <vector>
 
 // forward declarations
 template <int dim> class Triangulation;
@@ -315,10 +315,10 @@ class GridRefinement
                                      * @p{refine_and_coarsen_optimize}
                                      */
     template<typename number>
-    static void qsort_index(const Vector<number>  &a,
-                           vector<unsigned int>  &ind,
-                           int                   l,
-                           int                   r);
+    static void qsort_index(const Vector<number>       &a,
+                           std::vector<unsigned int>  &ind,
+                           int                         l,
+                           int                         r);
 };
 
 
index 30c4f6f970950223c975c91110a4ecbdd775c94a..5a3801701e681ceb2b80ac375373248ed18dca53 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -525,7 +525,7 @@ class GridReordering : private GridReorderingInfo<dim>
                                      * general documentation of this
                                      * class.
                                      */
-    static void reorder_cells (vector<CellData<dim> > &original_cells);
+    static void reorder_cells (std::vector<CellData<dim> > &original_cells);
     
   private:
 
@@ -549,7 +549,7 @@ class GridReordering : private GridReorderingInfo<dim>
                                      * the @p{stack} adaptor from
                                      * STL.
                                      */
-    typedef vector<unsigned int> RotationStack;
+    typedef std::vector<unsigned int> RotationStack;
     
                                     /**
                                      * Class that describes the
@@ -613,7 +613,7 @@ class GridReordering : private GridReorderingInfo<dim>
                                          * each orientation of the
                                          * cell.
                                          */
-       typename map<Face,FaceData>::iterator
+       typename std::map<Face,FaceData>::iterator
        faces[GridReorderingInfo<dim>::rotational_states_of_cells][GeometryInfo<dim>::faces_per_cell];
 
                                         /**
@@ -681,7 +681,7 @@ class GridReordering : private GridReorderingInfo<dim>
                                          * @p{adjacent_cells} field
                                          * of the inserted faces.
                                          */
-       void insert_faces (map<Face,FaceData > &global_faces);
+       void insert_faces (std::map<Face,FaceData > &global_faces);
 
                                         /**
                                          * Find out the neighbors of the
@@ -816,7 +816,7 @@ class GridReordering : private GridReorderingInfo<dim>
                                          * important for the
                                          * algorithm.
                                          */
-       typename map<Face,FaceData >::const_iterator
+       typename std::map<Face,FaceData >::const_iterator
        reverse_faces[GridReorderingInfo<dim>::rotational_states_of_faces-1];
 
                                         /**
@@ -868,12 +868,12 @@ class GridReordering : private GridReorderingInfo<dim>
                                      * as recursive calls but rather
                                      * as eliminated tail-recursion.
                                      */
-    static void track_back (vector<Cell>  &cells,
-                           RotationStack &rotation_states,
-                           unsigned int   track_back_to_cell);
+    static void track_back (std::vector<Cell>  &cells,
+                           RotationStack      &rotation_states,
+                           const unsigned int  track_back_to_cell);
 
-    static bool try_rotate_single_neighbors (vector<Cell>  &cells,
-                                            RotationStack &rotation_states);
+    static bool try_rotate_single_neighbors (std::vector<Cell>  &cells,
+                                            RotationStack      &rotation_states);
     
                                     /**
                                      * This is the main function that
@@ -892,9 +892,9 @@ class GridReordering : private GridReorderingInfo<dim>
                                      * between original cells and
                                      * presorted cells.
                                      */
-    static void find_reordering (vector<Cell>               &cells,
-                                vector<CellData<dim> >     &original_cells,
-                                const vector<unsigned int> &new_cell_numbers);
+    static void find_reordering (std::vector<Cell>               &cells,
+                                std::vector<CellData<dim> >     &original_cells,
+                                const std::vector<unsigned int> &new_cell_numbers);
 
                                     /**
                                      * Preorder the incoming cells by
@@ -908,9 +908,9 @@ class GridReordering : private GridReorderingInfo<dim>
                                      * stored.
                                      */
     static
-    vector<unsigned int>
-    presort_cells (vector<Cell>       &cells,
-                  map<Face,FaceData> &faces);
+    std::vector<unsigned int>
+    presort_cells (std::vector<Cell>       &cells,
+                  std::map<Face,FaceData> &faces);
 };
 
 
index d654f2ff3c39ad362366775169dba3873b9390ac..9e5d103808e45f3623cb8ca7d73a0de529d247a9 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -200,7 +200,7 @@ class InterGridMap
                                      * The actual data. Hold one iterator
                                      * for each cell on each level.
                                      */
-    vector<vector<cell_iterator> > mapping;
+    std::vector<std::vector<cell_iterator> > mapping;
 
                                     /**
                                      * Store a pointer to the source grid.
index b6cfe71801a6d84835227a294a6a15858ba69d36..4072f4ec15fd9f51bd21a56bd5f89fe6bfc53aee 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 61558aef80452505bac6f2bc8aaf3fc0a082a3ad..08fe0b2fb35d765494d2872645ba2fa28248cafe 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -180,15 +180,15 @@ class PersistentTriangulation : public Triangulation<dim>
                                      * is not useful in the context of this
                                      * class.
                                      */
-    virtual void create_triangulation (const vector<Point<dim> >    &vertices,
-                                      const vector<CellData<dim> > &cells,
-                                      const SubCellData            &subcelldata);
+    virtual void create_triangulation (const std::vector<Point<dim> >    &vertices,
+                                      const std::vector<CellData<dim> > &cells,
+                                      const SubCellData                 &subcelldata);
 
                                     /**
                                      * Writes all refine and coarsen
                                      * flags to the ostream @p{out}.
                                      */
-    virtual void write_flags(ostream &out) const;
+    virtual void write_flags(std::ostream &out) const;
 
                                     /**
                                      * Reads all refine and coarsen flags
@@ -198,7 +198,7 @@ class PersistentTriangulation : public Triangulation<dim>
                                      * after the end or breakdown of a program
                                      * and its restart.
                                      */
-    virtual void read_flags(istream &in);
+    virtual void read_flags(std::istream &in);
 
                                     /**
                                      * Determine an estimate for the
@@ -230,12 +230,12 @@ class PersistentTriangulation : public Triangulation<dim>
                                      * vectors therefore hold the history
                                      * of the grid.
                                      */
-    vector<vector<bool> >   refine_flags;
+    std::vector<std::vector<bool> >   refine_flags;
 
                                     /**
                                      * @see refine_flags
                                      */
-    vector<vector<bool> >   coarsen_flags;
+    std::vector<std::vector<bool> >   coarsen_flags;
 };
 
 
index a77b9561026933f43cb1669f8c85d3652b337c40..758e6e5b912206b2ea00414158503ef44ab0b687 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -120,14 +120,14 @@ struct SubCellData
                                      * a line on the boundary and its boundary
                                      * indicator.
                                      */
-    vector<CellData<1> > boundary_lines;
+    std::vector<CellData<1> > boundary_lines;
 
                                     /**
                                      * Each record of this vector describes
                                      * a quad on the boundary and its boundary
                                      * indicator.
                                      */
-    vector<CellData<2> > boundary_quads;
+    std::vector<CellData<2> > boundary_quads;
 
                                     /**
                                      * This function checks whether the vectors
@@ -379,7 +379,7 @@ struct TriaNumberCache<1>
                                      * Array holding the number of used
                                      * lines on each level.
                                      */
-    vector<unsigned int> n_lines_level;
+    std::vector<unsigned int> n_lines_level;
     
                                     /**
                                      * Number of active lines in the
@@ -391,7 +391,7 @@ struct TriaNumberCache<1>
                                      * Array holding the number of active
                                      * lines on each level.
                                      */
-    vector<unsigned int> n_active_lines_level;
+    std::vector<unsigned int> n_active_lines_level;
 
                                     /**
                                      * Constructor. Set values to zero
@@ -439,7 +439,7 @@ struct TriaNumberCache<2> : public TriaNumberCache<1>
                                      * Array holding the number of used
                                      * quads on each level.
                                      */
-    vector<unsigned int> n_quads_level;
+    std::vector<unsigned int> n_quads_level;
     
                                     /**
                                      * Number of active quads in the
@@ -451,7 +451,7 @@ struct TriaNumberCache<2> : public TriaNumberCache<1>
                                      * Array holding the number of active
                                      * quads on each level.
                                      */
-    vector<unsigned int> n_active_quads_level;
+    std::vector<unsigned int> n_active_quads_level;
 
                                     /**
                                      * Constructor. Set values to zero
@@ -499,7 +499,7 @@ struct TriaNumberCache<3> : public TriaNumberCache<2>
                                      * Array holding the number of used
                                      * hexes on each level.
                                      */
-    vector<unsigned int> n_hexes_level;
+    std::vector<unsigned int> n_hexes_level;
     
                                     /**
                                      * Number of active hexes in the
@@ -511,7 +511,7 @@ struct TriaNumberCache<3> : public TriaNumberCache<2>
                                      * Array holding the number of active
                                      * hexes on each level.
                                      */
-    vector<unsigned int> n_active_hexes_level;
+    std::vector<unsigned int> n_active_hexes_level;
 
                                     /**
                                      * Constructor. Set values to zero
@@ -1818,9 +1818,9 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      * and the @ref{GridIn} and
                                      * @ref{GridReordering} class.
                                      */
-    virtual void create_triangulation (const vector<Point<dim> >    &vertices,
-                                      const vector<CellData<dim> > &cells,
-                                      const SubCellData            &subcelldata);
+    virtual void create_triangulation (const std::vector<Point<dim> >    &vertices,
+                                      const std::vector<CellData<dim> > &cells,
+                                      const SubCellData                 &subcelldata);
 
                                     /**
                                      * Distort the grid by randomly
@@ -1974,46 +1974,46 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      *  usage, read the general
                                      *  documentation for this class.
                                      */
-    void save_refine_flags (ostream &out) const;
+    void save_refine_flags (std::ostream &out) const;
 
                                     /**
                                      * Same as above, but store the flags to
                                      * a bitvector rather than to a file.
                                      */
-    void save_refine_flags (vector<bool> &v) const;
+    void save_refine_flags (std::vector<bool> &v) const;
 
                                     /**
                                      *  Read the information stored by
                                      *  @p{save_refine_flags}.
                                      */
-    void load_refine_flags (istream &in);
+    void load_refine_flags (std::istream &in);
 
                                     /**
                                      *  Read the information stored by
                                      *  @p{save_refine_flags}.
                                      */
-    void load_refine_flags (const vector<bool> &v);
+    void load_refine_flags (const std::vector<bool> &v);
 
                                     /**
                                      * Analogue to @p{save_refine_flags}.
                                      */
-    void save_coarsen_flags (ostream &out) const;
+    void save_coarsen_flags (std::ostream &out) const;
 
                                     /**
                                      * Same as above, but store the flags to
                                      * a bitvector rather than to a file.
                                      */
-    void save_coarsen_flags (vector<bool> &v) const;
+    void save_coarsen_flags (std::vector<bool> &v) const;
 
                                     /**
                                      * Analogue to @p{load_refine_flags}.
                                      */
-    void load_coarsen_flags (istream &out);
+    void load_coarsen_flags (std::istream &out);
 
                                     /**
                                      * Analogue to @p{load_refine_flags}.
                                      */
-    void load_coarsen_flags (const vector<bool> &v);
+    void load_coarsen_flags (const std::vector<bool> &v);
 
                                     /*@}*/
 
@@ -2039,7 +2039,7 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      *  @p{save_refine_flags} for more
                                      *  details.
                                      */
-    void save_user_flags (ostream &out) const;
+    void save_user_flags (std::ostream &out) const;
 
                                     /**
                                      * Same as above, but store the flags to
@@ -2047,24 +2047,24 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      * The output vector is resized if
                                      * necessary.
                                      */
-    void save_user_flags (vector<bool> &v) const;
+    void save_user_flags (std::vector<bool> &v) const;
 
                                     /**
                                      *  Read the information stored by
                                      *  @p{save_user_flags}.
                                      */
-    void load_user_flags (istream &in);
+    void load_user_flags (std::istream &in);
 
                                     /**
                                      *  Read the information stored by
                                      *  @p{save_user_flags}.
                                      */
-    void load_user_flags (const vector<bool> &v);
+    void load_user_flags (const std::vector<bool> &v);
 
                                     /**
                                      * Save the user flags on lines.
                                      */
-    void save_user_flags_line (ostream &out) const;
+    void save_user_flags_line (std::ostream &out) const;
 
                                     /**
                                      * Same as above, but store the flags to
@@ -2072,22 +2072,22 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      * The output vector is resized if
                                      * necessary.
                                      */
-    void save_user_flags_line (vector<bool> &v) const;
+    void save_user_flags_line (std::vector<bool> &v) const;
 
                                     /**
                                      * Load the user flags located on lines.
                                      */
-    void load_user_flags_line (istream &in);
+    void load_user_flags_line (std::istream &in);
 
                                     /**
                                      * Load the user flags located on lines.
                                      */
-    void load_user_flags_line (const vector<bool> &v);
+    void load_user_flags_line (const std::vector<bool> &v);
 
                                     /**
                                      * Save the user flags on quads.
                                      */
-    void save_user_flags_quad (ostream &out) const;
+    void save_user_flags_quad (std::ostream &out) const;
 
                                     /**
                                      * Same as above, but store the flags to
@@ -2095,22 +2095,22 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      * The output vector is resized if
                                      * necessary.
                                      */
-    void save_user_flags_quad (vector<bool> &v) const;
+    void save_user_flags_quad (std::vector<bool> &v) const;
 
                                     /**
                                      * Load the user flags located on quads.
                                      */
-    void load_user_flags_quad (istream &in);
+    void load_user_flags_quad (std::istream &in);
 
                                     /**
                                      * Load the user flags located on quads.
                                      */
-    void load_user_flags_quad (const vector<bool> &v);
+    void load_user_flags_quad (const std::vector<bool> &v);
 
                                     /**
                                      * Save the user flags on hexs.
                                      */
-    void save_user_flags_hex (ostream &out) const;
+    void save_user_flags_hex (std::ostream &out) const;
 
                                     /**
                                      * Same as above, but store the flags to
@@ -2118,17 +2118,17 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      * The output vector is resized if
                                      * necessary.
                                      */
-    void save_user_flags_hex (vector<bool> &v) const;
+    void save_user_flags_hex (std::vector<bool> &v) const;
 
                                     /**
                                      * Load the user flags located on hexs.
                                      */
-    void load_user_flags_hex (istream &in);
+    void load_user_flags_hex (std::istream &in);
 
                                     /**
                                      * Load the user flags located on hexs.
                                      */
-    void load_user_flags_hex (const vector<bool> &v);
+    void load_user_flags_hex (const std::vector<bool> &v);
                                     /*@}*/
 
                                     /* ------------------------------------ */
@@ -3002,20 +3002,20 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      *  as well. The format should therefore be
                                      *  interplatform compatible.
                                      */
-    static void write_bool_vector (const unsigned int  magic_number1,
-                                  const vector<bool> &v,
-                                  const unsigned int  magic_number2,
-                                  ostream            &out);
+    static void write_bool_vector (const unsigned int       magic_number1,
+                                  const std::vector<bool> &v,
+                                  const unsigned int       magic_number2,
+                                  std::ostream            &out);
 
                                     /**
                                      * Re-read a vector of bools previously
                                      * written by @p{write_bool_vector} and
                                      * compare with the magic numbers.
                                      */
-    static void read_bool_vector (const unsigned int  magic_number1,
-                                 vector<bool>       &v,
-                                 const unsigned int  magic_number2,
-                                 istream            &in);
+    static void read_bool_vector (const unsigned int       magic_number1,
+                                 std::vector<bool>       &v,
+                                 const unsigned int       magic_number2,
+                                 std::istream            &in);
 
   private:
                                     /**
@@ -3109,19 +3109,19 @@ class Triangulation : public TriaDimensionInfo<dim>,
                                      *
                                      *  Usage is like @p{levels[3]->quads}.
                                      */
-    vector<TriangulationLevel<dim>*> levels;
+    std::vector<TriangulationLevel<dim>*> levels;
 
                                     /**
                                      *  Array of the vertices of this
                                      *  triangulation.
                                      */
-    vector<Point<dim> >              vertices;
+    std::vector<Point<dim> >              vertices;
 
                                     /**
                                      *  Array storing a bit-pattern which
                                      *  vertices are used.
                                      */
-    vector<bool>                     vertices_used;
+    std::vector<bool>                     vertices_used;
 
                                     /**
                                      *  Collection of boundary
index afb0fe5705cd9051964ab1e0a2db1bda99a67799..8fe0b7ed4b9961dea34fe6b8f6c88765920cd8d7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -276,9 +276,9 @@ class TriaObjectAccessor :  public TriaAccessor<dim>
                                      * accessor is constructed.
                                      */
     TriaObjectAccessor (Triangulation<dim> *parent     = 0,
-                const int           level      = -1,
-                const int           index      = -1,
-                const AccessorData *local_data = 0) :
+                       const int           level      = -1,
+                       const int           index      = -1,
+                       const AccessorData *local_data = 0) :
                    TriaAccessor<dim> (parent, level, index, local_data) {};
 
                                     /**
@@ -1026,9 +1026,9 @@ class TriaObjectAccessor<2, dim> :  public TriaAccessor<dim>
                                      *  Constructor.
                                      */
     TriaObjectAccessor (Triangulation<dim> *parent     = 0,
-                 const int           level      = -1,
-                 const int           index      = -1,
-                 const AccessorData *local_data = 0) :
+                       const int           level      = -1,
+                       const int           index      = -1,
+                       const AccessorData *local_data = 0) :
                    TriaAccessor<dim> (parent, level, index, local_data) {};
 
                                     /**
@@ -1399,9 +1399,9 @@ class TriaObjectAccessor<3, dim> :  public TriaAccessor<dim>
                                      *  Constructor.
                                      */
     TriaObjectAccessor (Triangulation<dim> *parent     = 0,
-                const int           level      = -1,
-                const int           index      = -1,
-                const AccessorData *local_data = 0) :
+                       const int           level      = -1,
+                       const int           index      = -1,
+                       const AccessorData *local_data = 0) :
                    TriaAccessor<dim> (parent, level, index, local_data) {};
 
                                     /**
index 205f7521bfcfeb478843fa001bac1168a8d5ef89..80423dc42644ff9da038cdc30b27c7f50f463636 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -180,7 +180,7 @@ TriaObjectAccessor<1,dim>::max_refinement_depth () const
 
   const unsigned int depths[2] = { child(0)->max_refinement_depth() + 1,
                                   child(1)->max_refinement_depth() + 1  };
-  return max (depths[0], depths[1]);
+  return std::max (depths[0], depths[1]);
 };
 
 
@@ -343,8 +343,8 @@ TriaObjectAccessor<2,dim>::max_refinement_depth () const
                                   child(1)->max_refinement_depth() + 1,
                                   child(2)->max_refinement_depth() + 1,
                                   child(3)->max_refinement_depth() + 1 };
-  return max (max (depths[0], depths[1]),
-             max (depths[2], depths[3]));
+  return std::max (std::max (depths[0], depths[1]),
+                  std::max (depths[2], depths[3]));
 };
 
 
@@ -575,10 +575,10 @@ TriaObjectAccessor<3,dim>::max_refinement_depth () const
                                   child(5)->max_refinement_depth() + 1,
                                   child(6)->max_refinement_depth() + 1,
                                   child(7)->max_refinement_depth() + 1  };
-  return max (max (max (depths[0], depths[1]),
-                  max (depths[2], depths[3])),
-             max (max (depths[4], depths[5]),
-                  max (depths[6], depths[7])));
+  return std::max (std::max (std::max (depths[0], depths[1]),
+                            std::max (depths[2], depths[3])),
+                  std::max (std::max (depths[4], depths[5]),
+                            std::max (depths[6], depths[7])));
 };
 
 
@@ -697,7 +697,7 @@ TriaObjectAccessor<celldim,dim>::line (const unsigned int i) const
              return quad(0)->line(i);
            else
              if (i<8)
-      return quad(1)->line(i-4);
+               return quad(1)->line(i-4);
              else
                switch (i) 
                  {
index b7d4f137bbfdb25c3a7bb7f690e036f502b21b7a..0e0f0220910fc06fef70c5cd092494a9fec40f6c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index b647a406e38ee46f838fa74c4e771015e3337209..92def198d39de8aeb0b98f811f244f6028200517 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index d4fa9f5ae18fb1ce4690f3ced35023c908e0b4a0..887ff5799bc5c1b13a661d08ae3c511896cb6557 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index b1ba1a4d161105f147eb2bfbc9704d40b1716f9b..ab4e3d27b2bcd33cf0934b5793095f6410de94da 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -222,7 +222,7 @@ template <int dim> class Triangulation;
  *   @author Wolfgang Bangerth, 1998
  */
 template <int dim, typename Accessor>
-class TriaRawIterator : public bidirectional_iterator<Accessor,int>
+class TriaRawIterator : public std::bidirectional_iterator<Accessor,int>
 {
   public:
                                     /**
@@ -457,7 +457,7 @@ class TriaRawIterator : public bidirectional_iterator<Accessor,int>
                                      * Print the iterator to @p{out}. The
                                      * format is like @p{level.index}.
                                      */
-    void print (ostream &out) const;
+    void print (std::ostream &out) const;
 
 
                                     /**
@@ -943,7 +943,7 @@ TriaRawIterator<dim,Accessor>::operator -- ()
 template <int dim, typename Accessor>
 inline
 void
-TriaRawIterator<dim,Accessor>::print (ostream &out) const
+TriaRawIterator<dim,Accessor>::print (std::ostream &out) const
 {
   out << accessor.level() << "." << accessor.index();
 };
@@ -1030,7 +1030,8 @@ TriaActiveIterator<dim,Accessor>::TriaActiveIterator (const TriaRawIterator<dim,
  */
 template <int dim, typename Accessor>
 inline
-ostream & operator << (ostream &out, const TriaRawIterator<dim,Accessor> &i)
+std::ostream & operator << (std::ostream                        &out,
+                           const TriaRawIterator<dim,Accessor> &i)
 {
   i.print(out);
   return out;
@@ -1048,7 +1049,8 @@ ostream & operator << (ostream &out, const TriaRawIterator<dim,Accessor> &i)
  */
 template <int dim, typename Accessor>
 inline
-ostream & operator << (ostream &out, const TriaIterator<dim,Accessor> &i)
+std::ostream & operator << (std::ostream                     &out,
+                           const TriaIterator<dim,Accessor> &i)
 {
   i.print(out);
   return out;
@@ -1066,7 +1068,8 @@ ostream & operator << (ostream &out, const TriaIterator<dim,Accessor> &i)
  */
 template <int dim, typename Accessor>
 inline
-ostream & operator << (ostream &out, const TriaActiveIterator<dim,Accessor> &i)
+std::ostream & operator << (std::ostream                           &out,
+                           const TriaActiveIterator<dim,Accessor> &i)
 {
   i.print(out);
   return out;
index e22cae5eb30c810987de63817e382f03c5ba0e40..cd752a52eb8cb1ce66986163ecd38c0d018bbec4 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 5d1c999498fbe7a36337be1b39ce53322655783e..57fb4556d66f6c6a526642c14a18df98ad426619 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 7d622d6c78267d501c4a6bd3a03574247be19b2c..2216f0db0a11a90f71181dcda85b3ab91058a35c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -69,14 +69,14 @@ class TriangulationLevel<0>
                                      *  @p{lines} vector, in two dimensions
                                      *  that of the @p{quads} vector, etc.
                                      */
-    vector<bool> refine_flags;
+    std::vector<bool> refine_flags;
 
                                     /**
                                      * Same meaning as the one above, but
                                      * specifies whether a cell must be
                                      * coarsened.
                                      */
-    vector<bool> coarsen_flags;
+    std::vector<bool> coarsen_flags;
     
                                     /**
                                      *  Levels and indices of the neighbors
@@ -126,7 +126,7 @@ class TriangulationLevel<0>
                                      *  which case its neighbor pointer points
                                      *  to the mother cell of this cell).
                                      */
-    vector<pair<int,int> > neighbors;
+    std::vector<std::pair<int,int> > neighbors;
     
                                     /**
                                      *  Reserve enough space to accomodate
@@ -212,7 +212,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0>
                                          *  index of a line is stored in the
                                          *  line itself.
                                          */
-       vector<Line> lines;
+       std::vector<Line> lines;
                                         /**
                                          *  Index of the first child of a line
                                          *  in the list on the next level.
@@ -231,7 +231,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0>
                                          *  @ref{TriaIterator}@p{::active()}
                                          *  tests for this.
                                          */
-       vector<int>  children;
+       std::vector<int>  children;
        
                                         /**
                                          *  Vector storing whether a line is
@@ -245,7 +245,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0>
                                          *  rather the according @p{used} flag
                                          *  is set to @p{false}.
                                          */
-       vector<bool> used;
+       std::vector<bool> used;
 
                                         /**
                                          *  Make available a field for user data,
@@ -258,7 +258,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0>
                                          *  You can clear all used flags using
                                          *  @ref{Triangulation}@p{::clear_user_flags()}.
                                          */
-       vector<bool> user_flags;
+       std::vector<bool> user_flags;
 
                                         /**
                                          * Store boundary and material data. In
@@ -281,7 +281,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0>
                                          * is not possible if you don't know
                                          * which cell it belongs to.
                                          */
-       vector<unsigned char> material_id;
+       std::vector<unsigned char> material_id;
 
                                         /**
                                          * Pointer which is not used by the
@@ -289,7 +289,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0>
                                          * by the user to handle data local to
                                          * a line/quad/etc.
                                          */
-       vector<void*> user_pointers;
+       std::vector<void*> user_pointers;
     };
     
   public:
@@ -365,7 +365,7 @@ class TriangulationLevel<2> :  public TriangulationLevel<1>
                                         /**
                                          *  Same as for the @p{lines} array.
                                          */
-       vector<Quad> quads;
+       std::vector<Quad> quads;
                                         /**
                                          *  Same as for the
                                          *  @ref{TriangulationLevel<1>::LinesData}@p{::chilren}
@@ -376,19 +376,19 @@ class TriangulationLevel<2> :  public TriangulationLevel<1>
                                          *  following immediately
                                          *  afterwards.
                                          */
-       vector<int>  children;
+       std::vector<int>  children;
 
                                         /**
                                          *  Same as for
                                          *  @ref{TriangulationLevel<1>::LinesData}@p{::used}.
                                          */
-       vector<bool> used;
+       std::vector<bool> used;
 
                                         /**
                                          *  Same as for
                                          *  @ref{TriangulationLevel<1>::LinesData}@p{::used}.
                                          */
-       vector<bool> user_flags;
+       std::vector<bool> user_flags;
 
                                         /**
                                          * Store boundary and material data. In
@@ -411,7 +411,7 @@ class TriangulationLevel<2> :  public TriangulationLevel<1>
                                          * is not possible if you don't know
                                          * which cell it belongs to.
                                          */
-       vector<unsigned char> material_id;
+       std::vector<unsigned char> material_id;
 
 
                                         /**
@@ -420,7 +420,7 @@ class TriangulationLevel<2> :  public TriangulationLevel<1>
                                          * by the user to handle data local to
                                          * a line/quad/etc.
                                          */
-       vector<void*> user_pointers;
+       std::vector<void*> user_pointers;
     };
     
   public:
@@ -485,7 +485,7 @@ class TriangulationLevel<3> :  public TriangulationLevel<2>
                                         /**
                                          *  Same as for the @p{lines} array.
                                          */
-       vector<Hexahedron> hexes;
+       std::vector<Hexahedron> hexes;
                                         /**
                                          *  Same as for the
                                          *  @ref{TriangulationLevel<1>::LinesData}@p{::chilren}
@@ -496,19 +496,19 @@ class TriangulationLevel<3> :  public TriangulationLevel<2>
                                          *  following immediately
                                          *  afterwards.
                                          */
-       vector<int>  children;
+       std::vector<int>  children;
 
                                         /**
                                          *  Same as for
                                          *  @ref{TriangulationLevel<1>::LinesData}@p{::used}.
                                          */
-       vector<bool> used;
+       std::vector<bool> used;
 
                                         /**
                                          *  Same as for
                                          *  @ref{TriangulationLevel<1>::LinesData}@p{::used}.
                                          */
-       vector<bool> user_flags;
+       std::vector<bool> user_flags;
 
                                         /**
                                          * Store boundary and material data. In
@@ -531,7 +531,7 @@ class TriangulationLevel<3> :  public TriangulationLevel<2>
                                          * is not possible if you don't know
                                          * which cell it belongs to.
                                          */
-       vector<unsigned char> material_id;
+       std::vector<unsigned char> material_id;
 
 
                                         /**
@@ -540,7 +540,7 @@ class TriangulationLevel<3> :  public TriangulationLevel<2>
                                          * by the user to handle data local to
                                          * a line/quad/etc.
                                          */
-       vector<void*> user_pointers;
+       std::vector<void*> user_pointers;
     };
     
   public:
index 0f86ce87d330075adabcb517a26f9333a0815c91..732e1ecbf518c34e109d0dfd452f6ebb0dd52be7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -71,7 +71,7 @@ class Line
                                     /**
                                      *  Global indices of the two end points.
                                      */
-      int end_points[2];
+    int end_points[2];
 };
 
 
index 61641c511c832fdd2ea96f591fd103f1f6bd6065..9857c00d63eeac476df8b98853f03a3ae5ca8dbe 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -75,7 +75,7 @@ class Quad
                    << "Indices for the line number must be 0, 1, 2 or 3, "
                    << "but you gave " << arg1); 
   protected:
-      int lines[4];
+    int lines[4];
 };
 
 
index c3b4f88098da136b6bf84ff7c11ee3f436a6650a..a20621390a6beed38ae9fde7e4ad2d7b0c3ce238 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -49,7 +49,7 @@ class MGLevelObject : public Subscriptor
                                      * is created empty.
                                      */
     MGLevelObject (const unsigned int minlevel = 0,
-                     const unsigned int maxlevel = 0);
+                  const unsigned int maxlevel = 0);
     
                                     /**
                                      * Access object on level @p{level}.
@@ -82,7 +82,7 @@ class MGLevelObject : public Subscriptor
                                      * @p{Object==Vector<T>}, @p{clear}
                                      * will set all entries to zero,
                                      * while if
-                                     * @p{Object==std::vector<T>},
+                                     * @p{Object==vector<T>},
                                      * @p{clear} deletes the elements
                                      * of the vectors. This class
                                      * might therefore not be useful
@@ -103,7 +103,7 @@ class MGLevelObject : public Subscriptor
                                     /**
                                      * Array of the objects to be held.
                                      */
-    vector<Object> objects;
+    std::vector<Object> objects;
 };
 
 
@@ -551,7 +551,7 @@ template<class Object>
 void
 MGLevelObject<Object>::clear ()
 {
-  typename vector<Object>::iterator v;
+  typename std::vector<Object>::iterator v;
   for (v = objects.begin(); v != objects.end(); ++v)
     v->clear();  
 };
@@ -578,8 +578,8 @@ MGLevelObject<Object>::get_maxlevel () const
 
 template<class SOLVER, class MATRIX, class PRECOND>
 MGCoarseGridLACIteration<SOLVER,MATRIX,PRECOND>::MGCoarseGridLACIteration(SOLVER        &s,
-                        const MATRIX  &m,
-                        const PRECOND &p)
+                                                                         const MATRIX  &m,
+                                                                         const PRECOND &p)
                :
                solver(s),
                matrix(&m),
@@ -590,8 +590,8 @@ MGCoarseGridLACIteration<SOLVER,MATRIX,PRECOND>::MGCoarseGridLACIteration(SOLVER
 template<class SOLVER, class MATRIX, class PRECOND>
 void
 MGCoarseGridLACIteration<SOLVER,MATRIX,PRECOND>::operator() (const unsigned int    /* level */,
-           Vector<double>       &dst,
-           const Vector<double> &src) const
+                                                            Vector<double>       &dst,
+                                                            const Vector<double> &src) const
 {
   solver.solve(*matrix, dst, src, precondition);
 }
index 9818eb400b1dbbfd52558cd8b4ddcfab72a8eb64..4742077c3cf12f0061b936844b52a73f972685fe 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -288,7 +288,7 @@ class MGDoFObjectAccessor<1, dim> :  public MGDoFAccessor<dim>,
                                      * indices refer to the local numbering
                                      * for the level this line lives on.
                                      */
-    void get_mg_dof_indices (vector<unsigned int> &dof_indices) const;
+    void get_mg_dof_indices (std::vector<unsigned int> &dof_indices) const;
 
                                     /**
                                      * Return the value of the given vector
@@ -357,9 +357,9 @@ class MGDoFObjectAccessor<2, dim> :  public MGDoFAccessor<dim>,
                                      * to a @ref{DoFHandler} object.
                                      */
     MGDoFObjectAccessor (Triangulation<dim> *tria,
-                      const int           level,
-                      const int           index,
-                      const AccessorData *local_data);
+                        const int           level,
+                        const int           index,
+                        const AccessorData *local_data);
     
                                     /**
                                      * Return the index of the @p{i}th degree
@@ -405,7 +405,7 @@ class MGDoFObjectAccessor<2, dim> :  public MGDoFAccessor<dim>,
                                      * indices refer to the local numbering
                                      * for the level this quad lives on.
                                      */
-    void get_mg_dof_indices (vector<unsigned int> &dof_indices) const;
+    void get_mg_dof_indices (std::vector<unsigned int> &dof_indices) const;
  
                                     /**
                                      * Return the value of the given vector
@@ -482,9 +482,9 @@ class MGDoFObjectAccessor<3, dim> :  public MGDoFAccessor<dim>,
                                      * to a @ref{DoFHandler} object.
                                      */
     MGDoFObjectAccessor (Triangulation<dim> *tria,
-                     const int           level,
-                     const int           index,
-                     const AccessorData *local_data);
+                        const int           level,
+                        const int           index,
+                        const AccessorData *local_data);
     
                                     /**
                                      * Return the index of the @p{i}th degree
@@ -530,7 +530,7 @@ class MGDoFObjectAccessor<3, dim> :  public MGDoFAccessor<dim>,
                                      * indices refer to the local numbering
                                      * for the level this hex lives on.
                                      */
-    void get_mg_dof_indices (vector<unsigned int> &dof_indices) const;
+    void get_mg_dof_indices (std::vector<unsigned int> &dof_indices) const;
 
                                     /**
                                      * Return the value of the given vector
index 6257e280f3b97f4dc2553fdd59a3769d35c6ebce..00795b821708de31b6f9dee3ffc36ba54b4a6116 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -210,8 +210,8 @@ class MGDoFHandler : public DoFHandler<dim>
                                      * indices after renumbering in the
                                      * order of the old indices.
                                      */
-    void renumber_dofs (const unsigned int level,
-                       const vector<unsigned int> &new_numbers);
+    void renumber_dofs (const unsigned int               level,
+                       const std::vector<unsigned int> &new_numbers);
 
                                     /*--------------------------------------*/
     
@@ -524,9 +524,9 @@ class MGDoFHandler : public DoFHandler<dim>
 
 
 /**
                                    *  Return an iterator pointing to the
                                    *  last line, used or not.
                                    */
+ *  Return an iterator pointing to the
+ *  last line, used or not.
+ */
     raw_line_iterator    last_raw_line () const;
 
                                     /**
@@ -621,9 +621,9 @@ class MGDoFHandler : public DoFHandler<dim>
 
 
 /**
                                    *  Return an iterator pointing to the
                                    *  last quad, used or not.
                                    */
+ *  Return an iterator pointing to the
+ *  last quad, used or not.
+ */
     raw_quad_iterator    last_raw_quad () const;
 
                                     /**
@@ -718,9 +718,9 @@ class MGDoFHandler : public DoFHandler<dim>
 
 
 /**
                                    *  Return an iterator pointing to the
                                    *  last hex, used or not.
                                    */
+ *  Return an iterator pointing to the
+ *  last hex, used or not.
+ */
     raw_hex_iterator    last_raw_hex () const;
 
                                     /**
@@ -910,23 +910,23 @@ class MGDoFHandler : public DoFHandler<dim>
 
 
 /**
                                    * Distribute dofs on the given cell,
                                    * with new dofs starting with index
                                    * @p{next_free_dof}. Return the next
                                    * unused index number. The finite
                                    * element used is the one given to
                                    * @p{distribute_dofs}, which is copied
                                    * to @p{selected_fe}.
                                    *
                                    * This function is excluded from the
                                    * @p{distribute_dofs} function since
                                    * it can not be implemented dimension
                                    * independent.
                                    *
                                    * Note that unlike for the usual dofs,
                                    * here all cells and not only active
                                    * ones are allowed.
                                    */
+ * Distribute dofs on the given cell,
+ * with new dofs starting with index
+ * @p{next_free_dof}. Return the next
+ * unused index number. The finite
+ * element used is the one given to
+ * @p{distribute_dofs}, which is copied
+ * to @p{selected_fe}.
+ *
+ * This function is excluded from the
+ * @p{distribute_dofs} function since
+ * it can not be implemented dimension
+ * independent.
+ *
+ * Note that unlike for the usual dofs,
+ * here all cells and not only active
+ * ones are allowed.
+ */
     unsigned int distribute_dofs_on_cell (cell_iterator &cell,
                                          unsigned int   next_free_dof);
     
@@ -944,7 +944,7 @@ class MGDoFHandler : public DoFHandler<dim>
                                      * numbers which start from zero on each
                                      * level.
                                      */
-    vector<DoFLevel<dim>*>    mg_levels;
+    std::vector<DoFLevel<dim>*>    mg_levels;
 
                                     /**
                                      * For each vertex there is a list of
@@ -952,13 +952,13 @@ class MGDoFHandler : public DoFHandler<dim>
                                      * on the different levels it lives on and
                                      * which are these levels.
                                      */
-    vector<MGVertexDoFs>      mg_vertex_dofs;
+    std::vector<MGVertexDoFs>      mg_vertex_dofs;
     
                                     /**
                                      * Vectors storing the number of degrees of
                                      * freedom on each level.
                                      */
-    vector<unsigned int>      mg_used_dofs;
+    std::vector<unsigned int>      mg_used_dofs;
 
 #if (__GNUC__==2) && (__GNUC_MINOR__ < 95)  
                                     // this seems to be disallowed
index 533d669bf8afb4dc00c0f4933261fade04836d07..baa8febe27a39dd78b0ccd00c559a766b25491c6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index c3634b403a7b0931ca48b194cb00036ab22d1428..318c0ee89b3b48866847da09e8520036475b60f1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -185,7 +185,7 @@ class MGSmoother : public MGSmootherBase
                                      * These arrays are set by the constructor.
                                      * The entries for each level are sorted ascendingly.
                                      */
-    vector<vector<unsigned int> > interior_boundary_dofs;
+    std::vector<std::vector<unsigned int> > interior_boundary_dofs;
 };
 
 
index b786b24addc2877c8ce0c969d4279ed76695bca7..6d3393085433a5384e297c20d8f60ca77a0adba7 100644 (file)
@@ -4,10 +4,10 @@
 template<typename number>
 template<int dim>
 MGSmootherRelaxation<number>::MGSmootherRelaxation (const MGDoFHandler<dim>                       &mg_dof,
-                     const MGLevelObject<SparseMatrix<number> > &matrix,
-                     const function_ptr                             relaxation,
-                     const unsigned int                             steps,
-                     const double                                   omega)
+                                                   const MGLevelObject<SparseMatrix<number> > &matrix,
+                                                   const function_ptr                             relaxation,
+                                                   const unsigned int                             steps,
+                                                   const double                                   omega)
                :
                MGSmoother(mg_dof, steps),
                matrix(&matrix),
index 7665a476774025972ef1a45d02bc09dbb91f4f5a..068e16106eea2adda889192dfe5492ec6df138f0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -98,8 +98,8 @@ class Multigrid : public MGBase
                                     /**
                                      * Negative @p{vmult} on a level.
 //TODO: what does this function do?                                  
-                                     * @see MGBase.
-                                     */
+* @see MGBase.
+*/
     virtual void level_vmult (const unsigned int    level,
                              Vector<double>       &dest,
                              const Vector<double> &src,
@@ -126,8 +126,8 @@ class Multigrid : public MGBase
 
 
 /**
                                    * Sparsity patterns for each level.
                                    */
+ * Sparsity patterns for each level.
+ */
     SmartPointer<const MGLevelObject<SparsityPattern> > level_sparsities;
     
                                     /**
@@ -219,17 +219,17 @@ class MGTransferPrebuilt : public MGTransferBase
 
   private:
 
-    vector<SparsityPattern>   prolongation_sparsities;
-
-                                        /**
-                                         * The actual prolongation matrix.
-                                         * column indices belong to the
-                                         * dof indices of the mother cell,
-                                         * i.e. the coarse level.
-                                         * while row indices belong to the
-                                         * child cell, i.e. the fine level.
-                                         */
-    vector<SparseMatrix<double> > prolongation_matrices;
+    std::vector<SparsityPattern>   prolongation_sparsities;
+
+                                    /**
+                                     * The actual prolongation matrix.
+                                     * column indices belong to the
+                                     * dof indices of the mother cell,
+                                     * i.e. the coarse level.
+                                     * while row indices belong to the
+                                     * child cell, i.e. the fine level.
+                                     */
+    std::vector<SparseMatrix<double> > prolongation_matrices;
 };
 
 
index 8ff60ac22fd218db09018bdea44e32f5cb957ab0..97d708547f4f57406df927974266a5dee4825c08 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -52,9 +52,9 @@ Multigrid<dim>::copy_to_mg (const Vector<number>& osrc)
                                   // on all levels to zero
   defect.clear();
   
-  vector<unsigned int> global_dof_indices (dofs_per_cell);
-  vector<unsigned int> level_dof_indices  (dofs_per_cell);
-  vector<unsigned int> level_face_indices (dofs_per_face);
+  std::vector<unsigned int> global_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> level_dof_indices  (dofs_per_cell);
+  std::vector<unsigned int> level_face_indices (dofs_per_face);
 
                                   // initialize the objects with
                                   // their correct size
@@ -144,8 +144,8 @@ Multigrid<dim>::copy_from_mg(Vector<number> &dst) const
 {
   const unsigned int dofs_per_cell = mg_dof_handler->get_fe().dofs_per_cell;
 
-  vector<unsigned int> global_dof_indices (dofs_per_cell);
-  vector<unsigned int> level_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> global_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> level_dof_indices (dofs_per_cell);
 
   MGDoFHandler<dim>::active_cell_iterator
     level_cell = mg_dof_handler->begin_active();
@@ -199,8 +199,8 @@ Multigrid<dim>::print_vector (const unsigned int level,
   
   const unsigned int dofs_per_cell = mg_dof_handler->get_fe().dofs_per_cell;
 
-  vector<unsigned int> global_dof_indices (dofs_per_cell);
-  vector<unsigned int> level_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> global_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> level_dof_indices (dofs_per_cell);
 
   DoFHandler<dim>::active_cell_iterator
     global_cell = dof->begin_active(level);
@@ -224,7 +224,7 @@ Multigrid<dim>::print_vector (const unsigned int level,
          = v(level_dof_indices[i]);
     }
 
-  ofstream out_file(name);
+  std::ofstream out_file(name);
   DataOut<dim> out;
   out.attach_dof_handler(*dof);
   out.add_data_vector(out_vector, "v");
index b19feb219ace8a5ea858b94fc28ade231e1c6b81..b9fc284527ac6319162f042d9b5c2d2e3d69da81 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 626ceb09099b7c40970b05a6acb7fa7ad7589939..d90acf9957a2560bb79f64a225b478432567f589 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -108,7 +108,7 @@ class ProblemBase
                                      * See the general documentation of this
                                      * class for more detail.
                                      */
-    typedef map<unsigned char,const Function<dim>*> FunctionMap;
+    typedef std::map<unsigned char,const Function<dim>*> FunctionMap;
                                     /**
                                      * Typdedef an iterator which assembles
                                      * matrices and vectors.
@@ -199,7 +199,7 @@ class ProblemBase
                                      * Overload this function, if you
                                      * want anything else.
                                      */
-    virtual string get_solution_name () const;
+    virtual std::string get_solution_name () const;
 
                                     /**
                                      * Exception
index cbb9b6c36b83c1a51003a0ea87a480064dbe5b4e..0d7de828964137e2e7435be69a43ab1cb5c4ae8d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -222,8 +222,8 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                      * class to see which characters
                                      * are valid and which are not.
                                      */
-    void add_data_vector (const Vector<double> &data,
-                         const vector<string> &names);
+    void add_data_vector (const Vector<double>           &data,
+                         const std::vector<std::string> &names);
 
                                     /**
                                      * This function is an
@@ -250,7 +250,7 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                      * each component to @p{name}
                                      */
     void add_data_vector (const Vector<double> &data,
-                         const string         &name);
+                         const std::string    &name);
 
                                     /**
                                      * Release the pointers to the
@@ -327,9 +327,9 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                      * Exception
                                      */
     DeclException1 (ExcInvalidCharacter,
-                   string,
-                   << "Please use only the characters [a-zA-Z0-9_<>()] for" << endl
-                   << "description strings since AVS will only accept these." << endl
+                   std::string,
+                   << "Please use only the characters [a-zA-Z0-9_<>()] for" << std::endl
+                   << "description strings since AVS will only accept these." << std::endl
                    << "The string you gave was <" << arg1 << ">.");
                                     /**
                                      * Exception
@@ -357,8 +357,8 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                          * with no explicit arguments for
                                          * STL classes).
                                          */
-       DataEntry (const Vector<double> *data = 0,
-                  const vector<string> &names = vector<string>());
+       DataEntry (const Vector<double>           *data = 0,
+                  const std::vector<std::string> &names = std::vector<std::string>());
 
                                         /**
                                          * Determine an estimate for the
@@ -380,13 +380,13 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                          * Names of the components of this
                                          * data vector.
                                          */
-       vector<string> names;
+       std::vector<std::string> names;
        
                                         /**
                                          * Physical unit name of this
                                          * component.
                                          */
-       string   units;
+       std::string   units;
     };
 
                                     /**
@@ -398,13 +398,13 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                      * List of data elements with vectors of
                                      * values for each degree of freedom.
                                      */
-    vector<DataEntry>  dof_data;
+    std::vector<DataEntry>  dof_data;
 
                                     /**
                                      * List of data elements with vectors of
                                      * values for each cell.
                                      */
-    vector<DataEntry>  cell_data;
+    std::vector<DataEntry>  cell_data;
 
                                     /**
                                      * This is a list of patches that is
@@ -413,7 +413,7 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                      * in the output routines of the base
                                      * classes.
                                      */
-    vector<DataOutBase::Patch<patch_dim,patch_space_dim> > patches;
+    std::vector<DataOutBase::Patch<patch_dim,patch_space_dim> > patches;
 
                                     /**
                                      * Function by which the base
@@ -421,7 +421,7 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                      * what patches they shall write
                                      * to a file.
                                      */
-    virtual const vector<DataOutBase::Patch<patch_dim,patch_space_dim> > &
+    virtual const std::vector<DataOutBase::Patch<patch_dim,patch_space_dim> > &
     get_patches () const;
 
                                     /**
@@ -430,7 +430,7 @@ class DataOut_DoFData : public DataOutInterface<patch_dim,patch_space_dim>
                                      * obtained by the output functions
                                      * of the base class.
                                      */
-    virtual vector<string> get_dataset_names () const;
+    virtual std::vector<std::string> get_dataset_names () const;
 };
 
 
@@ -577,8 +577,8 @@ class DataOut : public DataOut_DoFData<dim,dim>
        unsigned int n_components;
        unsigned int n_datasets;
        unsigned int n_subdivisions;
-       vector<double>          patch_values;
-       vector<Vector<double> > patch_values_system;
+       std::vector<double>          patch_values;
+       std::vector<Vector<double> > patch_values_system;
        Data ()
          {}
     };
index 72e4816c1407ff8bfd7688a8dafb98fddbc46395..7fe07ed438d253abbc48572e1639f19afeb113a9 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -118,7 +118,7 @@ class DataOutFaces : public DataOut_DoFData<dim,dim-1,dim>
                                      * aliased to a name that is
                                      * better to type.
                                      */
-    typedef pair<typename DoFHandler<dim>::cell_iterator,unsigned int> FaceDescriptor;
+    typedef std::pair<typename DoFHandler<dim>::cell_iterator,unsigned int> FaceDescriptor;
     
     
                                     /**
@@ -180,8 +180,8 @@ class DataOutFaces : public DataOut_DoFData<dim,dim-1,dim>
        unsigned int n_components;
        unsigned int n_datasets;
        unsigned int n_subdivisions;
-       vector<double>          patch_values;
-       vector<Vector<double> > patch_values_system;
+       std::vector<double>          patch_values;
+       std::vector<Vector<double> > patch_values_system;
        Data ()
          {}
     };
index a093cec3845faf3cb75094dc355886fa5c1e00b6..e0b11358b98b37270d6ef3f46e381d4ed69d225c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -177,8 +177,8 @@ class DataOutRotation : public DataOut_DoFData<dim,dim+1>
        unsigned int n_datasets;
        unsigned int n_patches_per_circle;
        unsigned int n_subdivisions;
-       vector<double>          patch_values;
-       vector<Vector<double> > patch_values_system;
+       std::vector<double>          patch_values;
+       std::vector<Vector<double> > patch_values_system;
        Data ()
          {}
     };
index a8c5b879f578374f8fb7ec320f9aeabf1479cead..2625161d094835901d1ff5ece5de450c69f71784 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -153,8 +153,8 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * and therefore only one name needs to
                                      * be given.
                                      */
-    void declare_data_vector (const string     &name,
-                             const VectorType  vector_type);
+    void declare_data_vector (const std::string &name,
+                             const VectorType   vector_type);
 
                                     /**
                                      * Declare a data vector. The @p{vector_type}
@@ -173,8 +173,8 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * element if the finite element has
                                      * only one component.
                                      */
-    void declare_data_vector (const vector<string> &name,
-                             const VectorType      vector_type);
+    void declare_data_vector (const std::vector<std::string> &name,
+                             const VectorType                vector_type);
 
 
                                     /**
@@ -203,7 +203,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      */
     template <typename number>
     void add_data_vector (const Vector<number> &vec,
-                         const string         &name);
+                         const std::string    &name);
 
                                     /**
                                      * Add a data vector for the presently
@@ -234,8 +234,8 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * are already done.
                                      */
     template <typename number>
-    void add_data_vector (const Vector<number> &vec,
-                         const vector<string> &names);
+    void add_data_vector (const Vector<number>           &vec,
+                         const std::vector<std::string> &names);
 
                                     /**
                                      * Actually build the patches for output
@@ -296,9 +296,9 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * Exception
                                      */
     DeclException1 (ExcInvalidCharacter,
-                   string,
-                   << "Please use only the characters [a-zA-Z0-9_<>()] for" << endl
-                   << "description strings since AVS will only accept these." << endl
+                   std::string,
+                   << "Please use only the characters [a-zA-Z0-9_<>()] for" << std::endl
+                   << "description strings since AVS will only accept these." << std::endl
                    << "The string you gave was <" << arg1 << ">.");
                                     /**
                                      * Exception
@@ -312,7 +312,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * Exception
                                      */
     DeclException1 (ExcVectorNotDeclared,
-                   string,
+                   std::string,
                    << "The data vector for which the first component has the name "
                    << arg1 << " has not been declared before.");
                                     /**
@@ -327,7 +327,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * Exception
                                      */
     DeclException1 (ExcNameAlreadyUsed,
-                   string,
+                   std::string,
                    << "You tried to declare a component of a data vector with "
                    << "the name <" << arg1 << ">, but that name is already used.");
                                     /**
@@ -362,7 +362,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * List of patches of all past and
                                      * present parameter value data sets.
                                      */
-    vector<DataOutBase::Patch<dim+1> >   patches;
+    std::vector<DataOutBase::Patch<dim+1> >   patches;
 
                                     /**
                                      * Structure holding data vectors
@@ -380,7 +380,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                          * Names of the different components
                                          * within each such data set.
                                          */
-       vector<string> names;
+       std::vector<std::string> names;
 
                                         /**
                                          * Determine an estimate for
@@ -393,12 +393,12 @@ class DataOutStack : public DataOutInterface<dim+1>
                                     /**
                                      * List of DoF data vectors.
                                      */
-    vector<DataVector> dof_data;
+    std::vector<DataVector> dof_data;
 
                                     /**
                                      * List of cell data vectors.
                                      */
-    vector<DataVector> cell_data;
+    std::vector<DataVector> cell_data;
     
                                     /**
                                      * This is the function through
@@ -408,7 +408,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * the base class @ref{DataOutBase}) to
                                      * the actual output function.
                                      */
-    virtual const vector<DataOutBase::Patch<dim+1> > & get_patches () const;
+    virtual const std::vector<DataOutBase::Patch<dim+1> > & get_patches () const;
 
 
                                     /**
@@ -417,7 +417,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * obtained by the output functions
                                      * of the base class.
                                      */
-    virtual vector<string> get_dataset_names () const;
+    virtual std::vector<std::string> get_dataset_names () const;
 };
 
 
index c207ebcab8771ff8deea1eb335ad2a07d8697fb9..734b459ccb475ecd2aca4f89356ea7875a4fb60e 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -405,7 +405,7 @@ class DerivativeApproximation
                                      * a certain thread shall
                                      * operate.
                                      */
-    typedef pair<unsigned int,unsigned int> IndexInterval;
+    typedef std::pair<unsigned int,unsigned int> IndexInterval;
 
                                     /**
                                      * Kind of the main function of
index 85ee4acea348418745a606fec3f51723b723ecf0..8d8dfa986d270f9c4027674585cc5a31f0f79548 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -61,7 +61,7 @@ class DoFPrintSolverStep : public SOLVER
     DoFPrintSolverStep (SolverControl& control,
                        VectorMemory<VECTOR>& mem,
                        DataOut<dim>& data_out,
-                       const string& basename);
+                       const std::string& basename);
 
                                     /**
                                      * Call-back function for the
@@ -80,7 +80,7 @@ class DoFPrintSolverStep : public SOLVER
                                     /**
                                      * Base of filenames.
                                      */
-    const string basename;
+    const std::string basename;
 };
 
 
@@ -90,7 +90,7 @@ template<int dim, class SOLVER, class VECTOR>
 DoFPrintSolverStep<dim, SOLVER, VECTOR>::DoFPrintSolverStep (SolverControl& control,
                                                             VectorMemory<VECTOR>& mem,
                                                             DataOut<dim>& data_out,
-                                                            const string& basename)
+                                                            const std::string& basename)
                : SOLVER (control, mem),
                  out (data_out),
                  basename (basename)
@@ -114,12 +114,12 @@ DoFPrintSolverStep<dim, SOLVER, VECTOR>::print_vectors (const unsigned int step,
           << setw(3) << setfill('0') << step
           << out.default_suffix() << ends;
 
-  const string fname = filename.str();
+  const std::string fname = filename.str();
 
-  deallog << "Writing file:" << fname << endl;
+  deallog << "Writing file:" << fname << std::endl;
 
   out.build_patches();
-  ofstream of (fname.c_str());
+  std::ofstream of (fname.c_str());
   out.write (of);
 }
 
index a3b9907e4859474674eab1963062a84ec597dffa..eb54015e3f3dbd6ad626ddcf51fd5611a368e4d7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -208,7 +208,7 @@ class DoFRenumbering
     Cuthill_McKee (DoFHandler<dim>            &dof_handler,
                   const bool                  reversed_numbering = false,
                   const bool                  use_constraints    = false,
-                  const vector<unsigned int> &starting_indices   = vector<unsigned int>());
+                  const std::vector<unsigned int> &starting_indices   = std::vector<unsigned int>());
 
                                     /**
                                      * Renumber the degrees of freedom
@@ -234,7 +234,7 @@ class DoFRenumbering
     Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
                   const unsigned int          level,
                   const bool                  reversed_numbering = false,
-                  const vector<unsigned int> &starting_indices   = vector<unsigned int> ());
+                  const std::vector<unsigned int> &starting_indices   = std::vector<unsigned int> ());
 
                                     /**
                                      * Sort the degrees of freedom by
@@ -272,7 +272,7 @@ class DoFRenumbering
     template <int dim>
     static void
     component_wise (DoFHandler<dim>            &dof_handler,
-                   const vector<unsigned int> &component_order = vector<unsigned int>());
+                   const std::vector<unsigned int> &component_order = std::vector<unsigned int>());
 
                                     /**
                                      * Cell-wise renumbering for DG
@@ -296,7 +296,7 @@ class DoFRenumbering
     template <int dim>
     static void
     cell_wise_dg (DoFHandler<dim>                     &dof_handler,
-                 const vector<typename DoFHandler<dim>::cell_iterator> &cell_order);
+                 const std::vector<typename DoFHandler<dim>::cell_iterator> &cell_order);
     
 
                                     /**
@@ -309,7 +309,7 @@ class DoFRenumbering
     static void
     cell_wise_dg (MGDoFHandler<dim>                                       &dof_handler,
                  const unsigned int                                       level,
-                 const vector<typename MGDoFHandler<dim>::cell_iterator> &cell_order);
+                 const std::vector<typename MGDoFHandler<dim>::cell_iterator> &cell_order);
     
 
                                     /**
@@ -372,8 +372,8 @@ class DoFRenumbering
                                      */
     template <int dim>
     static void
-    sort_selected_dofs_back (DoFHandler<dim>    &dof_handler,
-                            const vector<bool> &selected_dofs);
+    sort_selected_dofs_back (DoFHandler<dim>         &dof_handler,
+                            const std::vector<bool> &selected_dofs);
 
                                     /**
                                      * Renumber the degrees of
index 3f0e5a6dd9efdaecfc4abf40c1e6d8896ff05d80..ac602729d2837cf41a0de12deed724f147c9d579 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -216,7 +216,7 @@ class KellyErrorEstimator
                                      * for each boundary indicator, which is
                                      * guaranteed by the @p{map} data type.
                                      */    
-    typedef map<unsigned char,const Function<dim>*> FunctionMap;
+    typedef std::map<unsigned char,const Function<dim>*> FunctionMap;
 
 
                                     /**
@@ -274,7 +274,7 @@ class KellyErrorEstimator
                          const FunctionMap       &neumann_bc,
                          const Vector<double>    &solution,
                          Vector<float>           &error,
-                         const vector<bool>      &component_mask = vector<bool>(),
+                         const std::vector<bool> &component_mask = std::vector<bool>(),
                          const Function<dim>     *coefficients   = 0,
                          unsigned int             n_threads = multithread_info.n_default_threads);
 
@@ -308,9 +308,9 @@ class KellyErrorEstimator
     static void estimate (const DoFHandler<dim>               &dof,
                          const Quadrature<dim-1>             &quadrature,
                          const FunctionMap                   &neumann_bc,
-                         const vector<const Vector<double>*> &solutions,
-                         vector<Vector<float>*>              &errors,
-                         const vector<bool>                  &component_mask = vector<bool>(),
+                         const std::vector<const Vector<double>*> &solutions,
+                         std::vector<Vector<float>*>              &errors,
+                         const std::vector<bool>                  &component_mask = std::vector<bool>(),
                          const Function<dim>                 *coefficients   = 0,
                          unsigned int                         n_threads = multithread_info.n_default_threads);
 
@@ -359,7 +359,7 @@ class KellyErrorEstimator
                                      * general documentation of this
                                      * class for more information.
                                      */
-    typedef map<typename DoFHandler<dim>::face_iterator,vector<double> > FaceIntegrals;
+    typedef std::map<typename DoFHandler<dim>::face_iterator,std::vector<double> > FaceIntegrals;
 
 
                                     /**
@@ -418,8 +418,8 @@ class KellyErrorEstimator
        const DoFHandler<dim>               &dof_handler;
        const Quadrature<dim-1>             &quadrature;
        const FunctionMap                   &neumann_bc;
-       const vector<const Vector<double>*> &solutions;
-       const vector<bool>                   component_mask;
+       const std::vector<const Vector<double>*> &solutions;
+       const std::vector<bool>                   component_mask;
        const Function<dim>                 *coefficients;
        const unsigned int                   n_threads;
        const unsigned int                   n_solution_vectors;
@@ -447,7 +447,7 @@ class KellyErrorEstimator
                                          * synchronisation makes
                                          * things even slower.
                                          */ 
-       vector<vector<vector<double> > >         phi;
+       std::vector<std::vector<std::vector<double> > >         phi;
 
                                         /**
                                          * A vector for the gradients of
@@ -465,18 +465,18 @@ class KellyErrorEstimator
                                          * index of the solution
                                          * vector.
                                          */
-       vector<vector<vector<Tensor<1,dim> > > > psi;
+       std::vector<std::vector<std::vector<Tensor<1,dim> > > > psi;
 
                                         /**
                                          * The same vector for a neighbor cell
                                          */
-       vector<vector<vector<Tensor<1,dim> > > > neighbor_psi;
+       std::vector<std::vector<std::vector<Tensor<1,dim> > > > neighbor_psi;
 
                                         /**
                                          * The normal vectors of the finite
                                          * element function on one face
                                          */
-       vector<Point<dim> > normal_vectors;
+       std::vector<Point<dim> > normal_vectors;
 
                                         /**
                                          * Two arrays needed for the
@@ -484,8 +484,8 @@ class KellyErrorEstimator
                                          * the jumps, if they are
                                          * given.
                                          */
-       vector<double>          coefficient_values1;
-       vector<Vector<double> > coefficient_values;
+       std::vector<double>          coefficient_values1;
+       std::vector<Vector<double> > coefficient_values;
 
                                         /**
                                          * Array for the products of
@@ -493,7 +493,7 @@ class KellyErrorEstimator
                                          * weights of quadraturs
                                          * points.
                                          */
-       vector<double>          JxW_values;
+       std::vector<double>          JxW_values;
 
                                         /**
                                          * A constructor of the
@@ -503,8 +503,8 @@ class KellyErrorEstimator
        Data(const DoFHandler<dim>               &dof,
             const Quadrature<dim-1>             &quadrature,
             const FunctionMap                   &neumann_bc,
-            const vector<const Vector<double>*> &solutions,
-            const vector<bool>                  &component_mask,
+            const std::vector<const Vector<double>*> &solutions,
+            const std::vector<bool>                  &component_mask,
             const Function<dim>                 *coefficients,
             const unsigned int                   n_threads,
             FaceIntegrals                       &face_integrals);
index 6fbbf38342f5173ed18f6ef2d1e4245b00683683..ee4cf459e93f85d678251c71a1146e7444c2b946 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -109,10 +109,10 @@ class Histogram
                                      * on this.
                                      */
     template <typename number>
-    void evaluate (const vector<Vector<number> > &values,
-                  const vector<double>          &y_values,
-                  const unsigned int             n_intervals,
-                  const IntervalSpacing          interval_spacing = linear);
+    void evaluate (const std::vector<Vector<number> > &values,
+                  const std::vector<double>          &y_values,
+                  const unsigned int                  n_intervals,
+                  const IntervalSpacing               interval_spacing = linear);
 
                                     /**
                                      * This function is only a wrapper
@@ -131,14 +131,14 @@ class Histogram
                                      * the GNUPLOT program. The function
                                      * generates 2d or 3d histograms.
                                      */
-    void write_gnuplot (ostream &out) const;
+    void write_gnuplot (std::ostream &out) const;
 
                                     /**
                                      * Return allowed names for the interval
                                      * spacing as string. At present this
                                      * is "linear|logarithmic".
                                      */
-    static string get_interval_spacing_names ();
+    static std::string get_interval_spacing_names ();
 
                                     /**
                                      * Get a string containing one of the
@@ -147,7 +147,7 @@ class Histogram
                                      * @p{IntervalSpacing}. Throw an error
                                      * if the string is no valid one.
                                      */
-    static IntervalSpacing parse_interval_spacing (const string &name);
+    static IntervalSpacing parse_interval_spacing (const std::string &name);
     
                                     /**
                                      * Determine an estimate for the
@@ -179,7 +179,7 @@ class Histogram
                                      * Exception.
                                      */
     DeclException1 (ExcInvalidName,
-                   string,
+                   std::string,
                    << "The given name <" << arg1
                    << "> does not match any of the known formats.");
     
@@ -248,14 +248,14 @@ class Histogram
                                      * for each data set given to the
                                      * @p{evaluate} function.
                                      */
-    vector<vector<Interval> > intervals;
+    std::vector<std::vector<Interval> > intervals;
 
                                     /**
                                      * Values for the depth axis of 3d
                                      * histograms. Stored in the @p{evaluate}
                                      * function.
                                      */
-    vector<double>            y_values;
+    std::vector<double>            y_values;
 };
 
 
index c8be9c7cb290a5cb1eacac760f032ad7d67d774a..6ce4fecfbb2094fa08c181353d6b309d49d9ccec 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -196,7 +196,7 @@ class MatrixCreator
                                      * See the general documentation of this
                                      * class for more detail.
                                      */
-    typedef map<unsigned char,const Function<dim>*> FunctionMap;
+    typedef std::map<unsigned char,const Function<dim>*> FunctionMap;
 
                                     /**
                                      * Assemble the mass matrix. If no 
@@ -285,7 +285,7 @@ class MatrixCreator
                                             SparseMatrix<double>     &matrix,
                                             const FunctionMap        &rhs,
                                             Vector<double>           &rhs_vector,
-                                            vector<unsigned int>     &vec_to_dof_mapping,
+                                            std::vector<unsigned int>&vec_to_dof_mapping,
                                             const Function<dim>      *a = 0);
 
                                     /**
@@ -442,7 +442,7 @@ class MatrixTools : public MatrixCreator<dim>
                                      */
     template <typename number>
     static void
-    apply_boundary_values (const map<unsigned int,double> &boundary_values,
+    apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
                           SparseMatrix<number>  &matrix,
                           Vector<number>        &solution,
                           Vector<number>        &right_hand_side,
@@ -458,7 +458,7 @@ class MatrixTools : public MatrixCreator<dim>
                                      * matrices and block vectors
                                      */
     static void
-    apply_boundary_values (const map<unsigned int,double> &boundary_values,
+    apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
                           BlockSparseMatrix<double> &matrix,
                           BlockVector<double> &solution,
                           BlockVector<double> &right_hand_side,
index 90657955f0ca84cda93bee80ca1d8925365d1dcc..fb5f38186848355a63267165d284d1290edc935f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -202,7 +202,7 @@ class SolutionTransfer
                                      * onto the new (refined and/or
                                      * coarsenend) grid.
                                      */
-    void prepare_for_coarsening_and_refinement (const vector<Vector<number> > &all_in);
+    void prepare_for_coarsening_and_refinement (const std::vector<Vector<number> > &all_in);
     
                                     /**
                                      * Same as previous function
@@ -266,8 +266,8 @@ class SolutionTransfer
                                      * several functions can be
                                      * performed in one step.
                                      */
-    void interpolate (const vector<Vector<number> >&all_in,
-                     vector<Vector<number> >      &all_out) const;
+    void interpolate (const std::vector<Vector<number> >&all_in,
+                     std::vector<Vector<number> >      &all_out) const;
       
                                     /**
                                      * Same as the previous function.
@@ -369,7 +369,7 @@ class SolutionTransfer
                                      * and stores all dof indices
                                      * of the cells that'll be refined
                                      */
-    vector<vector<unsigned int> > indices_on_cell;
+    std::vector<std::vector<unsigned int> > indices_on_cell;
 
                                     /**
                                      * All cell data (the dof indices and
@@ -393,8 +393,8 @@ class SolutionTransfer
     struct Pointerstruct {
        unsigned int memory_consumption () const;
        
-       vector<unsigned int>    *indices_ptr;
-       vector<Vector<number> > *dof_values_ptr;
+       std::vector<unsigned int>    *indices_ptr;
+       std::vector<Vector<number> > *dof_values_ptr;
     };
 
                                     /**
@@ -406,7 +406,7 @@ class SolutionTransfer
                                      * collecting all these structures in a vector
                                      * helps avoiding fraqmentation of the memory.
                                      */
-    vector<Pointerstruct> all_pointerstructs;
+    std::vector<Pointerstruct> all_pointerstructs;
 
                                     /**
                                      * Is used for
@@ -415,7 +415,7 @@ class SolutionTransfer
                                      * of all cells that'll be coarsened
                                      * will be stored in this vector.
                                      */
-    vector<vector<Vector<number> > > dof_values_on_cell;
+    std::vector<std::vector<Vector<number> > > dof_values_on_cell;
 };
 
 
index ca343f45251c7874909478863bd9602d004442c5..8da611d0eaa28be65176c171246a3fdaa6a1faa1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -693,7 +693,7 @@ class TimeDependent
                                      * objects pointed to by the pointers
                                      * in this collection.
                                      */
-    vector<TimeStepBase*> timesteps;
+    std::vector<TimeStepBase*> timesteps;
 
                                     /**
                                      * Number of the present sweep. This is
@@ -1404,12 +1404,12 @@ class TimeStepBase_Tria :  public TimeStepBase
                                      * vectors therefore hold the history
                                      * of the grid.
                                      */
-    vector<vector<bool> >   refine_flags;
+    std::vector<std::vector<bool> >   refine_flags;
 
                                     /**
                                      * @see refine_flags
                                      */
-    vector<vector<bool> >   coarsen_flags;
+    std::vector<std::vector<bool> >   coarsen_flags;
 
                                     /**
                                      * Restore the grid according to the saved
@@ -1627,7 +1627,7 @@ struct TimeStepBase_Tria<dim>::RefinementFlags
                                      * See the general description of this
                                      * class for more information.
                                      */
-    typedef vector<vector<pair<unsigned int, double> > >   CorrectionRelaxations;
+    typedef std::vector<std::vector<std::pair<unsigned int, double> > >   CorrectionRelaxations;
 
                                     /**
                                      * Default values for the relaxations:
@@ -1699,7 +1699,7 @@ struct TimeStepBase_Tria<dim>::RefinementFlags
                                      * List of relaxations to the correction
                                      * step.
                                      */
-    const vector<vector<pair<unsigned int,double> > > correction_relaxations;
+    const std::vector<std::vector<std::pair<unsigned int,double> > > correction_relaxations;
     
                                     /**
                                      * Number of iterations to be performed
index 718489b4cdfaab13475ee7087a46a45f7d085b44..04607f171469ba8707be97939552ad7e0aef615d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -414,8 +414,8 @@ class VectorTools
     static void interpolate_boundary_values (const DoFHandler<dim>    &dof,
                                             const unsigned char       boundary_component,
                                             const Function<dim>      &boundary_function,
-                                            map<unsigned int,double> &boundary_values,
-                                            const vector<bool>       &component_mask = vector<bool>());
+                                            std::map<unsigned int,double> &boundary_values,
+                                            const std::vector<bool>       &component_mask = std::vector<bool>());
 
 //TODO: Update project_boundary_values for more components
 //TODO: Replace FunctionMap
@@ -440,9 +440,9 @@ class VectorTools
                                      */
     template <int dim>
     static void project_boundary_values (const DoFHandler<dim>    &dof,
-                                        const map<unsigned char,const Function<dim>*> &boundary_function,
+                                        const std::map<unsigned char,const Function<dim>*> &boundary_function,
                                         const Quadrature<dim-1>  &q,
-                                        map<unsigned int,double> &boundary_values);
+                                        std::map<unsigned int,double> &boundary_values);
     
                                     /**
                                      * Compute the error of the finite element solution.
@@ -525,8 +525,8 @@ class VectorTools
                                      * be computed and later
                                      * subtracted.
                                      */
-    static void subtract_mean_value(Vector<double>     &v,
-                                   const vector<bool> &p_select);
+    static void subtract_mean_value(Vector<double>          &v,
+                                   const std::vector<bool> &p_select);
     
                                     /**
                                      * Compute the mean value of one
index c8723a907c9dfc8e10e6bce838302300f37c2fd7..419f253434865ebb37fadc84787dd9958142cde0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -109,7 +109,7 @@ distribute_local_to_global (const Vector<double> &local_source,
   const unsigned int n_dofs = local_source.size();
   
                                   // get indices of dofs
-  vector<unsigned int> dofs (n_dofs);
+  std::vector<unsigned int> dofs (n_dofs);
   get_dof_indices (dofs);
   
                                   // distribute cell vector
@@ -152,7 +152,7 @@ distribute_local_to_global (const FullMatrix<double> &local_source,
   const unsigned int n_dofs = local_source.m();
 
                                   // get indices of dofs
-  vector<unsigned int> dofs (n_dofs);
+  std::vector<unsigned int> dofs (n_dofs);
   get_dof_indices (dofs);
   
                                   // distribute cell matrix
@@ -181,7 +181,7 @@ DoFObjectAccessor<1,dim>::get_dof_values (const InputVector &values,
   
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line;
-  typename vector<number>::iterator next_local_value=local_values.begin();
+  typename Vector<number>::iterator next_local_value=local_values.begin();
   for (unsigned int vertex=0; vertex<2; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next_local_value++ = values(vertex_dof_index(vertex,d));
@@ -212,10 +212,10 @@ DoFObjectAccessor<1,dim>::set_dof_values (const Vector<number> &local_values,
   
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line;
-  typename vector<number>::const_iterator next_local_value=local_values.begin();
+  typename Vector<number>::const_iterator next_local_value=local_values.begin();
   for (unsigned int vertex=0; vertex<2; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
-       values(vertex_dof_index(vertex,d)) = *next_local_value++;
+      values(vertex_dof_index(vertex,d)) = *next_local_value++;
   for (unsigned int d=0; d<dofs_per_line; ++d)
     values(dof_index(d)) = *next_local_value++;
 
@@ -286,7 +286,7 @@ distribute_local_to_global (const Vector<double> &local_source,
   const unsigned int n_dofs = local_source.size();
 
                                   // get indices of dofs
-  vector<unsigned int> dofs (n_dofs);
+  std::vector<unsigned int> dofs (n_dofs);
   get_dof_indices (dofs);
   
                                   // distribute cell vector
@@ -318,7 +318,7 @@ distribute_local_to_global (const FullMatrix<double> &local_source,
   const unsigned int n_dofs = local_source.m();
 
                                   // get indices of dofs
-  vector<unsigned int> dofs (n_dofs);
+  std::vector<unsigned int> dofs (n_dofs);
   get_dof_indices (dofs);
   
                                   // distribute cell matrix
@@ -351,7 +351,7 @@ DoFObjectAccessor<2,dim>::get_dof_values (const InputVector &values,
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad;
-  typename vector<number>::iterator next_local_value=local_values.begin();
+  typename Vector<number>::iterator next_local_value=local_values.begin();
   for (unsigned int vertex=0; vertex<4; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next_local_value++ = values(vertex_dof_index(vertex,d));
@@ -389,7 +389,7 @@ DoFObjectAccessor<2,dim>::set_dof_values (const Vector<number> &local_values,
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad;
-  typename vector<number>::const_iterator next_local_value=local_values.begin();
+  typename Vector<number>::const_iterator next_local_value=local_values.begin();
   for (unsigned int vertex=0; vertex<4; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       values(vertex_dof_index(vertex,d)) = *next_local_value++;
@@ -451,7 +451,8 @@ void DoFObjectAccessor<3, dim>::set_vertex_dof_index (const unsigned int vertex,
 template <int dim>
 void DoFObjectAccessor<3, dim>::
 distribute_local_to_global (const Vector<double> &local_source,
-                           Vector<double>       &global_destination) const {
+                           Vector<double>       &global_destination) const
+{
   Assert (dof_handler != 0,
          typename DoFAccessor<dim>::ExcInvalidObject());
   Assert (dof_handler->selected_fe != 0,
@@ -467,7 +468,7 @@ distribute_local_to_global (const Vector<double> &local_source,
   const unsigned int n_dofs = local_source.size();
 
                                   // get indices of dofs
-  vector<unsigned int> dofs (n_dofs);
+  std::vector<unsigned int> dofs (n_dofs);
   get_dof_indices (dofs);
   
                                   // distribute cell vector
@@ -501,7 +502,7 @@ distribute_local_to_global (const FullMatrix<double> &local_source,
   const unsigned int n_dofs = local_source.m();
 
                                   // get indices of dofs
-  vector<unsigned int> dofs (n_dofs);
+  std::vector<unsigned int> dofs (n_dofs);
   get_dof_indices (dofs);
   
                                   // distribute cell matrix
@@ -533,7 +534,7 @@ DoFObjectAccessor<3,dim>::get_dof_values (const InputVector &values,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad,
                     dofs_per_hex    = dof_handler->get_fe().dofs_per_hex;
-  typename vector<number>::iterator next_local_value = local_values.begin();
+  typename Vector<number>::iterator next_local_value = local_values.begin();
   for (unsigned int vertex=0; vertex<GeometryInfo<3>::vertices_per_cell; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next_local_value++ = values(vertex_dof_index(vertex,d));
@@ -575,7 +576,7 @@ DoFObjectAccessor<3,dim>::set_dof_values (const Vector<number> &local_values,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad,
                     dofs_per_hex    = dof_handler->get_fe().dofs_per_hex;
-  typename vector<number>::const_iterator next_local_value=local_values.begin();
+  typename Vector<number>::const_iterator next_local_value=local_values.begin();
   for (unsigned int vertex=0; vertex<GeometryInfo<dim>::vertices_per_cell; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       values(vertex_dof_index(vertex,d)) = *next_local_value++;
index 07d40af78857ab4062e32fb9abf200291336aa6f..36996b2fd1bf7caa6de8b457b110ca380e414517 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -74,12 +74,12 @@ void ConstraintMatrix::add_entry (const unsigned int line,
 {
   Assert (sorted==false, ExcMatrixIsClosed());
 
-  vector<ConstraintLine>::iterator line_ptr;
-  const vector<ConstraintLine>::const_iterator start=lines.begin();
+  std::vector<ConstraintLine>::iterator line_ptr;
+  const std::vector<ConstraintLine>::const_iterator start=lines.begin();
                                   // the usual case is that the line where
                                   // a value is entered is the one we
                                   // added last, so we search backward
-  for (line_ptr=&lines.back(); line_ptr!=start; --line_ptr)
+  for (line_ptr=(lines.end()-1); line_ptr!=start; --line_ptr)
     if (line_ptr->line == line)
       break;
 
@@ -97,7 +97,7 @@ void ConstraintMatrix::add_entry (const unsigned int line,
                                   // in any case: exit the function if an
                                   // entry for this column already exists,
                                   // since we don't want to enter it twice
-  for (vector<pair<unsigned int,double> >::const_iterator p=line_ptr->entries.begin();
+  for (std::vector<std::pair<unsigned int,double> >::const_iterator p=line_ptr->entries.begin();
        p != line_ptr->entries.end(); ++p)
     if (p->first == column)
       {
@@ -106,22 +106,22 @@ void ConstraintMatrix::add_entry (const unsigned int line,
        return;
       };
   
-  line_ptr->entries.push_back (make_pair(column,value));
+  line_ptr->entries.push_back (std::make_pair(column,value));
 };
 
 
 
 void ConstraintMatrix::add_entries (const unsigned int                        line,
-                                   const vector<pair<unsigned int,double> > &col_val_pairs)
+                                   const std::vector<std::pair<unsigned int,double> > &col_val_pairs)
 {
   Assert (sorted==false, ExcMatrixIsClosed());
 
-  vector<ConstraintLine>::iterator line_ptr;
-  const vector<ConstraintLine>::const_iterator start=lines.begin();
+  std::vector<ConstraintLine>::iterator line_ptr;
+  const std::vector<ConstraintLine>::const_iterator start=lines.begin();
                                   // the usual case is that the line where
                                   // a value is entered is the one we
                                   // added last, so we search backward
-  for (line_ptr=&lines.back(); line_ptr!=start; --line_ptr)
+  for (line_ptr=(lines.end()-1); line_ptr!=start; --line_ptr)
     if (line_ptr->line == line)
       break;
 
@@ -140,10 +140,10 @@ void ConstraintMatrix::add_entries (const unsigned int                        li
                                   // an entry for this column already
                                   // exists, since we don't want to
                                   // enter it twice
-  for (vector<pair<unsigned int,double> >::const_iterator col_val_pair = col_val_pairs.begin();
+  for (std::vector<std::pair<unsigned int,double> >::const_iterator col_val_pair = col_val_pairs.begin();
        col_val_pair!=col_val_pairs.end(); ++col_val_pair)
     {
-      for (vector<pair<unsigned int,double> >::const_iterator p=line_ptr->entries.begin();
+      for (std::vector<std::pair<unsigned int,double> >::const_iterator p=line_ptr->entries.begin();
           p != line_ptr->entries.end(); ++p)
        if (p->first == col_val_pair->first)
          {
@@ -167,8 +167,8 @@ void ConstraintMatrix::close ()
 
                                   // sort the entries in the different lines
                                   // and strip zero entries
-  vector<ConstraintLine>::iterator line = lines.begin(),
-                                  endl = lines.end();
+  std::vector<ConstraintLine>::iterator line = lines.begin(),
+                                       endl = lines.end();
   for (; line!=endl; ++line)
     {
                                       // first remove zero
@@ -181,8 +181,8 @@ void ConstraintMatrix::close ()
                                       // 0*something can be omitted
       line->entries.erase (remove_if (line->entries.begin(),
                                      line->entries.end(),
-                                     compose1 (bind2nd (equal_to<double>(), 0),
-                                               select2nd<pair<unsigned int,double> >())),
+                                     std::compose1 (std::bind2nd (std::equal_to<double>(), 0),
+                                                    std::select2nd<std::pair<unsigned int,double> >())),
                            line->entries.end());
 
                                       // now sort the remainder
@@ -196,9 +196,9 @@ void ConstraintMatrix::close ()
                                   // if in debug mode: check that no
                                   // dof is constraint to another dof
                                   // that is also constrained
-  for (vector<ConstraintLine>::const_iterator line=lines.begin();
+  for (std::vector<ConstraintLine>::const_iterator line=lines.begin();
        line!=lines.end(); ++line)
-    for (vector<pair<unsigned int,double> >::const_iterator entry=line->entries.begin();
+    for (std::vector<std::pair<unsigned int,double> >::const_iterator entry=line->entries.begin();
         entry!=line->entries.end(); ++entry)
       {
                                         // make sure that
@@ -206,7 +206,7 @@ void ConstraintMatrix::close ()
                                         // index of a line itself
        ConstraintLine test_line;
        test_line.line = entry->first;
-       const vector<ConstraintLine>::const_iterator
+       const std::vector<ConstraintLine>::const_iterator
          test_line_position = lower_bound (lines.begin(),
                                            lines.end(),
                                            test_line);
@@ -224,7 +224,7 @@ void ConstraintMatrix::close ()
 
 void ConstraintMatrix::clear ()
 {
-  lines = vector<ConstraintLine>();
+  lines = std::vector<ConstraintLine>();
   sorted = false;
 };
 
@@ -243,12 +243,12 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed,
                                   // its new line number
                                   // after compression. If the shift is
                                   // -1, this line will be condensed away
-  vector<int> new_line;
+  std::vector<int> new_line;
 
   new_line.reserve (uncondensed.n_rows());
 
-  vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
-  unsigned int                           shift           = 0;
+  std::vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
+  unsigned int                                shift           = 0;
   unsigned int n_rows = uncondensed.n_rows();
 
   if (next_constraint == lines.end()) 
@@ -298,7 +298,7 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed,
          {
                                             // let c point to the constraint
                                             // of this column
-           vector<ConstraintLine>::const_iterator c = lines.begin();
+           std::vector<ConstraintLine>::const_iterator c = lines.begin();
            while (c->line != uncondensed.get_column_numbers()[j])
              ++c;
 
@@ -314,8 +314,8 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed,
          if (new_line[uncondensed.get_column_numbers()[j]] != -1)
                                             // column is not constrained
            for (unsigned int q=0; q!=next_constraint->entries.size(); ++q) 
-               condensed.add (new_line[next_constraint->entries[q].first],
-                              new_line[uncondensed.get_column_numbers()[j]]);
+             condensed.add (new_line[next_constraint->entries[q].first],
+                            new_line[uncondensed.get_column_numbers()[j]]);
        
          else
                                             // not only this line but
@@ -323,13 +323,13 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed,
            {
                                               // let c point to the constraint
                                               // of this column
-             vector<ConstraintLine>::const_iterator c = lines.begin();
+             std::vector<ConstraintLine>::const_iterator c = lines.begin();
              while (c->line != uncondensed.get_column_numbers()[j]) ++c;
              
              for (unsigned int p=0; p!=c->entries.size(); ++p)
                for (unsigned int q=0; q!=next_constraint->entries.size(); ++q)
-                   condensed.add (new_line[next_constraint->entries[q].first],
-                                  new_line[c->entries[p].first]);
+                 condensed.add (new_line[next_constraint->entries[q].first],
+                                new_line[c->entries[p].first]);
            };
        
        ++next_constraint;
@@ -353,7 +353,7 @@ void ConstraintMatrix::condense (SparsityPattern &sparsity) const
                                   // otherwise, the number states which
                                   // line in the constraint matrix handles
                                   // this index
-  vector<int> distribute(sparsity.n_rows(), -1);
+  std::vector<int> distribute(sparsity.n_rows(), -1);
   
   for (unsigned int c=0; c<lines.size(); ++c)
     distribute[lines[c].line] = static_cast<signed int>(c);
@@ -442,7 +442,7 @@ void ConstraintMatrix::condense (BlockSparsityPattern &sparsity) const
                                   // otherwise, the number states which
                                   // line in the constraint matrix handles
                                   // this index
-  vector<int> distribute (sparsity.n_rows(), -1);
+  std::vector<int> distribute (sparsity.n_rows(), -1);
   
   for (unsigned int c=0; c<lines.size(); ++c)
     distribute[lines[c].line] = static_cast<signed int>(c);
@@ -452,7 +452,7 @@ void ConstraintMatrix::condense (BlockSparsityPattern &sparsity) const
     {
                                       // get index of this row
                                       // within the blocks
-      const pair<unsigned int,unsigned int>
+      const std::pair<unsigned int,unsigned int>
        block_index = index_mapping.global_to_local(row);
       const unsigned int block_row = block_index.first;
       
@@ -584,7 +584,7 @@ bool ConstraintMatrix::is_constrained (const unsigned int index) const
     }
   else
     {
-      for (vector<ConstraintLine>::const_iterator i=lines.begin();
+      for (std::vector<ConstraintLine>::const_iterator i=lines.begin();
           i!=lines.end(); ++i)
        if (i->line == index)
          return true;
@@ -598,26 +598,26 @@ bool ConstraintMatrix::is_constrained (const unsigned int index) const
 unsigned int ConstraintMatrix::max_constraint_indirections () const 
 {
   unsigned int return_value = 0;
-  for (vector<ConstraintLine>::const_iterator i=lines.begin();
+  for (std::vector<ConstraintLine>::const_iterator i=lines.begin();
        i!=lines.end(); ++i)
                                     // use static cast, since
                                     // typeof(size)==size_t, which is
                                     // != unsigned int on AIX
-    return_value = max(return_value,
-                      static_cast<unsigned int>(i->entries.size()));
+    return_value = std::max(return_value,
+                           static_cast<unsigned int>(i->entries.size()));
 
   return return_value;
 };
 
     
 
-void ConstraintMatrix::print (ostream &out) const
+void ConstraintMatrix::print (std::ostream &out) const
 {
   for (unsigned int i=0; i!=lines.size(); ++i)
     for (unsigned int j=0; j!=lines[i].entries.size(); ++j)
       out << "    " << lines[i].line
          << " " << lines[i].entries[j].first
-         << ":  " << lines[i].entries[j].second << endl;
+         << ":  " << lines[i].entries[j].second << std::endl;
 
   AssertThrow (out, ExcIO());
 };
index 8a341bd9790f51adf99ecc39e1c82aeec1755e7b..2c3046c3b4c173c610dd3c2eb442f698e27533e3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -1169,10 +1169,10 @@ unsigned int DoFHandler<dim>::n_boundary_dofs () const
 {
   Assert (selected_fe != 0, ExcNoFESelected());
   
-  set<int> boundary_dofs;
+  std::set<int> boundary_dofs;
 
   const unsigned int dofs_per_face = selected_fe->dofs_per_face;
-  vector<unsigned int> dofs_on_face(dofs_per_face);
+  std::vector<unsigned int> dofs_on_face(dofs_per_face);
   active_face_iterator face = begin_active_face (),
                       endf = end_face();
   for (; face!=endf; ++face)
@@ -1195,10 +1195,10 @@ DoFHandler<dim>::n_boundary_dofs (const FunctionMap &boundary_indicators) const
   Assert (boundary_indicators.find(255) == boundary_indicators.end(),
          ExcInvalidBoundaryIndicator());
   
-  set<int> boundary_dofs;
+  std::set<int> boundary_dofs;
 
   const unsigned int dofs_per_face = selected_fe->dofs_per_face;
-  vector<unsigned int> dofs_on_face(dofs_per_face);
+  std::vector<unsigned int> dofs_on_face(dofs_per_face);
   active_face_iterator face = begin_active_face (),
                       endf = end_face();
   for (; face!=endf; ++face)
@@ -1216,16 +1216,16 @@ DoFHandler<dim>::n_boundary_dofs (const FunctionMap &boundary_indicators) const
 
 template <int dim>
 unsigned int
-DoFHandler<dim>::n_boundary_dofs (const set<unsigned char> &boundary_indicators) const
+DoFHandler<dim>::n_boundary_dofs (const std::set<unsigned char> &boundary_indicators) const
 {
   Assert (selected_fe != 0, ExcNoFESelected());
   Assert (boundary_indicators.find (255) == boundary_indicators.end(),
          ExcInvalidBoundaryIndicator());
   
-  set<int> boundary_dofs;
+  std::set<int> boundary_dofs;
 
   const unsigned int dofs_per_face = selected_fe->dofs_per_face;
-  vector<unsigned int> dofs_on_face(dofs_per_face);
+  std::vector<unsigned int> dofs_on_face(dofs_per_face);
   active_face_iterator face = begin_active_face (),
                       endf = end_face();
   for (; face!=endf; ++face)
@@ -1317,14 +1317,14 @@ unsigned int DoFHandler<1>::distribute_dofs_on_cell (active_cell_iterator &cell,
 
       if (neighbor.state() == valid)
        {
-                                        // find true neighbor; may be its
-                                        // a child of @p{neighbor}
+                                          // find true neighbor; may be its
+                                          // a child of @p{neighbor}
          while (neighbor->has_children())
            neighbor = neighbor->child(v==0 ? 1 : 0);
 
                                           // has neighbor already been processed?
          if (neighbor->user_flag_set())
-                                          // copy dofs
+                                            // copy dofs
            {
              if (v==0) 
                for (unsigned int d=0; d<selected_fe->dofs_per_vertex; ++d)
@@ -1468,16 +1468,17 @@ unsigned int DoFHandler<3>::distribute_dofs_on_cell (active_cell_iterator &cell,
 #if deal_II_dimension == 1
 
 template <>
-void DoFHandler<1>::renumber_dofs (const vector<unsigned int> &new_numbers) {
+void DoFHandler<1>::renumber_dofs (const std::vector<unsigned int> &new_numbers)
+{
   Assert (new_numbers.size() == n_dofs(), ExcRenumberingIncomplete());
 #ifdef DEBUG
                                   // assert that the new indices are
                                   // consecutively numbered
   if (true)
     {
-      vector<unsigned int> tmp(new_numbers);
+      std::vector<unsigned int> tmp(new_numbers);
       sort (tmp.begin(), tmp.end());
-      vector<unsigned int>::const_iterator p = tmp.begin();
+      std::vector<unsigned int>::const_iterator p = tmp.begin();
       unsigned int                         i = 0;
       for (; p!=tmp.end(); ++p, ++i)
        Assert (*p == i, ExcNewNumbersNotConsecutive(i));
@@ -1492,7 +1493,7 @@ void DoFHandler<1>::renumber_dofs (const vector<unsigned int> &new_numbers) {
                                   // faster; note, however, that dof numbers
                                   // may be invalid_dof_index, namely when the appropriate
                                   // vertex/line/etc is unused
-  for (vector<unsigned int>::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i)
+  for (std::vector<unsigned int>::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i)
     if (*i != invalid_dof_index)
       *i = new_numbers[*i];
     else
@@ -1503,7 +1504,7 @@ void DoFHandler<1>::renumber_dofs (const vector<unsigned int> &new_numbers) {
              ExcInternalError ());
   
   for (unsigned int level=0; level<levels.size(); ++level) 
-    for (vector<unsigned int>::iterator i=levels[level]->line_dofs.begin();
+    for (std::vector<unsigned int>::iterator i=levels[level]->line_dofs.begin();
         i!=levels[level]->line_dofs.end(); ++i)
       if (*i != invalid_dof_index)
        *i = new_numbers[*i];
@@ -1515,16 +1516,17 @@ void DoFHandler<1>::renumber_dofs (const vector<unsigned int> &new_numbers) {
 #if deal_II_dimension == 2
 
 template <>
-void DoFHandler<2>::renumber_dofs (const vector<unsigned int> &new_numbers) {
+void DoFHandler<2>::renumber_dofs (const std::vector<unsigned int> &new_numbers)
+{
   Assert (new_numbers.size() == n_dofs(), ExcRenumberingIncomplete());
 #ifdef DEBUG
                                   // assert that the new indices are
                                   // consecutively numbered
   if (true)
     {
-      vector<unsigned int> tmp(new_numbers);
+      std::vector<unsigned int> tmp(new_numbers);
       sort (tmp.begin(), tmp.end());
-      vector<unsigned int>::const_iterator p = tmp.begin();
+      std::vector<unsigned int>::const_iterator p = tmp.begin();
       unsigned int                         i = 0;
       for (; p!=tmp.end(); ++p, ++i)
        Assert (*p == i, ExcNewNumbersNotConsecutive(i));
@@ -1539,7 +1541,7 @@ void DoFHandler<2>::renumber_dofs (const vector<unsigned int> &new_numbers) {
                                   // faster; note, however, that dof numbers
                                   // may be invalid_dof_index, namely when the appropriate
                                   // vertex/line/etc is unused
-  for (vector<unsigned int>::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i)
+  for (std::vector<unsigned int>::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i)
     if (*i != invalid_dof_index)
       *i = new_numbers[*i];
     else
@@ -1551,11 +1553,11 @@ void DoFHandler<2>::renumber_dofs (const vector<unsigned int> &new_numbers) {
   
   for (unsigned int level=0; level<levels.size(); ++level) 
     {
-      for (vector<unsigned int>::iterator i=levels[level]->line_dofs.begin();
+      for (std::vector<unsigned int>::iterator i=levels[level]->line_dofs.begin();
           i!=levels[level]->line_dofs.end(); ++i)
        if (*i != invalid_dof_index)
          *i = new_numbers[*i];
-      for (vector<unsigned int>::iterator i=levels[level]->quad_dofs.begin();
+      for (std::vector<unsigned int>::iterator i=levels[level]->quad_dofs.begin();
           i!=levels[level]->quad_dofs.end(); ++i)
        if (*i != invalid_dof_index)
          *i = new_numbers[*i];
@@ -1568,17 +1570,18 @@ void DoFHandler<2>::renumber_dofs (const vector<unsigned int> &new_numbers) {
 #if deal_II_dimension == 3
 
 template <>
-void DoFHandler<3>::renumber_dofs (const vector<unsigned int> &new_numbers) {
+void DoFHandler<3>::renumber_dofs (const std::vector<unsigned int> &new_numbers)
+{
   Assert (new_numbers.size() == n_dofs(), ExcRenumberingIncomplete());
 #ifdef DEBUG
                                   // assert that the new indices are
                                   // consecutively numbered
   if (true)
     {
-      vector<unsigned int> tmp(new_numbers);
+      std::vector<unsigned int> tmp(new_numbers);
       sort (tmp.begin(), tmp.end());
-      vector<unsigned int>::const_iterator p = tmp.begin();
-      unsigned int                         i = 0;
+      std::vector<unsigned int>::const_iterator p = tmp.begin();
+      unsigned int                              i = 0;
       for (; p!=tmp.end(); ++p, ++i)
        Assert (*p == i, ExcNewNumbersNotConsecutive(i));
     };
@@ -1592,7 +1595,7 @@ void DoFHandler<3>::renumber_dofs (const vector<unsigned int> &new_numbers) {
                                   // faster; note, however, that dof numbers
                                   // may be invalid_dof_index, namely when the appropriate
                                   // vertex/line/etc is unused
-  for (vector<unsigned int>::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i)
+  for (std::vector<unsigned int>::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i)
     if (*i != invalid_dof_index)
       *i = new_numbers[*i];
     else
@@ -1604,15 +1607,15 @@ void DoFHandler<3>::renumber_dofs (const vector<unsigned int> &new_numbers) {
   
   for (unsigned int level=0; level<levels.size(); ++level) 
     {
-      for (vector<unsigned int>::iterator i=levels[level]->line_dofs.begin();
+      for (std::vector<unsigned int>::iterator i=levels[level]->line_dofs.begin();
           i!=levels[level]->line_dofs.end(); ++i)
        if (*i != invalid_dof_index)
          *i = new_numbers[*i];
-      for (vector<unsigned int>::iterator i=levels[level]->quad_dofs.begin();
+      for (std::vector<unsigned int>::iterator i=levels[level]->quad_dofs.begin();
           i!=levels[level]->quad_dofs.end(); ++i)
        if (*i != invalid_dof_index)
          *i = new_numbers[*i];
-      for (vector<unsigned int>::iterator i=levels[level]->hex_dofs.begin();
+      for (std::vector<unsigned int>::iterator i=levels[level]->hex_dofs.begin();
           i!=levels[level]->hex_dofs.end(); ++i)
        if (*i != invalid_dof_index)
          *i = new_numbers[*i];
@@ -1627,7 +1630,8 @@ void DoFHandler<3>::renumber_dofs (const vector<unsigned int> &new_numbers) {
 template <>
 unsigned int DoFHandler<1>::max_couplings_between_dofs () const {
   Assert (selected_fe != 0, ExcNoFESelected());
-  return min(3*selected_fe->dofs_per_vertex + 2*selected_fe->dofs_per_line, n_dofs());
+  return std::min(3*selected_fe->dofs_per_vertex +
+                 2*selected_fe->dofs_per_line, n_dofs());
 };
 
 
@@ -1700,7 +1704,7 @@ unsigned int DoFHandler<2>::max_couplings_between_dofs () const {
            Assert (false, ExcNotImplemented());
            max_couplings=0;
     };
-  return(min(max_couplings,n_dofs()));
+  return std::min(max_couplings,n_dofs());
 };
 
 
@@ -1742,7 +1746,7 @@ unsigned int DoFHandler<3>::max_couplings_between_dofs () const {
       max_couplings=0;
     }
   
-  return min(max_couplings,n_dofs());
+  return std::min(max_couplings,n_dofs());
 };
 
 
@@ -1784,17 +1788,17 @@ void DoFHandler<1>::reserve_space () {
                                    // their size
   clear_space ();
   
-  vertex_dofs = vector<unsigned int>(tria->vertices.size()*
-                                    selected_fe->dofs_per_vertex,
-                                    invalid_dof_index);
+  vertex_dofs = std::vector<unsigned int>(tria->vertices.size()*
+                                         selected_fe->dofs_per_vertex,
+                                         invalid_dof_index);
     
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new DoFLevel<1>);
 
-      levels.back()->line_dofs = vector<unsigned int>(tria->levels[i]->lines.lines.size() *
-                                                     selected_fe->dofs_per_line,
-                                                     invalid_dof_index);
+      levels.back()->line_dofs = std::vector<unsigned int>(tria->levels[i]->lines.lines.size() *
+                                                          selected_fe->dofs_per_line,
+                                                          invalid_dof_index);
     };
 };
 
@@ -1815,19 +1819,19 @@ void DoFHandler<2>::reserve_space () {
                                    // their size
   clear_space ();
   
-  vertex_dofs = vector<unsigned int>(tria->vertices.size()*
-                                    selected_fe->dofs_per_vertex,
-                                    invalid_dof_index);
+  vertex_dofs = std::vector<unsigned int>(tria->vertices.size()*
+                                         selected_fe->dofs_per_vertex,
+                                         invalid_dof_index);
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new DoFLevel<2>);
 
-      levels.back()->line_dofs = vector<unsigned int> (tria->levels[i]->lines.lines.size() *
-                                                      selected_fe->dofs_per_line,
-                                                      invalid_dof_index);
-      levels.back()->quad_dofs = vector<unsigned int> (tria->levels[i]->quads.quads.size() *
-                                                      selected_fe->dofs_per_quad,
-                                                      invalid_dof_index);
+      levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
+                                                           selected_fe->dofs_per_line,
+                                                           invalid_dof_index);
+      levels.back()->quad_dofs = std::vector<unsigned int> (tria->levels[i]->quads.quads.size() *
+                                                           selected_fe->dofs_per_quad,
+                                                           invalid_dof_index);
     };
 };
 
@@ -1847,22 +1851,22 @@ void DoFHandler<3>::reserve_space () {
                                    // their size
   clear_space ();
   
-  vertex_dofs = vector<unsigned int>(tria->vertices.size()*
-                                    selected_fe->dofs_per_vertex,
-                                    invalid_dof_index);
+  vertex_dofs = std::vector<unsigned int>(tria->vertices.size()*
+                                         selected_fe->dofs_per_vertex,
+                                         invalid_dof_index);
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new DoFLevel<3>);
 
-      levels.back()->line_dofs = vector<unsigned int> (tria->levels[i]->lines.lines.size() *
-                                                      selected_fe->dofs_per_line,
-                                                      invalid_dof_index);
-      levels.back()->quad_dofs = vector<unsigned int> (tria->levels[i]->quads.quads.size() *
-                                                      selected_fe->dofs_per_quad,
-                                                      invalid_dof_index);
-      levels.back()->hex_dofs = vector<unsigned int> (tria->levels[i]->hexes.hexes.size() *
-                                                     selected_fe->dofs_per_hex,
-                                                     invalid_dof_index);
+      levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
+                                                           selected_fe->dofs_per_line,
+                                                           invalid_dof_index);
+      levels.back()->quad_dofs = std::vector<unsigned int> (tria->levels[i]->quads.quads.size() *
+                                                           selected_fe->dofs_per_quad,
+                                                           invalid_dof_index);
+      levels.back()->hex_dofs = std::vector<unsigned int> (tria->levels[i]->hexes.hexes.size() *
+                                                          selected_fe->dofs_per_hex,
+                                                          invalid_dof_index);
     };
 };
 
index bbde931123daca00ebde48d4841645fb45eeebb7..9862b5200e58bc52170f0a5a642ccfe7664d4c3e 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index a10992d65e2892971d36042d1433a88af357f870..817c26896a3fc86d986e3235f5f7f832ad3ef00b 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 
 
 template <int dim>
-void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
-                                   const bool                  reversed_numbering,
-                                   const bool                  use_constraints,
-                                   const vector<unsigned int> &starting_indices)
+void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>                 &dof_handler,
+                                   const bool                       reversed_numbering,
+                                   const bool                       use_constraints,
+                                   const std::vector<unsigned int> &starting_indices)
 {
                                   // make the connection graph
   SparsityPattern sparsity (dof_handler.n_dofs(),
@@ -52,12 +52,13 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
   const unsigned int n_dofs = sparsity.n_rows();
                                   // store the new dof numbers; invalid_dof_index means
                                   // that no new number was chosen yet
-  vector<unsigned int> new_number(sparsity.n_rows(), DoFHandler<dim>::invalid_dof_index);
+  std::vector<unsigned int> new_number(sparsity.n_rows(),
+                                      DoFHandler<dim>::invalid_dof_index);
   
                                   // store the indices of the dofs renumbered
                                   // in the last round. Default to starting
                                   // points
-  vector<unsigned int> last_round_dofs (starting_indices);
+  std::vector<unsigned int> last_round_dofs (starting_indices);
   
                                   // delete disallowed elements
   for (unsigned int i=0; i<last_round_dofs.size(); ++i)
@@ -65,8 +66,9 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
        (last_round_dofs[i]>=n_dofs))
       last_round_dofs[i] = DoFHandler<dim>::invalid_dof_index;
   
-  remove_if (last_round_dofs.begin(), last_round_dofs.end(),
-            bind2nd(equal_to<unsigned int>(), DoFHandler<dim>::invalid_dof_index));
+  std::remove_if (last_round_dofs.begin(), last_round_dofs.end(),
+                 std::bind2nd(std::equal_to<unsigned int>(),
+                              DoFHandler<dim>::invalid_dof_index));
   
                                   // now if no valid points remain:
                                   // find dof with lowest coordination
@@ -130,7 +132,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
     {
                                       // store the indices of the dofs to be
                                       // renumbered in the next round
-      vector<unsigned int> next_round_dofs;
+      std::vector<unsigned int> next_round_dofs;
 
                                       // find all neighbors of the
                                       // dofs numbered in the last
@@ -147,7 +149,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
       sort (next_round_dofs.begin(), next_round_dofs.end());
 
                                       // delete multiple entries
-      vector<unsigned int>::iterator end_sorted;
+      std::vector<unsigned int>::iterator end_sorted;
       end_sorted = unique (next_round_dofs.begin(), next_round_dofs.end());
       next_round_dofs.erase (end_sorted, next_round_dofs.end());
 
@@ -155,7 +157,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
                                       // already numbered
       for (int s=next_round_dofs.size()-1; s>=0; --s)
        if (new_number[next_round_dofs[s]] != DoFHandler<dim>::invalid_dof_index)
-         next_round_dofs.erase (&next_round_dofs[s]);
+         next_round_dofs.erase (next_round_dofs.begin() + s);
 
                                       // check whether there are any new
                                       // dofs
@@ -168,11 +170,11 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
                                       // store for each coordination
                                       // number the dofs with these
                                       // coordination number
-      multimap<unsigned int, int> dofs_by_coordination;
+      std::multimap<unsigned int, int> dofs_by_coordination;
       
                                       // find coordination number for
                                       // each of these dofs
-      for (vector<unsigned int>::iterator s=next_round_dofs.begin();
+      for (std::vector<unsigned int>::iterator s=next_round_dofs.begin();
           s!=next_round_dofs.end(); ++s) 
        {
          unsigned int coordination = 0;
@@ -185,14 +187,14 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
 
                                           // insert this dof at its
                                           // coordination number
-         const pair<const unsigned int, int> new_entry (coordination, *s);
+         const std::pair<const unsigned int, int> new_entry (coordination, *s);
          dofs_by_coordination.insert (new_entry);
        };
       
                                       // assign new DoF numbers to
                                       // the elements of the present
                                       // front:
-      multimap<unsigned int, int>::iterator i;
+      std::multimap<unsigned int, int>::iterator i;
       for (i = dofs_by_coordination.begin(); i!=dofs_by_coordination.end(); ++i) 
        new_number[i->second] = next_free_number++;
 
@@ -229,7 +231,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
 #endif
 
   if (reversed_numbering)
-    for (vector<unsigned int>::iterator i=new_number.begin(); i!=new_number.end(); ++i)
+    for (std::vector<unsigned int>::iterator i=new_number.begin(); i!=new_number.end(); ++i)
       *i = n_dofs-*i;
 
                                   // actually perform renumbering;
@@ -240,10 +242,10 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler<dim>            &dof_handler,
 
 
 template <int dim>
-void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
-                                   const unsigned int          level,
-                                   const bool                  reversed_numbering,
-                                   const vector<unsigned int> &starting_indices)
+void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>               &dof_handler,
+                                   const unsigned int               level,
+                                   const bool                       reversed_numbering,
+                                   const std::vector<unsigned int> &starting_indices)
 {
                                   // make the connection graph
   SparsityPattern sparsity (dof_handler.n_dofs(level),
@@ -253,12 +255,12 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
   const unsigned int n_dofs = sparsity.n_rows();
                                   // store the new dof numbers; invalid_dof_index means
                                   // that no new number was chosen yet
-  vector<unsigned int> new_number(n_dofs, DoFHandler<dim>::invalid_dof_index);
+  std::vector<unsigned int> new_number(n_dofs, DoFHandler<dim>::invalid_dof_index);
   
                                   // store the indices of the dofs renumbered
                                   // in the last round. Default to starting
                                   // points
-  vector<unsigned int> last_round_dofs (starting_indices);
+  std::vector<unsigned int> last_round_dofs (starting_indices);
   
                                   // delete disallowed elements
   for (unsigned int i=0; i<last_round_dofs.size(); ++i)
@@ -266,8 +268,9 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
        (last_round_dofs[i]>=n_dofs))
       last_round_dofs[i] = DoFHandler<dim>::invalid_dof_index;
   
-  remove_if (last_round_dofs.begin(), last_round_dofs.end(),
-            bind2nd(equal_to<unsigned int>(), DoFHandler<dim>::invalid_dof_index));
+  std::remove_if (last_round_dofs.begin(), last_round_dofs.end(),
+                 std::bind2nd(std::equal_to<unsigned int>(),
+                              DoFHandler<dim>::invalid_dof_index));
   
                                   // now if no valid points remain:
                                   // find dof with lowest coordination
@@ -313,7 +316,7 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
     {
                                       // store the indices of the dofs to be
                                       // renumbered in the next round
-      vector<unsigned int> next_round_dofs;
+      std::vector<unsigned int> next_round_dofs;
 
                                       // find all neighbors of the
                                       // dofs numbered in the last
@@ -330,15 +333,15 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
       sort (next_round_dofs.begin(), next_round_dofs.end());
 
                                       // delete multiple entries
-      vector<unsigned int>::iterator end_sorted;
-      end_sorted = unique (next_round_dofs.begin(), next_round_dofs.end());
+      std::vector<unsigned int>::iterator end_sorted;
+      end_sorted = std::unique (next_round_dofs.begin(), next_round_dofs.end());
       next_round_dofs.erase (end_sorted, next_round_dofs.end());
 
                                       // eliminate dofs which are
                                       // already numbered
       for (int s=next_round_dofs.size()-1; s>=0; --s)
        if (new_number[next_round_dofs[s]] != DoFHandler<dim>::invalid_dof_index)
-         next_round_dofs.erase (&next_round_dofs[s]);
+         next_round_dofs.erase (next_round_dofs.begin() + s);
 
                                       // check whether there are any new
                                       // dofs
@@ -351,11 +354,11 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
                                       // store for each coordination
                                       // number the dofs with these
                                       // coordination number
-      multimap<unsigned int, int> dofs_by_coordination;
+      std::multimap<unsigned int, int> dofs_by_coordination;
       
                                       // find coordination number for
                                       // each of these dofs
-      for (vector<unsigned int>::iterator s=next_round_dofs.begin();
+      for (std::vector<unsigned int>::iterator s=next_round_dofs.begin();
           s!=next_round_dofs.end(); ++s) 
        {
          unsigned int coordination = 0;
@@ -368,12 +371,12 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
 
                                           // insert this dof at its
                                           // coordination number
-         const pair<const unsigned int, int> new_entry (coordination, *s);
+         const std::pair<const unsigned int, int> new_entry (coordination, *s);
          dofs_by_coordination.insert (new_entry);
        };
       
                                       ////
-      multimap<unsigned int, int>::iterator i;
+      std::multimap<unsigned int, int>::iterator i;
       for (i = dofs_by_coordination.begin(); i!=dofs_by_coordination.end(); ++i) 
        new_number[i->second] = next_free_number++;
 
@@ -394,7 +397,7 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
 #endif
 
   if (reversed_numbering)
-    for (vector<unsigned int>::iterator i=new_number.begin(); i!=new_number.end(); ++i)
+    for (std::vector<unsigned int>::iterator i=new_number.begin(); i!=new_number.end(); ++i)
       *i = n_dofs-*i;
 
                                   // actually perform renumbering;
@@ -406,8 +409,8 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler<dim>          &dof_handler,
 
 
 template <int dim>
-void DoFRenumbering::component_wise (DoFHandler<dim>            &dof_handler,
-                                    const vector<unsigned int> &component_order_arg)
+void DoFRenumbering::component_wise (DoFHandler<dim>                 &dof_handler,
+                                    const std::vector<unsigned int> &component_order_arg)
 {
   const unsigned int dofs_per_cell = dof_handler.get_fe().dofs_per_cell;
 
@@ -416,7 +419,7 @@ void DoFRenumbering::component_wise (DoFHandler<dim>            &dof_handler,
   if (dof_handler.get_fe().n_components() == 1)
     return;
   
-  vector<unsigned int> component_order (component_order_arg);
+  std::vector<unsigned int> component_order (component_order_arg);
   if (component_order.size() == 0)
     for (unsigned int i=0; i<dof_handler.get_fe().n_components(); ++i)
       component_order.push_back (i);
@@ -433,10 +436,10 @@ void DoFRenumbering::component_wise (DoFHandler<dim>            &dof_handler,
 
                                   // vector to hold the dof indices on
                                   // the cell we visit at a time
-  vector<unsigned int> local_dof_indices(dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices(dofs_per_cell);
                                   // prebuilt list to which component
                                   // a given dof on a cell belongs
-  vector<unsigned int> component_list (dofs_per_cell);
+  std::vector<unsigned int> component_list (dofs_per_cell);
   for (unsigned int i=0; i<component_list.size(); ++i)
     component_list[i] = dof_handler.get_fe().system_to_component_index(i).first;
   
@@ -449,7 +452,7 @@ void DoFRenumbering::component_wise (DoFHandler<dim>            &dof_handler,
                                   // sorted by dof index. note also that some
                                   // dof indices are entered multiply, so we
                                   // will have to take care of that
-  vector<vector<unsigned int> > component_to_dof_map (dof_handler.get_fe().n_components());
+  std::vector<std::vector<unsigned int> > component_to_dof_map (dof_handler.get_fe().n_components());
   for (typename DoFHandler<dim>::active_cell_iterator cell=dof_handler.begin_active();
        cell!=dof_handler.end(); ++cell)
     {
@@ -481,14 +484,15 @@ void DoFRenumbering::component_wise (DoFHandler<dim>            &dof_handler,
     };
   
   unsigned int next_free_index = 0;
-  vector<unsigned int> new_indices (dof_handler.n_dofs(), DoFHandler<dim>::invalid_dof_index);
+  std::vector<unsigned int> new_indices (dof_handler.n_dofs(),
+                                        DoFHandler<dim>::invalid_dof_index);
   for (unsigned int component=0; component<dof_handler.get_fe().n_components(); ++component)
     {
-      const typename vector<unsigned int>::const_iterator
+      const typename std::vector<unsigned int>::const_iterator
        begin_of_component = component_to_dof_map[component].begin(),
        end_of_component   = component_to_dof_map[component].end();
             
-      for (typename vector<unsigned int>::const_iterator dof_index = begin_of_component;
+      for (typename std::vector<unsigned int>::const_iterator dof_index = begin_of_component;
           dof_index != end_of_component; ++dof_index)
        new_indices[*dof_index] = next_free_index++;
     };
@@ -503,8 +507,8 @@ void DoFRenumbering::component_wise (DoFHandler<dim>            &dof_handler,
 
 template <int dim>
 void
-DoFRenumbering::sort_selected_dofs_back (DoFHandler<dim>    &dof_handler,
-                                        const vector<bool> &selected_dofs)
+DoFRenumbering::sort_selected_dofs_back (DoFHandler<dim>         &dof_handler,
+                                        const std::vector<bool> &selected_dofs)
 {
   const unsigned int n_dofs = dof_handler.n_dofs();
   Assert (selected_dofs.size() == n_dofs,
@@ -512,7 +516,7 @@ DoFRenumbering::sort_selected_dofs_back (DoFHandler<dim>    &dof_handler,
 
                                   // re-sort the dofs according to
                                   // their selection state
-  vector<unsigned int> new_dof_indices (n_dofs);
+  std::vector<unsigned int> new_dof_indices (n_dofs);
   const unsigned int   n_selected_dofs = count (selected_dofs.begin(),
                                                selected_dofs.end(),
                                                false);
@@ -541,7 +545,7 @@ DoFRenumbering::sort_selected_dofs_back (DoFHandler<dim>    &dof_handler,
 template <int dim>
 void
 DoFRenumbering::cell_wise_dg (DoFHandler<dim>& dof,
-                          const vector<typename DoFHandler<dim>::cell_iterator>& cells)
+                             const std::vector<typename DoFHandler<dim>::cell_iterator>& cells)
 {
   Assert(cells.size() == dof.get_tria().n_active_cells(),
         ExcDimensionMismatch(cells.size(),
@@ -562,12 +566,12 @@ DoFRenumbering::cell_wise_dg (DoFHandler<dim>& dof,
   unsigned int n_global_dofs = dof.n_dofs();
   unsigned int n_cell_dofs = dof.get_fe().n_dofs_per_cell();
 
-  vector<unsigned int> new_order(n_global_dofs);
-  vector<unsigned int> cell_dofs(n_cell_dofs);
+  std::vector<unsigned int> new_order(n_global_dofs);
+  std::vector<unsigned int> cell_dofs(n_cell_dofs);
 
   unsigned int global_index = 0;
   
-  typename vector<typename DoFHandler<dim>::cell_iterator>::const_iterator cell;
+  typename std::vector<typename DoFHandler<dim>::cell_iterator>::const_iterator cell;
 
   for(cell = cells.begin(); cell != cells.end(); ++cell)
     {
@@ -581,7 +585,7 @@ DoFRenumbering::cell_wise_dg (DoFHandler<dim>& dof,
     }
   Assert(global_index == n_global_dofs, ExcRenumberingIncomplete());
 
-  vector<unsigned int> reverse(new_order.size());
+  std::vector<unsigned int> reverse(new_order.size());
 
   for (unsigned int i=0;i<new_order.size(); ++i)
     reverse[new_order[i]] = i;
@@ -595,7 +599,7 @@ template <int dim>
 void
 DoFRenumbering::cell_wise_dg (MGDoFHandler<dim>& dof,
                              unsigned int level,
-                             const vector<typename MGDoFHandler<dim>::cell_iterator>& cells)
+                             const std::vector<typename MGDoFHandler<dim>::cell_iterator>& cells)
 {
   Assert(cells.size() == dof.get_tria().n_cells(level),
         ExcDimensionMismatch(cells.size(),
@@ -616,12 +620,12 @@ DoFRenumbering::cell_wise_dg (MGDoFHandler<dim>& dof,
   unsigned int n_global_dofs = dof.n_dofs(level);
   unsigned int n_cell_dofs = dof.get_fe().n_dofs_per_cell();
 
-  vector<unsigned int> new_order(n_global_dofs);
-  vector<unsigned int> cell_dofs(n_cell_dofs);
+  std::vector<unsigned int> new_order(n_global_dofs);
+  std::vector<unsigned int> cell_dofs(n_cell_dofs);
 
   unsigned int global_index = 0;
   
-  typename vector<typename MGDoFHandler<dim>::cell_iterator>::const_iterator cell;
+  typename std::vector<typename MGDoFHandler<dim>::cell_iterator>::const_iterator cell;
 
   for(cell = cells.begin(); cell != cells.end(); ++cell)
     {
@@ -637,7 +641,7 @@ DoFRenumbering::cell_wise_dg (MGDoFHandler<dim>& dof,
     }
   Assert(global_index == n_global_dofs, ExcRenumberingIncomplete());
 
-  vector<unsigned int> reverse(new_order.size());
+  std::vector<unsigned int> reverse(new_order.size());
 
   for (unsigned int i=0;i<new_order.size(); ++i)
     reverse[new_order[i]] = i;
@@ -680,7 +684,7 @@ void
 DoFRenumbering::downstream_dg (DoFHandler<dim>& dof,
                               const Point<dim>& direction)
 {
-  vector<typename DoFHandler<dim>::cell_iterator>
+  std::vector<typename DoFHandler<dim>::cell_iterator>
     ordered_cells(dof.get_tria().n_active_cells());
   CompCells<dim> comparator(direction);
   
@@ -701,7 +705,7 @@ DoFRenumbering::downstream_dg (MGDoFHandler<dim>& dof,
                               const unsigned int level,
                               const Point<dim>& direction)
 {
-  vector<typename MGDoFHandler<dim>::cell_iterator>
+  std::vector<typename MGDoFHandler<dim>::cell_iterator>
     ordered_cells(dof.get_tria().n_cells(level));
   CompCells<dim> comparator(direction);
   
@@ -719,7 +723,7 @@ DoFRenumbering::downstream_dg (MGDoFHandler<dim>& dof,
 // lrand48 to be declared (rather than do so itself. however,
 // inclusion of <cstdlib> or <stdlib.h> does not help, so we declare
 // that function ourselves
-extern "C" long int lrand48 (void);
+extern "C" long int lrand48 (void) throw();
 
 
 template <int dim>
@@ -728,7 +732,7 @@ DoFRenumbering::random (DoFHandler<dim> &dof_handler)
 {
   const unsigned int n_dofs = dof_handler.n_dofs();
   
-  vector<unsigned int> new_indices (n_dofs);
+  std::vector<unsigned int> new_indices (n_dofs);
   for (unsigned i=0; i<n_dofs; ++i)
     new_indices[i] = i;
   
@@ -744,27 +748,27 @@ template
 void DoFRenumbering::Cuthill_McKee (DoFHandler<deal_II_dimension>&,
                                    const bool,
                                    const bool,
-                                   const vector<unsigned int>&);
+                                   const std::vector<unsigned int>&);
 
 template
 void DoFRenumbering::Cuthill_McKee (MGDoFHandler<deal_II_dimension>&,
                                    const unsigned int,
                                    const bool,
-                                   const vector<unsigned int>&);
+                                   const std::vector<unsigned int>&);
 
 template
 void DoFRenumbering::component_wise (DoFHandler<deal_II_dimension>&,
-                                    const vector<unsigned int>&);
+                                    const std::vector<unsigned int>&);
 
 
 template
 void DoFRenumbering::cell_wise_dg (DoFHandler<deal_II_dimension>&,
-                                  const vector<DoFHandler<deal_II_dimension>::cell_iterator>&);
+                                  const std::vector<DoFHandler<deal_II_dimension>::cell_iterator>&);
 
 template
 void DoFRenumbering::cell_wise_dg (MGDoFHandler<deal_II_dimension>&,
                                   unsigned int,
-                                  const vector<DoFHandler<deal_II_dimension>::cell_iterator>&);
+                                  const std::vector<DoFHandler<deal_II_dimension>::cell_iterator>&);
 
 template
 void DoFRenumbering::downstream_dg (DoFHandler<deal_II_dimension>&,
@@ -777,7 +781,7 @@ void DoFRenumbering::downstream_dg (MGDoFHandler<deal_II_dimension>&,
 
 template
 void DoFRenumbering::sort_selected_dofs_back (DoFHandler<deal_II_dimension> &,
-                                             const vector<bool> &);
+                                             const std::vector<bool> &);
 
 template
 void DoFRenumbering::random (DoFHandler<deal_II_dimension> &);
index 6e9f8de5ca2cf9a34b89a2b85ea4d13f39583f2c..29f66c3c346cc2b495f56b6fad1c464a790a2cf5 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -45,7 +45,7 @@ DoFTools::make_sparsity_pattern (const DoFHandler<dim> &dof,
          ExcDimensionMismatch (sparsity.n_cols(), n_dofs));
 
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
-  vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
+  std::vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
   DoFHandler<dim>::active_cell_iterator cell = dof.begin_active(),
                                        endc = dof.end();
   for (; cell!=endc; ++cell) 
@@ -62,9 +62,9 @@ DoFTools::make_sparsity_pattern (const DoFHandler<dim> &dof,
 
 template <int dim, class SparsityPattern>
 void
-DoFTools::make_sparsity_pattern (const DoFHandler<dim>       &dof,
-                                const vector<vector<bool> > &mask,
-                                SparsityPattern             &sparsity)
+DoFTools::make_sparsity_pattern (const DoFHandler<dim>                 &dof,
+                                const std::vector<std::vector<bool> > &mask,
+                                SparsityPattern                       &sparsity)
 {
   const unsigned int n_dofs = dof.n_dofs();
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
@@ -82,8 +82,8 @@ DoFTools::make_sparsity_pattern (const DoFHandler<dim>       &dof,
                                   // first build a mask for each dof,
                                   // not like the one given which represents
                                   // components
-  vector<vector<bool> > dof_mask(dofs_per_cell,
-                                vector<bool>(dofs_per_cell, false));
+  std::vector<std::vector<bool> > dof_mask(dofs_per_cell,
+                                          std::vector<bool>(dofs_per_cell, false));
   for (unsigned int i=0; i<dofs_per_cell; ++i)
     for (unsigned int j=0; j<dofs_per_cell; ++j)
       dof_mask[i][j] = mask
@@ -91,9 +91,9 @@ DoFTools::make_sparsity_pattern (const DoFHandler<dim>       &dof,
                       [dof.get_fe().system_to_component_index(j).first];
 
 
-  vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
+  std::vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
   DoFHandler<dim>::active_cell_iterator cell = dof.begin_active(),
-                      endc = dof.end();
+                                       endc = dof.end();
   for (; cell!=endc; ++cell) 
     {
       cell->get_dof_indices (dofs_on_this_cell);
@@ -111,10 +111,10 @@ DoFTools::make_sparsity_pattern (const DoFHandler<dim>       &dof,
 
 template <>
 void DoFTools::make_boundary_sparsity_pattern (const DoFHandler<1>&,
-                                              const vector<unsigned int>  &,
+                                              const std::vector<unsigned int>  &,
                                               SparsityPattern    &)
 {
-    Assert (false, ExcInternalError());
+  Assert (false, ExcInternalError());
 };
 
 
@@ -122,7 +122,7 @@ template <>
 void
 DoFTools::make_boundary_sparsity_pattern (const DoFHandler<1>&,
                                          const DoFHandler<1>::FunctionMap  &,
-                                         const vector<unsigned int>  &,
+                                         const std::vector<unsigned int>  &,
                                          SparsityPattern    &)
 {
   Assert (false, ExcInternalError());
@@ -134,7 +134,7 @@ DoFTools::make_boundary_sparsity_pattern (const DoFHandler<1>&,
 template <int dim>
 void
 DoFTools::make_boundary_sparsity_pattern (const DoFHandler<dim>& dof,
-                                         const vector<unsigned int>  &dof_to_boundary_mapping,
+                                         const std::vector<unsigned int>  &dof_to_boundary_mapping,
                                          SparsityPattern    &sparsity)
 {
   const unsigned int n_dofs = dof.n_dofs();
@@ -149,9 +149,9 @@ DoFTools::make_boundary_sparsity_pattern (const DoFHandler<dim>& dof,
          ExcInternalError());
 
   const unsigned int dofs_per_face = dof.get_fe().dofs_per_face;
-  vector<unsigned int> dofs_on_this_face(dofs_per_face);
+  std::vector<unsigned int> dofs_on_this_face(dofs_per_face);
   DoFHandler<dim>::active_face_iterator face = dof.begin_active_face(),
-                      endf = dof.end_face();
+                                       endf = dof.end_face();
   for (; face!=endf; ++face)
     if (face->at_boundary())
       {
@@ -175,7 +175,7 @@ DoFTools::make_boundary_sparsity_pattern (const DoFHandler<dim>& dof,
 template <int dim>
 void DoFTools::make_boundary_sparsity_pattern (const DoFHandler<dim>& dof,
                                               const DoFHandler<dim>::FunctionMap  &boundary_indicators,
-                                              const vector<unsigned int>  &dof_to_boundary_mapping,
+                                              const std::vector<unsigned int>  &dof_to_boundary_mapping,
                                               SparsityPattern    &sparsity)
 {
   const unsigned int n_dofs = dof.n_dofs();
@@ -191,7 +191,7 @@ void DoFTools::make_boundary_sparsity_pattern (const DoFHandler<dim>& dof,
   if (true)
     {
       unsigned int max_element = 0;
-      for (vector<unsigned int>::const_iterator i=dof_to_boundary_mapping.begin();
+      for (std::vector<unsigned int>::const_iterator i=dof_to_boundary_mapping.begin();
           i!=dof_to_boundary_mapping.end(); ++i)
        if ((*i != DoFHandler<dim>::invalid_dof_index) &&
            (*i > max_element))
@@ -202,9 +202,9 @@ void DoFTools::make_boundary_sparsity_pattern (const DoFHandler<dim>& dof,
 #endif
 
   const unsigned int dofs_per_face = dof.get_fe().dofs_per_face;
-  vector<unsigned int> dofs_on_this_face(dofs_per_face);
+  std::vector<unsigned int> dofs_on_this_face(dofs_per_face);
   DoFHandler<dim>::active_face_iterator face = dof.begin_active_face(),
-                      endf = dof.end_face();
+                                       endf = dof.end_face();
   for (; face!=endf; ++face)
     if (boundary_indicators.find(face->boundary_indicator()) !=
        boundary_indicators.end())
@@ -238,8 +238,8 @@ DoFTools::make_flux_sparsity_pattern (const DoFHandler<dim> &dof,
          ExcDimensionMismatch (sparsity.n_cols(), n_dofs));
 
   const unsigned int total_dofs = dof.get_fe().dofs_per_cell;
-  vector<unsigned int> dofs_on_this_cell(total_dofs);
-  vector<unsigned int> dofs_on_other_cell(total_dofs);
+  std::vector<unsigned int> dofs_on_this_cell(total_dofs);
+  std::vector<unsigned int> dofs_on_other_cell(total_dofs);
   DoFHandler<dim>::active_cell_iterator cell = dof.begin_active(),
                                        endc = dof.end();
 
@@ -341,16 +341,16 @@ DoFTools::make_flux_sparsity_pattern (const DoFHandler<dim> &dof,
          ExcDimensionMismatch (flux_mask.n(), n_comp));
   
   const unsigned int total_dofs = dof.get_fe().dofs_per_cell;
-  vector<unsigned int> dofs_on_this_cell(total_dofs);
-  vector<unsigned int> dofs_on_other_cell(total_dofs);
+  std::vector<unsigned int> dofs_on_this_cell(total_dofs);
+  std::vector<unsigned int> dofs_on_other_cell(total_dofs);
   DoFHandler<dim>::active_cell_iterator cell = dof.begin_active(),
                                        endc = dof.end();
 
 
-  vector<vector<bool> > int_dof_mask(total_dofs,
-                                vector<bool>(total_dofs, false));
-  vector<vector<bool> > flux_dof_mask(total_dofs,
-                                vector<bool>(total_dofs, false));
+  std::vector<std::vector<bool> > int_dof_mask(total_dofs,
+                                              std::vector<bool>(total_dofs, false));
+  std::vector<std::vector<bool> > flux_dof_mask(total_dofs,
+                                               std::vector<bool>(total_dofs, false));
   for (unsigned int i=0; i<total_dofs; ++i)
     for (unsigned int j=0; j<total_dofs; ++j)
       {
@@ -471,8 +471,8 @@ void DoFTools::make_hanging_node_constraints (const DoFHandler<2> &dof_handler,
   const unsigned int n_dofs_on_mother   = 2*fe.dofs_per_vertex + fe.dofs_per_line,
                     n_dofs_on_children = fe.dofs_per_vertex + 2*fe.dofs_per_line;
 
-  vector<unsigned int> dofs_on_mother(n_dofs_on_mother);
-  vector<unsigned int> dofs_on_children(n_dofs_on_children);
+  std::vector<unsigned int> dofs_on_mother(n_dofs_on_mother);
+  std::vector<unsigned int> dofs_on_children(n_dofs_on_children);
 
   Assert(n_dofs_on_mother == fe.constraints().n(),
         ExcDimensionMismatch(n_dofs_on_mother,
@@ -564,8 +564,8 @@ void DoFTools::make_hanging_node_constraints (const DoFHandler<3> &dof_handler,
                          12*fe.dofs_per_line+
                          4*fe.dofs_per_quad);
 
-  vector<unsigned int> dofs_on_mother(n_dofs_on_mother);
-  vector<unsigned int> dofs_on_children(n_dofs_on_children);
+  std::vector<unsigned int> dofs_on_mother(n_dofs_on_mother);
+  std::vector<unsigned int> dofs_on_children(n_dofs_on_children);
 
   Assert(n_dofs_on_mother == fe.constraints().n(),
         ExcDimensionMismatch(n_dofs_on_mother,
@@ -707,13 +707,13 @@ void DoFTools::distribute_cell_to_dof_vector (const DoFHandler<dim> &dof_handler
   
                                   // count how often we have added a value
                                   // in the sum for each dof
-  vector<unsigned char> touch_count (dof_handler.n_dofs(), 0);
+  std::vector<unsigned char> touch_count (dof_handler.n_dofs(), 0);
 
   DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
                                        endc = dof_handler.end();
   unsigned int present_cell = 0;
   const unsigned int dofs_per_cell = fe.dofs_per_cell;
-  vector<unsigned int> dof_indices (dofs_per_cell);
+  std::vector<unsigned int> dof_indices (dofs_per_cell);
 
   for (; cell!=endc; ++cell, ++present_cell) 
     {
@@ -754,9 +754,9 @@ void DoFTools::distribute_cell_to_dof_vector (const DoFHandler<dim> &dof_handler
 
 template<int dim>
 void
-DoFTools::extract_dofs (const DoFHandler<dim> &dof,
-                       const vector<bool>    &component_select,
-                       vector<bool>          &selected_dofs)
+DoFTools::extract_dofs (const DoFHandler<dim>      &dof,
+                       const std::vector<bool>    &component_select,
+                       std::vector<bool>          &selected_dofs)
 {
   const FiniteElement<dim> &fe = dof.get_fe();
   Assert(component_select.size() == fe.n_components(),
@@ -767,7 +767,7 @@ DoFTools::extract_dofs (const DoFHandler<dim> &dof,
                                   // preset all values by false
   fill_n (selected_dofs.begin(), dof.n_dofs(), false);
   
-  vector<unsigned int> indices(fe.dofs_per_cell);
+  std::vector<unsigned int> indices(fe.dofs_per_cell);
   
   DoFHandler<dim>::active_cell_iterator c;
   for (c = dof.begin_active() ; c != dof.end() ; ++ c)
@@ -788,8 +788,8 @@ template<int dim>
 void
 DoFTools::extract_level_dofs(const unsigned int       level,
                             const MGDoFHandler<dim> &dof,
-                            const vector<bool>      &component_select,
-                            vector<bool>            &selected_dofs)
+                            const std::vector<bool> &component_select,
+                            std::vector<bool>       &selected_dofs)
 {
   const FiniteElement<dim>& fe = dof.get_fe();
   Assert(component_select.size() == fe.n_components(),
@@ -800,7 +800,7 @@ DoFTools::extract_level_dofs(const unsigned int       level,
                                   // preset all values by false
   fill_n (selected_dofs.begin(), dof.n_dofs(level), false);
 
-  vector<unsigned int> indices(fe.dofs_per_cell);
+  std::vector<unsigned int> indices(fe.dofs_per_cell);
   
   MGDoFHandler<dim>::cell_iterator c;
   for (c = dof.begin(level) ; c != dof.end(level) ; ++ c)
@@ -821,10 +821,10 @@ DoFTools::extract_level_dofs(const unsigned int       level,
 
 template <int dim>
 void
-DoFTools::extract_boundary_dofs (const DoFHandler<dim> &dof_handler,
-                                const vector<bool>    &component_select,
-                                vector<bool>          &selected_dofs,
-                                const set<unsigned char> &boundary_indicators)
+DoFTools::extract_boundary_dofs (const DoFHandler<dim>         &dof_handler,
+                                const std::vector<bool>       &component_select,
+                                std::vector<bool>             &selected_dofs,
+                                const std::set<unsigned char> &boundary_indicators)
 {
   Assert (component_select.size() == dof_handler.get_fe().n_components(),
          ExcWrongSize (component_select.size(),
@@ -842,7 +842,7 @@ DoFTools::extract_boundary_dofs (const DoFHandler<dim> &dof_handler,
                                   // values
   selected_dofs.clear ();
   selected_dofs.resize (dof_handler.n_dofs(), false);
-  vector<unsigned int> face_dof_indices (dof_handler.get_fe().dofs_per_face);
+  std::vector<unsigned int> face_dof_indices (dof_handler.get_fe().dofs_per_face);
   for (DoFHandler<dim>::active_cell_iterator cell=dof_handler.begin_active();
        cell!=dof_handler.end(); ++cell)
     for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
@@ -850,13 +850,13 @@ DoFTools::extract_boundary_dofs (const DoFHandler<dim> &dof_handler,
        if (! check_boundary_indicator ||
            (boundary_indicators.find (cell->face(face)->boundary_indicator())
             != boundary_indicators.end()))
-       {
-         cell->face(face)->get_dof_indices (face_dof_indices);
-         for (unsigned int i=0; i<dof_handler.get_fe().dofs_per_face; ++i)
-           if (component_select[dof_handler.get_fe().
-                               face_system_to_component_index(i).first] == true)
-             selected_dofs[face_dof_indices[i]] = true;
-       };
+         {
+           cell->face(face)->get_dof_indices (face_dof_indices);
+           for (unsigned int i=0; i<dof_handler.get_fe().dofs_per_face; ++i)
+             if (component_select[dof_handler.get_fe().
+                                 face_system_to_component_index(i).first] == true)
+               selected_dofs[face_dof_indices[i]] = true;
+         };
 };
 
 
@@ -864,9 +864,9 @@ DoFTools::extract_boundary_dofs (const DoFHandler<dim> &dof_handler,
 
 template <>
 void
-DoFTools::extract_boundary_dofs (const DoFHandler<1> &dof_handler,
-                                const vector<bool>  &component_select,
-                                vector<bool>        &selected_dofs)
+DoFTools::extract_boundary_dofs (const DoFHandler<1>      &dof_handler,
+                                const std::vector<bool>  &component_select,
+                                std::vector<bool>        &selected_dofs)
 {
   Assert (component_select.size() == dof_handler.get_fe().n_components(),
          ExcWrongSize (component_select.size(),
@@ -909,7 +909,7 @@ DoFTools::extract_boundary_dofs (const DoFHandler<1> &dof_handler,
 template <>
 void
 DoFTools::extract_hanging_node_dofs (const DoFHandler<1> &dof_handler,
-                                    vector<bool>        &selected_dofs)
+                                    std::vector<bool>   &selected_dofs)
 {
   Assert(selected_dofs.size() == dof_handler.n_dofs(),
         ExcDimensionMismatch(selected_dofs.size(), dof_handler.n_dofs()));
@@ -928,7 +928,7 @@ DoFTools::extract_hanging_node_dofs (const DoFHandler<1> &dof_handler,
 template <>
 void
 DoFTools::extract_hanging_node_dofs (const DoFHandler<2> &dof_handler,
-                                    vector<bool>        &selected_dofs)
+                                    std::vector<bool>   &selected_dofs)
 {
   const unsigned int dim = 2;
   
@@ -968,7 +968,7 @@ DoFTools::extract_hanging_node_dofs (const DoFHandler<2> &dof_handler,
 template <>
 void
 DoFTools::extract_hanging_node_dofs (const DoFHandler<3> &dof_handler,
-                                    vector<bool>        &selected_dofs)
+                                    std::vector<bool>   &selected_dofs)
 {
   const unsigned int dim = 3;
 
@@ -1126,8 +1126,8 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<dim>              &coa
                                   // degree of freedom of the
                                   // coarse-grid variable in the
                                   // fine-grid element
-  vector<Vector<double> > parameter_dofs (coarse_dofs_per_cell_component,
-                                         Vector<double>(fine_dofs_per_cell));
+  std::vector<Vector<double> > parameter_dofs (coarse_dofs_per_cell_component,
+                                              Vector<double>(fine_dofs_per_cell));
                                   // for each coarse dof: find its
                                   // position within the fine element
                                   // and set this value to one in the
@@ -1151,8 +1151,8 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<dim>              &coa
                                       // to true if this is an
                                       // interesting dof. finally count
                                       // how many true's there
-      vector<bool> dof_is_interesting (fine_grid.n_dofs(), false);
-      vector<unsigned int>  local_dof_indices (fine_fe.dofs_per_cell);
+      std::vector<bool> dof_is_interesting (fine_grid.n_dofs(), false);
+      std::vector<unsigned int>  local_dof_indices (fine_fe.dofs_per_cell);
       
       for (DoFHandler<dim>::active_cell_iterator cell=fine_grid.begin_active();
           cell!=fine_grid.end(); ++cell)
@@ -1171,11 +1171,11 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<dim>              &coa
                                   // get an array in which we store
                                   // which dof on the coarse grid is
                                   // a parameter and which is not
-  vector<bool> coarse_dof_is_parameter (coarse_grid.n_dofs());
+  std::vector<bool> coarse_dof_is_parameter (coarse_grid.n_dofs());
   if (true)
     {
-      vector<bool> mask (coarse_grid.get_fe().n_components(),
-                        false);
+      std::vector<bool> mask (coarse_grid.get_fe().n_components(),
+                             false);
       mask[coarse_component] = true;
       extract_dofs (coarse_grid, mask, coarse_dof_is_parameter);
     };
@@ -1210,12 +1210,12 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<dim>              &coa
                                   // that parameter dof, if it is any
                                   // other dof, then its value is -1,
                                   // indicating an error
-  vector<int> weight_mapping (n_fine_dofs, -1);
+  std::vector<int> weight_mapping (n_fine_dofs, -1);
 
                                   // set up this mapping
   if (true)
     {
-      vector<unsigned int> local_dof_indices(fine_fe.dofs_per_cell);
+      std::vector<unsigned int> local_dof_indices(fine_fe.dofs_per_cell);
       unsigned int next_free_index=0;
       for (typename DoFHandler<dim>::active_cell_iterator cell=fine_grid.begin_active();
           cell != fine_grid.end(); ++cell)
@@ -1307,7 +1307,7 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<dim>              &coa
                                   // while all others will be
                                   // constrained to this dof (and
                                   // possibly others)
-  vector<int> representants(weights.m(), -1);
+  std::vector<int> representants(weights.m(), -1);
   for (unsigned int parameter_dof=0; parameter_dof<weights.m(); ++parameter_dof)
     if (coarse_dof_is_parameter[parameter_dof] == true)
       {
@@ -1355,7 +1355,7 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<dim>              &coa
                                   // which takes the bulk of the
                                   // time, but it is not known to the
                                   // author how to make it faster...
-  vector<pair<unsigned int,double> > constraint_line;
+  std::vector<std::pair<unsigned int,double> > constraint_line;
   for (unsigned int global_dof=0; global_dof<n_fine_dofs; ++global_dof)
     if (weight_mapping[global_dof] != -1)
                                       // this global dof is a parameter
@@ -1393,8 +1393,8 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<dim>              &coa
        constraint_line.clear ();
        for (unsigned int row=first_used_row; row<weights.m(); ++row)
          if (weights(row,weight_mapping[global_dof]) != 0)
-           constraint_line.push_back (make_pair(representants[row],
-                                                weights(row,weight_mapping[global_dof])));
+           constraint_line.push_back (std::make_pair(representants[row],
+                                                     weights(row,weight_mapping[global_dof])));
 
        constraints.add_entries (global_dof, constraint_line);
       };
@@ -1407,14 +1407,14 @@ void
 DoFTools::compute_intergrid_weights (const DoFHandler<dim>              &coarse_grid,
                                     const unsigned int                  coarse_component,
                                     const InterGridMap<DoFHandler,dim> &coarse_to_fine_grid_map,
-                                    const vector<Vector<double> >      &parameter_dofs,
-                                    const vector<int>                  &weight_mapping,
+                                    const std::vector<Vector<double> > &parameter_dofs,
+                                    const std::vector<int>             &weight_mapping,
                                     FullMatrix<float>                  &weights)
 {
                                   // simply distribute the range of
                                   // cells to different threads
   typedef typename DoFHandler<dim>::active_cell_iterator active_cell_iterator;
-  vector<pair<active_cell_iterator,active_cell_iterator> >
+  std::vector<std::pair<active_cell_iterator,active_cell_iterator> >
     cell_intervals = Threads::split_range<active_cell_iterator> (coarse_grid.begin_active(),
                                                                 coarse_grid.end(),
                                                                 multithread_info.n_default_threads);
@@ -1440,8 +1440,8 @@ void
 DoFTools::compute_intergrid_weights_1 (const DoFHandler<dim>              &coarse_grid,
                                       const unsigned int                  coarse_component,
                                       const InterGridMap<DoFHandler,dim> &coarse_to_fine_grid_map,
-                                      const vector<Vector<double> >      &parameter_dofs,
-                                      const vector<int>                  &weight_mapping,
+                                      const std::vector<Vector<double> > &parameter_dofs,
+                                      const std::vector<int>             &weight_mapping,
                                       FullMatrix<float>                  &weights,
                                       const typename DoFHandler<dim>::active_cell_iterator &begin,
                                       const typename DoFHandler<dim>::active_cell_iterator &end)
@@ -1523,7 +1523,7 @@ DoFTools::compute_intergrid_weights_1 (const DoFHandler<dim>              &coars
   Vector<double> global_parameter_representation (n_fine_dofs);
   
   typename DoFHandler<dim>::active_cell_iterator cell;
-  vector<unsigned int> parameter_dof_indices (coarse_fe.dofs_per_cell);
+  std::vector<unsigned int> parameter_dof_indices (coarse_fe.dofs_per_cell);
   
   for (cell=begin; cell!=end; ++cell)
     {
@@ -1612,7 +1612,7 @@ DoFTools::compute_intergrid_weights_1 (const DoFHandler<dim>              &coars
 
 template <>
 void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler,
-                                           vector<unsigned int> &)
+                                           std::vector<unsigned int> &)
 {
   Assert (&dof_handler.get_fe() != 0, ExcNoFESelected());
   Assert (false, ExcNotImplemented());
@@ -1623,7 +1623,7 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler,
 template <>
 void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler,
                                            const set<unsigned char> &,
-                                           vector<unsigned int> &)
+                                           std::vector<unsigned int> &)
 {
   Assert (&dof_handler.get_fe() != 0, ExcNoFESelected());
   Assert (false, ExcNotImplemented());
@@ -1634,8 +1634,8 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler,
 
 
 template <int dim>
-void DoFTools::map_dof_to_boundary_indices (const DoFHandler<dim> &dof_handler,
-                                           vector<unsigned int>  &mapping)
+void DoFTools::map_dof_to_boundary_indices (const DoFHandler<dim>     &dof_handler,
+                                           std::vector<unsigned int> &mapping)
 {
   Assert (&dof_handler.get_fe() != 0, ExcNoFESelected());
 
@@ -1644,7 +1644,7 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler<dim> &dof_handler,
                  DoFHandler<dim>::invalid_dof_index);
   
   const unsigned int dofs_per_face = dof_handler.get_fe().dofs_per_face;
-  vector<unsigned int> dofs_on_face(dofs_per_face);
+  std::vector<unsigned int> dofs_on_face(dofs_per_face);
   unsigned int next_boundary_index = 0;
   
   typename DoFHandler<dim>::active_face_iterator face = dof_handler.begin_active_face(),
@@ -1665,9 +1665,9 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler<dim> &dof_handler,
 
 
 template <int dim>
-void DoFTools::map_dof_to_boundary_indices (const DoFHandler<dim>    &dof_handler,
-                                           const set<unsigned char> &boundary_indicators,
-                                           vector<unsigned int>     &mapping)
+void DoFTools::map_dof_to_boundary_indices (const DoFHandler<dim>         &dof_handler,
+                                           const std::set<unsigned char> &boundary_indicators,
+                                           std::vector<unsigned int>     &mapping)
 {
   Assert (&dof_handler.get_fe() != 0, ExcNoFESelected());
   Assert (boundary_indicators.find (255) == boundary_indicators.end(),
@@ -1682,7 +1682,7 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler<dim>    &dof_handle
     return;
   
   const unsigned int dofs_per_face = dof_handler.get_fe().dofs_per_face;
-  vector<unsigned int> dofs_on_face(dofs_per_face);
+  std::vector<unsigned int> dofs_on_face(dofs_per_face);
   unsigned int next_boundary_index = 0;
   
   typename DoFHandler<dim>::active_face_iterator face = dof_handler.begin_active_face(),
@@ -1717,12 +1717,12 @@ DoFTools::make_flux_sparsity_pattern (const DoFHandler<deal_II_dimension>& dof,
                                      const FullMatrix<double>&);
 template void
 DoFTools::make_boundary_sparsity_pattern (const DoFHandler<deal_II_dimension>& dof,
-                                         const vector<unsigned int>  &,
+                                         const std::vector<unsigned int>  &,
                                          SparsityPattern    &);
 template void
 DoFTools::make_boundary_sparsity_pattern (const DoFHandler<deal_II_dimension>& dof,
                                          const DoFHandler<deal_II_dimension>::FunctionMap  &boundary_indicators,
-                                         const vector<unsigned int>  &dof_to_boundary_mapping,
+                                         const std::vector<unsigned int>  &dof_to_boundary_mapping,
                                          SparsityPattern    &sparsity);
 #endif
 
@@ -1736,12 +1736,12 @@ DoFTools::make_sparsity_pattern (const DoFHandler<deal_II_dimension> &dof,
 
 template void 
 DoFTools::make_sparsity_pattern (const DoFHandler<deal_II_dimension>& dof,
-                                const vector<vector<bool> > &mask,
+                                const std::vector<std::vector<bool> > &mask,
                                 SparsityPattern             &sparsity);
 
 template void 
 DoFTools::make_sparsity_pattern (const DoFHandler<deal_II_dimension>& dof,
-                                const vector<vector<bool> > &mask,
+                                const std::vector<std::vector<bool> > &mask,
                                 BlockSparsityPattern        &sparsity);
 
 template
@@ -1758,20 +1758,20 @@ DoFTools::distribute_cell_to_dof_vector (const DoFHandler<deal_II_dimension> &do
 
 
 template void DoFTools::extract_dofs(const DoFHandler<deal_II_dimension>& dof,
-                                    const vector<bool>& component_select,
-                                    vector<bool>& selected_dofs);
+                                    const std::vector<bool>& component_select,
+                                    std::vector<bool>& selected_dofs);
 template void DoFTools::extract_level_dofs(unsigned int level,
                                           const MGDoFHandler<deal_II_dimension>& dof,
-                                          const vector<bool>& component_select,
-                                          vector<bool>& selected_dofs);
+                                          const std::vector<bool>& component_select,
+                                          std::vector<bool>& selected_dofs);
 
 
 #if deal_II_dimension != 1
 template
 void
 DoFTools::extract_boundary_dofs (const DoFHandler<deal_II_dimension> &,
-                                const vector<bool>                  &,
-                                vector<bool>                        &);
+                                const std::vector<bool>                  &,
+                                std::vector<bool>                        &);
 #endif 
 
 template
@@ -1790,12 +1790,12 @@ DoFTools::compute_intergrid_constraints (const DoFHandler<deal_II_dimension> &,
 template
 void
 DoFTools::map_dof_to_boundary_indices (const DoFHandler<deal_II_dimension> &,
-                                      vector<unsigned int> &);
+                                      std::vector<unsigned int> &);
 
 template
 void
 DoFTools::map_dof_to_boundary_indices (const DoFHandler<deal_II_dimension> &,
-                                      const set<unsigned char> &,
-                                      vector<unsigned int> &);
+                                      const std::set<unsigned char> &,
+                                      std::vector<unsigned int> &);
 
 #endif 
index 6813a265d48b358314d898219c8063c2f9309638..8c290ea738aebc78b5a6a111773b346f6241ecd0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -145,14 +145,14 @@ bool FiniteElementData<dim>::operator== (const FiniteElementData<dim> &f) const
 
 template <int dim>
 FiniteElementBase<dim>::FiniteElementBase (const FiniteElementData<dim> &fe_data,
-                                          const vector<bool> &restriction_is_additive_flags) :
+                                          const std::vector<bool> &restriction_is_additive_flags) :
                FiniteElementData<dim> (fe_data),
-               system_to_component_table(dofs_per_cell),
-               face_system_to_component_table(dofs_per_face),
-               component_to_system_table(components, vector<unsigned>(dofs_per_cell)),
-               face_component_to_system_table(components, vector<unsigned>(dofs_per_face)),
-               component_to_base_table(components),
-               restriction_is_additive_flags(restriction_is_additive_flags)
+  system_to_component_table(dofs_per_cell),
+  face_system_to_component_table(dofs_per_face),
+  component_to_system_table(components, std::vector<unsigned>(dofs_per_cell)),
+                             face_component_to_system_table(components, std::vector<unsigned>(dofs_per_face)),
+                                                              component_to_base_table(components),
+                                                              restriction_is_additive_flags(restriction_is_additive_flags)
 {
   Assert(restriction_is_additive_flags.size()==fe_data.components,
         ExcWrongFieldDimension(restriction_is_additive_flags.size(),fe_data.components));
@@ -194,12 +194,12 @@ FiniteElementBase<dim>::FiniteElementBase (const FiniteElementData<dim> &fe_data
                                   // to fill these arrays
   for (unsigned int j=0 ; j<dofs_per_cell ; ++j)
     {
-      system_to_component_table[j] = pair<unsigned,unsigned>(0,j);
+      system_to_component_table[j] = std::pair<unsigned,unsigned>(0,j);
       component_to_system_table[0][j] = j;
     }
   for (unsigned int j=0 ; j<dofs_per_face ; ++j)
     {
-      face_system_to_component_table[j] = pair<unsigned,unsigned>(0,j);
+      face_system_to_component_table[j] = std::pair<unsigned,unsigned>(0,j);
       face_component_to_system_table[0][j] = j;
     }
 };
@@ -274,7 +274,7 @@ FiniteElementBase<dim>::memory_consumption () const
 
 template <int dim>
 FiniteElement<dim>::FiniteElement (const FiniteElementData<dim> &fe_data,
-                                  const vector<bool> &restriction_is_additive_flags) :
+                                  const std::vector<bool> &restriction_is_additive_flags) :
                FiniteElementBase<dim> (fe_data,
                                        restriction_is_additive_flags) {};
 
@@ -282,22 +282,22 @@ FiniteElement<dim>::FiniteElement (const FiniteElementData<dim> &fe_data,
 
 template <>
 void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                          vector<Point<1> > &support_points) const;
+                                          std::vector<Point<1> > &support_points) const;
 
 
 template <>
 void FiniteElement<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
-                                      const vector<Point<1> > &unit_points,
-                                      vector<Tensor<2,1> >    &jacobians,
+                                      const std::vector<Point<1> > &unit_points,
+                                      std::vector<Tensor<2,1> >    &jacobians,
                                       const bool            compute_jacobians,
-                                      vector<Tensor<3,1> > &jacobians_grad,
+                                      std::vector<Tensor<3,1> > &jacobians_grad,
                                       const bool            compute_jacobians_grad,
-                                      vector<Point<1> >    &support_points,
+                                      std::vector<Point<1> >    &support_points,
                                       const bool            compute_support_points,
-                                      vector<Point<1> >    &q_points,
+                                      std::vector<Point<1> >    &q_points,
                                       const bool            compute_q_points,
                                       const FullMatrix<double>       &,
-                                      const vector<vector<Tensor<1,1> > > &) const {
+                                      const std::vector<std::vector<Tensor<1,1> > > &) const {
   Assert ((!compute_jacobians) || (jacobians.size() == unit_points.size()),
          ExcWrongFieldDimension(jacobians.size(), unit_points.size()));
   Assert ((!compute_jacobians_grad) || (jacobians_grad.size() == unit_points.size()),
@@ -340,22 +340,22 @@ void FiniteElement<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
 template <>
 void FiniteElement<1>::fill_fe_face_values (const DoFHandler<1>::cell_iterator &,
                                            const unsigned int       ,
-                                           const vector<Point<0> > &,
-                                           const vector<Point<1> > &,
-                                           vector<Tensor<2,1> >    &,
+                                           const std::vector<Point<0> > &,
+                                           const std::vector<Point<1> > &,
+                                           std::vector<Tensor<2,1> >    &,
                                            const bool               ,
-                                           vector<Tensor<3,1> >    &,
+                                           std::vector<Tensor<3,1> >    &,
                                            const bool               ,
-                                           vector<Point<1> >       &,
+                                           std::vector<Point<1> >       &,
                                            const bool               ,
-                                           vector<Point<1> >       &,
+                                           std::vector<Point<1> >       &,
                                            const bool               ,
-                                           vector<double>          &,
+                                           std::vector<double>          &,
                                            const bool              ,
-                                           vector<Point<1> >       &,
+                                           std::vector<Point<1> >       &,
                                            const bool,
                                            const FullMatrix<double>          &,
-                                           const vector<vector<Tensor<1,1> > > &) const {
+                                           const std::vector<std::vector<Tensor<1,1> > > &) const {
   Assert (false, ExcNotImplemented());
 };
 
@@ -364,26 +364,26 @@ template <>
 void FiniteElement<1>::fill_fe_subface_values (const DoFHandler<1>::cell_iterator &,
                                               const unsigned int       ,
                                               const unsigned int       ,
-                                              const vector<Point<0> > &,
-                                              const vector<Point<1> > &,
-                                              vector<Tensor<2,1> >    &,
+                                              const std::vector<Point<0> > &,
+                                              const std::vector<Point<1> > &,
+                                              std::vector<Tensor<2,1> >    &,
                                               const bool               ,
-                                              vector<Tensor<3,1> >    &,
+                                              std::vector<Tensor<3,1> >    &,
                                               const bool               ,
-                                              vector<Point<1> >       &,
+                                              std::vector<Point<1> >       &,
                                               const bool               ,
-                                              vector<double>          &,
+                                              std::vector<double>          &,
                                               const bool               ,
-                                              vector<Point<1> >       &,
+                                              std::vector<Point<1> >       &,
                                               const bool,
                                               const FullMatrix<double>          &,
-                                              const vector<vector<Tensor<1,1> > > &) const {
+                                              const std::vector<std::vector<Tensor<1,1> > > &) const {
   Assert (false, ExcNotImplemented());
 };
 
 
 template <>
-void FiniteElement<1>::get_unit_support_points (vector<Point<1> > &support_points) const {
+void FiniteElement<1>::get_unit_support_points (std::vector<Point<1> > &support_points) const {
   Assert (support_points.size() == dofs_per_cell,
          ExcWrongFieldDimension(support_points.size(), dofs_per_cell));
                                   // compute support points. The first ones
@@ -405,7 +405,7 @@ void FiniteElement<1>::get_unit_support_points (vector<Point<1> > &support_point
 
 template <>
 void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                          vector<Point<1> > &support_points) const {
+                                          std::vector<Point<1> > &support_points) const {
   Assert (support_points.size() == dofs_per_cell,
          ExcWrongFieldDimension(support_points.size(), dofs_per_cell));
                                   // compute support points. The first ones
@@ -423,7 +423,7 @@ void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &c
                                   // now dofs on line
   for (unsigned int i=0; i<dofs_per_line; ++i) 
     support_points[next++] = cell->vertex(0) +
-                           Point<1>((i+1.0)/(dofs_per_line+1.0)*h);
+                            Point<1>((i+1.0)/(dofs_per_line+1.0)*h);
 };
 
 #endif
@@ -431,17 +431,17 @@ void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &c
 
 template <int dim>
 void FiniteElement<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &,
-                                        const vector<Point<dim> > &,
-                                        vector<Tensor<2,dim> > &,
+                                        const std::vector<Point<dim> > &,
+                                        std::vector<Tensor<2,dim> > &,
                                         const bool,
-                                        vector<Tensor<3,dim> > &,
+                                        std::vector<Tensor<3,dim> > &,
                                         const bool,
-                                        vector<Point<dim> > &,
+                                        std::vector<Point<dim> > &,
                                         const bool,
-                                        vector<Point<dim> > &,
+                                        std::vector<Point<dim> > &,
                                         const bool,
                                         const FullMatrix<double>      &,
-                                        const vector<vector<Tensor<1,dim> > > &) const {
+                                        const std::vector<std::vector<Tensor<1,dim> > > &) const {
   Assert (false, ExcPureFunctionCalled());
 };
 
@@ -449,22 +449,22 @@ void FiniteElement<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &,
 template <int dim>
 void FiniteElement<dim>::fill_fe_face_values (const DoFHandler<dim>::cell_iterator &cell,
                                              const unsigned int           face_no,
-                                             const vector<Point<dim-1> > &unit_points,
-                                             const vector<Point<dim> > &global_unit_points,
-                                             vector<Tensor<2,dim> >    &jacobians,
+                                             const std::vector<Point<dim-1> > &unit_points,
+                                             const std::vector<Point<dim> > &global_unit_points,
+                                             std::vector<Tensor<2,dim> >    &jacobians,
                                              const bool           compute_jacobians,
-                                             vector<Tensor<3,dim> >    &jacobians_grad,
+                                             std::vector<Tensor<3,dim> >    &jacobians_grad,
                                              const bool           compute_jacobians_grad,
-                                             vector<Point<dim> > &support_points,
+                                             std::vector<Point<dim> > &support_points,
                                              const bool           compute_support_points,
-                                             vector<Point<dim> > &q_points,
+                                             std::vector<Point<dim> > &q_points,
                                              const bool           compute_q_points,
-                                             vector<double>      &face_jacobi_determinants,
+                                             std::vector<double>      &face_jacobi_determinants,
                                              const bool           compute_face_jacobians,
-                                             vector<Point<dim> > &normal_vectors,
+                                             std::vector<Point<dim> > &normal_vectors,
                                              const bool           compute_normal_vectors,
                                              const FullMatrix<double>      &shape_values_transform,
-                                             const vector<vector<Tensor<1,dim> > > &shape_gradients_transform) const
+                                             const std::vector<std::vector<Tensor<1,dim> > > &shape_gradients_transform) const
 {
   Assert (jacobians.size() == unit_points.size(),
          typename FiniteElementBase<dim>::ExcWrongFieldDimension(jacobians.size(),
@@ -480,7 +480,7 @@ void FiniteElement<dim>::fill_fe_face_values (const DoFHandler<dim>::cell_iterat
                                                                  dofs_per_face));
   
                                   // size not checked since not used
-  static vector<Point<dim> > dummy(0);
+  static std::vector<Point<dim> > dummy(0);
   fill_fe_values (cell, global_unit_points,
                  jacobians, compute_jacobians,
                  jacobians_grad, compute_jacobians_grad,
@@ -505,20 +505,20 @@ template <int dim>
 void FiniteElement<dim>::fill_fe_subface_values (const DoFHandler<dim>::cell_iterator &cell,
                                                 const unsigned int           face_no,
                                                 const unsigned int           subface_no,
-                                                const vector<Point<dim-1> > &unit_points,
-                                                const vector<Point<dim> > &global_unit_points,
-                                                vector<Tensor<2,dim> >    &jacobians,
+                                                const std::vector<Point<dim-1> > &unit_points,
+                                                const std::vector<Point<dim> > &global_unit_points,
+                                                std::vector<Tensor<2,dim> >    &jacobians,
                                                 const bool           compute_jacobians,
-                                                vector<Tensor<3,dim> >    &jacobians_grad,
+                                                std::vector<Tensor<3,dim> >    &jacobians_grad,
                                                 const bool           compute_jacobians_grad,
-                                                vector<Point<dim> > &q_points,
+                                                std::vector<Point<dim> > &q_points,
                                                 const bool           compute_q_points,
-                                                vector<double>      &face_jacobi_determinants,
+                                                std::vector<double>      &face_jacobi_determinants,
                                                 const bool           compute_face_jacobians,
-                                                vector<Point<dim> > &normal_vectors,
+                                                std::vector<Point<dim> > &normal_vectors,
                                                 const bool           compute_normal_vectors,
                                                 const FullMatrix<double>      &shape_values_transform,
-                                                const vector<vector<Tensor<1,dim> > > &shape_gradients_transform) const
+                                                const std::vector<std::vector<Tensor<1,dim> > > &shape_gradients_transform) const
 {
   Assert (jacobians.size() == unit_points.size(),
          typename FiniteElementBase<dim>::ExcWrongFieldDimension(jacobians.size(),
@@ -530,7 +530,7 @@ void FiniteElement<dim>::fill_fe_subface_values (const DoFHandler<dim>::cell_ite
          typename FiniteElementBase<dim>::ExcWrongFieldDimension(global_unit_points.size(),
                                                                  unit_points.size()));
 
-  static vector<Point<dim> > dummy(0); // size not checked since not used
+  static std::vector<Point<dim> > dummy(0); // size not checked since not used
   fill_fe_values (cell, global_unit_points,
                  jacobians, compute_jacobians,
                  jacobians_grad, compute_jacobians_grad,
@@ -550,7 +550,7 @@ void FiniteElement<dim>::fill_fe_subface_values (const DoFHandler<dim>::cell_ite
 
 template <int dim>
 void
-FiniteElement<dim>::get_unit_support_points (vector<Point<dim> > &) const
+FiniteElement<dim>::get_unit_support_points (std::vector<Point<dim> > &) const
 {
   Assert (false, ExcPureFunctionCalled());
 };
@@ -559,7 +559,7 @@ FiniteElement<dim>::get_unit_support_points (vector<Point<dim> > &) const
 template <int dim>
 void
 FiniteElement<dim>::get_support_points (const DoFHandler<dim>::cell_iterator &,
-                                           vector<Point<dim> > &) const
+                                       std::vector<Point<dim> > &) const
 {
   Assert (false, ExcPureFunctionCalled());
 };
index e6bc8ef1ee0241f18528223f53e4ec3eb565b40d..4198e4fc7f81b396a0de2ee64fb8c51f88360475 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -26,7 +26,7 @@
 
   n_functions      := 5:
 
-  # note: support_points[i] is a vector which is indexed from
+  # note: support_points[i] is a std::vector which is indexed from
   # one and not from zero!
   support_points[0] := [0,0]:
   support_points[1] := [1,0]:
 
 template <>
 FECrissCross<1>::FECrissCross () :
-                                  // set more or less invalid data
+                                                // set more or less invalid data
                FiniteElement<1> (FiniteElementData<1> (0,0,0,0),
-                                 vector<bool>())
+                                 std::vector<bool>())
 {
   Assert (false, ExcNotUseful());
 };
@@ -343,21 +343,21 @@ Tensor<2,1> FECrissCross<1>::shape_grad_grad (const unsigned int, const Point<1>
 
 
 template <>
-void FECrissCross<1>::get_unit_support_points (vector<Point<1> >&) const {
+void FECrissCross<1>::get_unit_support_points (std::vector<Point<1> >&) const {
   Assert (false, ExcNotUseful());
 };
 
 
 template <>
 void FECrissCross<1>::get_support_points (const DoFHandler<1>::cell_iterator &,
-                                         vector<Point<1> > &) const {
+                                         std::vector<Point<1> > &) const {
   Assert (false, ExcNotUseful());
 };
 
 
 template <>
 void FECrissCross<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                              vector<Point<1> > &) const {
+                                              std::vector<Point<1> > &) const {
   Assert (false, ExcNotUseful());
 };
 
@@ -387,8 +387,8 @@ Tensor<1,1> FECrissCross<1>::shape_grad_transform (const unsigned int,
 
 template <>
 void FECrissCross<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
-                                         const vector<Point<0> > &,
-                                         vector<double>      &) const {
+                                         const std::vector<Point<0> > &,
+                                         std::vector<double>      &) const {
   Assert (false, ExcNotUseful());
 };
 
@@ -396,8 +396,8 @@ void FECrissCross<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
 template <>
 void FECrissCross<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &,
                                             const unsigned int,
-                                            const vector<Point<0> > &,
-                                            vector<double>      &) const {
+                                            const std::vector<Point<0> > &,
+                                            std::vector<double>      &) const {
   Assert (false, ExcNotUseful());
 };
 
@@ -405,8 +405,8 @@ void FECrissCross<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator
 template <>
 void FECrissCross<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                          const unsigned int,
-                                         const vector<Point<0> > &,
-                                         vector<Point<1> >       &) const {
+                                         const std::vector<Point<0> > &,
+                                         std::vector<Point<1> >       &) const {
   Assert (false, ExcNotUseful());
 };
 
@@ -415,25 +415,25 @@ template <>
 void FECrissCross<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                          const unsigned int,
                                          const unsigned int,
-                                         const vector<Point<0> > &,
-                                         vector<Point<1> >       &) const {
+                                         const std::vector<Point<0> > &,
+                                         std::vector<Point<1> >       &) const {
   Assert (false, ExcNotUseful());
 };
 
 
 template <>
 void FECrissCross<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &,
-                                      const vector<Point<1> > &,
-                                      vector<Tensor<2,1> >    &,
-                                      const bool            ,
-                                      vector<Tensor<3,1> > &,
-                                      const bool            ,
-                                      vector<Point<1> >    &,
-                                      const bool            ,
-                                      vector<Point<1> >    &,
-                                      const bool            ,
-                                      const FullMatrix<double>       &,
-                                      const vector<vector<Tensor<1,1> > > &) const {
+                                     const std::vector<Point<1> > &,
+                                     std::vector<Tensor<2,1> >    &,
+                                     const bool            ,
+                                     std::vector<Tensor<3,1> > &,
+                                     const bool            ,
+                                     std::vector<Point<1> >    &,
+                                     const bool            ,
+                                     std::vector<Point<1> >    &,
+                                     const bool            ,
+                                     const FullMatrix<double>       &,
+                                     const std::vector<std::vector<Tensor<1,1> > > &) const {
   Assert (false, ExcNotUseful());
 };
 
@@ -446,7 +446,7 @@ void FECrissCross<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &,
 template <>
 FECrissCross<2>::FECrissCross () :
                FiniteElement<2> (FiniteElementData<2> (1,0,1,5,1),
-                                 vector<bool> (1, false))
+                                 std::vector<bool> (1, false))
 {
   interface_constraints(0,0) = 1./2.;
   interface_constraints(0,1) = 1./2.;
@@ -566,9 +566,9 @@ FECrissCross<2>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FECrissCross<2>::get_unit_support_points (vector<Point<2> > &unit_points) const {
+void FECrissCross<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const {
   Assert(unit_points.size()==dofs_per_cell,
-         ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
+        ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
 
   unit_points[0] = Point<2> (0,0);
   unit_points[1] = Point<2> (1,0);
@@ -580,7 +580,7 @@ void FECrissCross<2>::get_unit_support_points (vector<Point<2> > &unit_points) c
 
 template <>
 void FECrissCross<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell,
-                                         vector<Point<2> > &support_points) const {
+                                         std::vector<Point<2> > &support_points) const {
   const unsigned int dim = 2;
   
   Assert (support_points.size() == dofs_per_cell,
@@ -616,7 +616,7 @@ void FECrissCross<2>::get_support_points (const DoFHandler<2>::cell_iterator &ce
 
 template <>
 void FECrissCross<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face,
-                                              vector<Point<2> > &support_points) const {
+                                              std::vector<Point<2> > &support_points) const {
   const unsigned int dim = 2;
   
   Assert ((support_points.size() == dofs_per_face) &&
@@ -789,8 +789,8 @@ Tensor<1,2> FECrissCross<2>::shape_grad_transform (const unsigned int i,
 
 template <>
 void FECrissCross<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &face,
-                                         const vector<Point<1> > &unit_points,
-                                         vector<double> &face_jacobians) const {
+                                         const std::vector<Point<1> > &unit_points,
+                                         std::vector<double> &face_jacobians) const {
                                   // more or less copied from the linear
                                   // finite element
   Assert (unit_points.size() == face_jacobians.size(),
@@ -810,8 +810,8 @@ void FECrissCross<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &fa
 template <>
 void FECrissCross<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator &face,
                                             const unsigned int,
-                                            const vector<Point<1> > &unit_points,
-                                            vector<double> &face_jacobians) const {
+                                            const std::vector<Point<1> > &unit_points,
+                                            std::vector<double> &face_jacobians) const {
                                   // more or less copied from the linear
                                   // finite element
   Assert (unit_points.size() == face_jacobians.size(),
@@ -833,8 +833,8 @@ void FECrissCross<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator
 template <>
 void FECrissCross<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
                                          const unsigned int       face_no,
-                                         const vector<Point<1> > &unit_points,
-                                         vector<Point<2> > &normal_vectors) const {
+                                         const std::vector<Point<1> > &unit_points,
+                                         std::vector<Point<2> > &normal_vectors) const {
                                   // more or less copied from the linear
                                   // finite element
   Assert (unit_points.size() == normal_vectors.size(),
@@ -864,8 +864,8 @@ template <>
 void FECrissCross<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
                                          const unsigned int       face_no,
                                          const unsigned int,
-                                         const vector<Point<1> > &unit_points,
-                                         vector<Point<2> >       &normal_vectors) const {
+                                         const std::vector<Point<1> > &unit_points,
+                                         std::vector<Point<2> >       &normal_vectors) const {
                                   // more or less copied from the linear
                                   // finite element
                                   // note, that in 2D the normal vectors to the
@@ -898,17 +898,17 @@ void FECrissCross<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &ce
 
 template <int dim>
 void FECrissCross<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &cell,
-                                       const vector<Point<dim> >            &unit_points,
-                                       vector<Tensor<2,dim> >               &jacobians,
+                                       const std::vector<Point<dim> >            &unit_points,
+                                       std::vector<Tensor<2,dim> >               &jacobians,
                                        const bool              compute_jacobians,
-                                       vector<Tensor<3,dim> > &jacobians_grad,
+                                       std::vector<Tensor<3,dim> > &jacobians_grad,
                                        const bool              compute_jacobians_grad,
-                                       vector<Point<dim> >    &support_points,
+                                       std::vector<Point<dim> >    &support_points,
                                        const bool compute_support_points,
-                                       vector<Point<dim> >    &q_points,
+                                       std::vector<Point<dim> >    &q_points,
                                        const bool              compute_q_points,
                                        const FullMatrix<double>         &shape_values_transform,
-                                       const vector<vector<Tensor<1,dim> > > &/*shape_grad_transform*/) const {
+                                       const std::vector<std::vector<Tensor<1,dim> > > &/*shape_grad_transform*/) const {
   Assert (jacobians.size() == unit_points.size(),
          typename FiniteElementBase<dim>::ExcWrongFieldDimension(jacobians.size(),
                                                                  unit_points.size()));
@@ -950,7 +950,7 @@ void FECrissCross<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &ce
 /* jacobi matrices: compute d(x)/d(xi) and invert this
    Let M(l) be the inverse of J at the quadrature point l, then
      M_{ij}(l) = sum_s p_i(s) d(N_s(l))/d(xi_j)
-   where p_i(s) is the i-th coordinate of the s-th vertex vector,
+   where p_i(s) is the i-th coordinate of the s-th vertex std::vector,
    N_s(l) is the value of the s-th shape function at the
    quadrature point l.
 
@@ -1127,9 +1127,9 @@ void FECrissCross<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &ce
 
 template <>
 FECrissCross<3>::FECrissCross () :
-                                  // set more or less invalid data
+                                                // set more or less invalid data
                FiniteElement<3> (FiniteElementData<3> (0,0,0,0,0,0),
-                                 vector<bool>())
+                                 std::vector<bool>())
 {
   Assert (false, ExcNotImplemented());
 };
@@ -1138,7 +1138,7 @@ FECrissCross<3>::FECrissCross () :
 template <>
 double
 FECrissCross<3>::shape_value (const unsigned int,
-                     const Point<3>    &) const
+                             const Point<3>    &) const
 {
   Assert (false, ExcNotImplemented());
   return 0;
@@ -1148,7 +1148,7 @@ FECrissCross<3>::shape_value (const unsigned int,
 template <>
 Tensor<1,3>
 FECrissCross<3>::shape_grad (const unsigned int,
-                    const Point<3>    &) const
+                            const Point<3>    &) const
 {
   Assert (false, ExcNotImplemented());
   return Tensor<1,3>();
@@ -1158,7 +1158,7 @@ FECrissCross<3>::shape_grad (const unsigned int,
 template <>
 Tensor<2,3>
 FECrissCross<3>::shape_grad_grad (const unsigned int,
-                         const Point<3>    &) const
+                                 const Point<3>    &) const
 {
   Assert (false, ExcNotImplemented());
   return Tensor<2,3>();
@@ -1168,14 +1168,14 @@ FECrissCross<3>::shape_grad_grad (const unsigned int,
 template <>
 void
 FECrissCross<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
-                               FullMatrix<double> &) const
+                                       FullMatrix<double> &) const
 {
   Assert (false, ExcNotImplemented());
 };
 
 
 template <>
-void FECrissCross<3>::get_unit_support_points (vector<Point<3> > &) const
+void FECrissCross<3>::get_unit_support_points (std::vector<Point<3> > &) const
 {
   Assert (false, ExcNotImplemented());
 };
@@ -1183,7 +1183,7 @@ void FECrissCross<3>::get_unit_support_points (vector<Point<3> > &) const
 
 template <>
 void FECrissCross<3>::get_support_points (const DoFHandler<3>::cell_iterator &,
-                                 vector<Point<3> >  &) const
+                                         std::vector<Point<3> >  &) const
 {
   Assert (false, ExcNotImplemented());
 };
@@ -1191,7 +1191,7 @@ void FECrissCross<3>::get_support_points (const DoFHandler<3>::cell_iterator &,
 
 template <>
 void FECrissCross<3>::get_face_support_points (const DoFHandler<3>::face_iterator &,
-                                      vector<Point<3> >  &) const
+                                              std::vector<Point<3> >  &) const
 {
   Assert (false, ExcNotImplemented());
 };
@@ -1199,8 +1199,8 @@ void FECrissCross<3>::get_face_support_points (const DoFHandler<3>::face_iterato
 
 template <>
 void FECrissCross<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &,
-                                         const vector<Point<2> > &,
-                                         vector<double>      &) const {
+                                         const std::vector<Point<2> > &,
+                                         std::vector<double>      &) const {
   Assert (false, ExcNotImplemented());
 };
 
@@ -1208,8 +1208,8 @@ void FECrissCross<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &,
 template <>
 void FECrissCross<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator &,
                                             const unsigned int,
-                                            const vector<Point<2> > &,
-                                            vector<double>      &) const {
+                                            const std::vector<Point<2> > &,
+                                            std::vector<double>      &) const {
   Assert (false, ExcNotImplemented());
 };
 
@@ -1217,8 +1217,8 @@ void FECrissCross<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator
 template <>
 void FECrissCross<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &,
                                          const unsigned int,
-                                         const vector<Point<2> > &,
-                                         vector<Point<3> >       &) const {
+                                         const std::vector<Point<2> > &,
+                                         std::vector<Point<3> >       &) const {
   Assert (false, ExcNotImplemented());
 };
 
@@ -1227,25 +1227,25 @@ template <>
 void FECrissCross<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &,
                                          const unsigned int,
                                          const unsigned int,
-                                         const vector<Point<2> > &,
-                                         vector<Point<3> >       &) const {
+                                         const std::vector<Point<2> > &,
+                                         std::vector<Point<3> >       &) const {
   Assert (false, ExcNotImplemented());
 };
 
 
 template <>
 void FECrissCross<3>::fill_fe_values (const DoFHandler<3>::cell_iterator &,
-                                     const vector<Point<3> > &,
-                                     vector<Tensor<2,3> >    &,
+                                     const std::vector<Point<3> > &,
+                                     std::vector<Tensor<2,3> >    &,
                                      const bool            ,
-                                     vector<Tensor<3,3> > &,
+                                     std::vector<Tensor<3,3> > &,
                                      const bool            ,
-                                     vector<Point<3> >    &,
+                                     std::vector<Point<3> >    &,
                                      const bool            ,
-                                     vector<Point<3> >    &,
+                                     std::vector<Point<3> >    &,
                                      const bool            ,
                                      const FullMatrix<double>       &,
-                                     const vector<vector<Tensor<1,3> > > &) const {
+                                     const std::vector<std::vector<Tensor<1,3> > > &) const {
   Assert (false, ExcNotImplemented());
 };
 
index a1913c760d05e34d36d66897465acabe8dbf3ebe..9dcb745bf479cb3fe6f088ee2b15bed3a0b233db 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@ template <> void FEQ3<deal_II_dimension>::initialize_matrices ();
 template <>
 FEQ3<1>::FEQ3 () :
                FEQ1Mapping<1> (1, 2, 0, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   initialize_matrices ();
 };
@@ -37,7 +37,7 @@ FEQ3<1>::FEQ3 () :
 template <>
 FEQ3<1>::FEQ3 (const int) :
                FEQ1Mapping<1> (0, 4, 0, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -117,7 +117,7 @@ void FEQ3<1>::initialize_matrices ()
 template <>
 double
 FEQ3<1>::shape_value (const unsigned int i,
-                           const Point<1>     &p) const
+                     const Point<1>     &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   const double xi = p(0);
@@ -135,7 +135,7 @@ FEQ3<1>::shape_value (const unsigned int i,
 template <>
 Tensor<1,1>
 FEQ3<1>::shape_grad (const unsigned int i,
-                          const Point<1>    &p) const
+                    const Point<1>    &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   const double xi = p(0);
@@ -158,7 +158,7 @@ FEQ3<1>::shape_grad (const unsigned int i,
 template <>
 Tensor<2,1>
 FEQ3<1>::shape_grad_grad (const unsigned int i,
-                               const Point<1>    &p) const
+                         const Point<1>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -177,21 +177,21 @@ FEQ3<1>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FEQ3<1>::get_unit_support_points (vector<Point<1> > &unit_points) const {
+void FEQ3<1>::get_unit_support_points (std::vector<Point<1> > &unit_points) const {
   FiniteElement<1>::get_unit_support_points (unit_points);
 };
 
 
 template <>
 void FEQ3<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                 vector<Point<1> >  &support_points) const {
+                                 std::vector<Point<1> >  &support_points) const {
   FiniteElement<1>::get_support_points (cell, support_points);
 };
 
 
 template <>
 void FEQ3<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                      vector<Point<1> >  &) const {
+                                      std::vector<Point<1> >  &) const {
   Assert (false, ExcInternalError());
 };
 
@@ -239,7 +239,7 @@ void FEQ3<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell,
 template <>
 FEQ3<2>::FEQ3 () :
                FEQ1Mapping<2> (1, 2, 4, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   interface_constraints(0,0) = -1.0/16.0;
   interface_constraints(0,1) = -1.0/16.0;
@@ -263,7 +263,7 @@ FEQ3<2>::FEQ3 () :
 template <>
 FEQ3<2>::FEQ3 (const int) :
                FEQ1Mapping<2> (0, 0, 16, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -695,7 +695,7 @@ void FEQ3<2>::initialize_matrices ()
 template <>
 double
 FEQ3<2>::shape_value (const unsigned int i,
-                               const Point<2>    &p) const
+                     const Point<2>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -704,54 +704,54 @@ FEQ3<2>::shape_value (const unsigned int i,
   switch (i)
     {
       case 0: return 1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi+(-11.0/2.0+
-121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi)*eta+(9.0-99.0/2.0*xi+81.0*xi*xi
--81.0/2.0*xi*xi*xi)*eta*eta+(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi
-*xi)*eta*eta*eta;
+                                                                121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi)*eta+(9.0-99.0/2.0*xi+81.0*xi*xi
+                                                                                                                    -81.0/2.0*xi*xi*xi)*eta*eta+(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi
+                                                                                                                                                 *xi)*eta*eta*eta;
       case 1: return xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi+(-11.0/2.0*xi+99.0/4.0
-*xi*xi-99.0/4.0*xi*xi*xi)*eta+(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta*eta
-+(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta;
+                                                       *xi*xi-99.0/4.0*xi*xi*xi)*eta+(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta*eta
+               +(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 2: return (xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi)*eta+(-9.0/2.0*xi+
-81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0*
-xi*xi*xi)*eta*eta*eta;
+                                                             81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0*
+                                                                                                        xi*xi*xi)*eta*eta*eta;
       case 3: return (1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi)*eta+(-9.0/
-2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0-99.0/4.0*xi+
-81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta;
+                                                                      2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0-99.0/4.0*xi+
+                                                                                                                                 81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 4: return 9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi+(-99.0/2.0*xi+
-495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi)*eta+(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*
-xi*xi)*eta*eta+(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta;
+                                                             495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi)*eta+(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*
+                                                                                                      xi*xi)*eta*eta+(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 5: return -9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi+(99.0/4.0*xi
--99.0*xi*xi+297.0/4.0*xi*xi*xi)*eta+(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*
-xi)*eta*eta+(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta;
+                                                              -99.0*xi*xi+297.0/4.0*xi*xi*xi)*eta+(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*
+                                                                                                   xi)*eta*eta+(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 6: return (9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta+(-45.0/2.0
-*xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0*xi-243.0/4.0*xi*xi+
-243.0/4.0*xi*xi*xi)*eta*eta*eta;
+                                                                   *xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0*xi-243.0/4.0*xi*xi+
+                                                                                                                    243.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 7: return (-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta+(18.0
-*xi-81.0*xi*xi+81.0*xi*xi*xi)*eta*eta+(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0*
-xi*xi*xi)*eta*eta*eta;
+                                                                        *xi-81.0*xi*xi+81.0*xi*xi*xi)*eta*eta+(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0*
+                                                                                                               xi*xi*xi)*eta*eta*eta;
       case 8: return (9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi)*eta+(-81.0/2.0
-*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta+(81.0/2.0*xi-405.0/4.0*xi*xi+
-243.0/4.0*xi*xi*xi)*eta*eta*eta;
+                                                                   *xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta+(81.0/2.0*xi-405.0/4.0*xi*xi+
+                                                                                                                    243.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 9: return (-9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi)*eta+(81.0/4.0
-*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta+(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0*
-xi*xi*xi)*eta*eta*eta;
+                                                                    *xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta+(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0*
+                                                                                                                xi*xi*xi)*eta*eta*eta;
       case 10: return (9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi)*eta+(
--45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0
--297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta;
+       -45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0
+                                                                           -297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 11: return (-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)
-*eta+(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta*eta+(-27.0/2.0+297.0/4.0*xi
--243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta;
+                *eta+(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta*eta+(-27.0/2.0+297.0/4.0*xi
+                                                                       -243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 12: return (81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi)*eta+(
--405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta*eta+(243.0/2.0*xi
--1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta*eta;
+       -405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta*eta+(243.0/2.0*xi
+                                                                    -1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 13: return (-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi)*eta+(
-405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta*eta+(-243.0/4.0*xi+243.0*xi*
-xi-729.0/4.0*xi*xi*xi)*eta*eta*eta;
+       405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta*eta+(-243.0/4.0*xi+243.0*xi*
+                                                              xi-729.0/4.0*xi*xi*xi)*eta*eta*eta;
       case 14: return (81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta+(-81.0*
-xi+324.0*xi*xi-243.0*xi*xi*xi)*eta*eta+(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi*
-xi*xi)*eta*eta*eta;
+                                                                      xi+324.0*xi*xi-243.0*xi*xi*xi)*eta*eta+(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi*
+                                                                                                              xi*xi)*eta*eta*eta;
       case 15: return (-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta+(
-162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta*eta+(-243.0/2.0*xi+1215.0/4.0*xi*xi
--729.0/4.0*xi*xi*xi)*eta*eta*eta;
+       162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta*eta+(-243.0/2.0*xi+1215.0/4.0*xi*xi
+                                                     -729.0/4.0*xi*xi*xi)*eta*eta*eta;
     };
   return 0;
 };
@@ -760,7 +760,7 @@ xi*xi)*eta*eta*eta;
 template <>
 Tensor<1,2>
 FEQ3<2>::shape_grad (const unsigned int i,
-                              const Point<2>    &p) const
+                    const Point<2>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -774,37 +774,37 @@ FEQ3<2>::shape_grad (const unsigned int i,
   switch (i)
     {
       case 0: return Point<2>(-11.0/2.0+18.0*xi-27.0/2.0*xi*xi+(121.0/4.0-99.0*xi+297.0/4.0*xi*xi)*eta+(-99.0/2.0+162.0*xi-243.0/2.0*xi*xi)*eta*eta+(99.0/4.0-81.0*xi+243.0/4.0*xi*xi)*eta*eta*eta,
-      -11.0/2.0+121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi+2.0*(9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta);
+                             -11.0/2.0+121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi+2.0*(9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta);
       case 1: return Point<2>(1.0-9.0*xi+27.0/2.0*xi*xi+(-11.0/2.0+99.0/2.0*xi-297.0/4.0*xi*xi)*eta+(9.0-81.0*xi+243.0/2.0*xi*xi)*eta*eta+(-9.0/2.0+81.0/2.0*xi-243.0/4.0*xi*xi)*eta*eta*eta,
-      -11.0/2.0*xi+99.0/4.0*xi*xi-99.0/4.0*xi*xi*xi+2.0*(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta);
+                             -11.0/2.0*xi+99.0/4.0*xi*xi-99.0/4.0*xi*xi*xi+2.0*(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta);
       case 2: return Point<2>((1.0-9.0*xi+27.0/2.0*xi*xi)*eta+(-9.0/2.0+81.0/2.0*xi-243.0/4.0*xi*xi)*eta*eta+(9.0/2.0-81.0/2.0*xi+243.0/4.0*xi*xi)*eta*eta*eta,
-      xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta);
+                             xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta);
       case 3: return Point<2>((-11.0/2.0+18.0*xi-27.0/2.0*xi*xi)*eta+(99.0/4.0-81.0*xi+243.0/4.0*xi*xi)*eta*eta+(-99.0/4.0+81.0*xi-243.0/4.0*xi*xi)*eta*eta*eta,
-      1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0-99.0/4.0*xi+81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta);
+                             1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0-99.0/4.0*xi+81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta);
       case 4: return Point<2>(9.0-45.0*xi+81.0/2.0*xi*xi+(-99.0/2.0+495.0/2.0*xi-891.0/4.0*xi*xi)*eta+(81.0-405.0*xi+729.0/2.0*xi*xi)*eta*eta+(-81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi)*eta*eta*eta,
-      -99.0/2.0*xi+495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi+2.0*(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi)*eta+3.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
+                             -99.0/2.0*xi+495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi+2.0*(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi)*eta+3.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
       case 5: return Point<2>(-9.0/2.0+36.0*xi-81.0/2.0*xi*xi+(99.0/4.0-198.0*xi+891.0/4.0*xi*xi)*eta+(-81.0/2.0+324.0*xi-729.0/2.0*xi*xi)*eta*eta+(81.0/4.0-162.0*xi+729.0/4.0*xi*xi)*eta*eta*eta,
-      99.0/4.0*xi-99.0*xi*xi+297.0/4.0*xi*xi*xi+2.0*(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi)*eta+3.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
+                             99.0/4.0*xi-99.0*xi*xi+297.0/4.0*xi*xi*xi+2.0*(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi)*eta+3.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
       case 6: return Point<2>((9.0-81.0*xi+243.0/2.0*xi*xi)*eta+(-45.0/2.0+405.0/2.0*xi-1215.0/4.0*xi*xi)*eta*eta+(27.0/2.0-243.0/2.0*xi+729.0/4.0*xi*xi)*eta*eta*eta,
-      9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0*xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0*xi-243.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
+                             9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0*xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0*xi-243.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
       case 7: return Point<2>((-9.0/2.0+81.0/2.0*xi-243.0/4.0*xi*xi)*eta+(18.0-162.0*xi+243.0*xi*xi)*eta*eta+(-27.0/2.0+243.0/2.0*xi-729.0/4.0*xi*xi)*eta*eta*eta,
-      -9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi+2.0*(18.0*xi-81.0*xi*xi+81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
+                             -9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi+2.0*(18.0*xi-81.0*xi*xi+81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
       case 8: return Point<2>((9.0-45.0*xi+81.0/2.0*xi*xi)*eta+(-81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi)*eta*eta+(81.0/2.0-405.0/2.0*xi+729.0/4.0*xi*xi)*eta*eta*eta,
-      9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi+2.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta+3.0*(81.0/2.0*xi-405.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
+                             9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi+2.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta+3.0*(81.0/2.0*xi-405.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
       case 9: return Point<2>((-9.0/2.0+36.0*xi-81.0/2.0*xi*xi)*eta+(81.0/4.0-162.0*xi+729.0/4.0*xi*xi)*eta*eta+(-81.0/4.0+162.0*xi-729.0/4.0*xi*xi)*eta*eta*eta,
-      -9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi+2.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta+3.0*(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
+                             -9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi+2.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta+3.0*(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
       case 10: return Point<2>((-99.0/2.0+162.0*xi-243.0/2.0*xi*xi)*eta+(495.0/4.0-405.0*xi+1215.0/4.0*xi*xi)*eta*eta+(-297.0/4.0+243.0*xi-729.0/4.0*xi*xi)*eta*eta*eta,
-      9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0-297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
+                              9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0-297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta);
       case 11: return Point<2>((99.0/4.0-81.0*xi+243.0/4.0*xi*xi)*eta+(-99.0+324.0*xi-243.0*xi*xi)*eta*eta+(297.0/4.0-243.0*xi+729.0/4.0*xi*xi)*eta*eta*eta,
-      -9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi+2.0*(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0+297.0/4.0*xi-243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
+                              -9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi+2.0*(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0+297.0/4.0*xi-243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta);
       case 12: return Point<2>((81.0-405.0*xi+729.0/2.0*xi*xi)*eta+(-405.0/2.0+2025.0/2.0*xi-3645.0/4.0*xi*xi)*eta*eta+(243.0/2.0-1215.0/2.0*xi+2187.0/4.0*xi*xi)*eta*eta*eta,
-      81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi+2.0*(-405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta+3.0*(243.0/2.0*xi-1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta);
+                              81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi+2.0*(-405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta+3.0*(243.0/2.0*xi-1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta);
       case 13: return Point<2>((-81.0/2.0+324.0*xi-729.0/2.0*xi*xi)*eta+(405.0/4.0-810.0*xi+3645.0/4.0*xi*xi)*eta*eta+(-243.0/4.0+486.0*xi-2187.0/4.0*xi*xi)*eta*eta*eta,
-      -81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi+2.0*(405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta+3.0*(-243.0/4.0*xi+243.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta);
+                              -81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi+2.0*(405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta+3.0*(-243.0/4.0*xi+243.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta);
       case 14: return Point<2>((81.0/4.0-162.0*xi+729.0/4.0*xi*xi)*eta+(-81.0+648.0*xi-729.0*xi*xi)*eta*eta+(243.0/4.0-486.0*xi+2187.0/4.0*xi*xi)*eta*eta*eta,
-      81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi+2.0*(-81.0*xi+324.0*xi*xi-243.0*xi*xi*xi)*eta+3.0*(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta);
+                              81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi+2.0*(-81.0*xi+324.0*xi*xi-243.0*xi*xi*xi)*eta+3.0*(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta);
       case 15: return Point<2>((-81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi)*eta+(162.0-810.0*xi+729.0*xi*xi)*eta*eta+(-243.0/2.0+1215.0/2.0*xi-2187.0/4.0*xi*xi)*eta*eta*eta,
-      -81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi+2.0*(162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta+3.0*(-243.0/2.0*xi+1215.0/4.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta);
+                              -81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi+2.0*(162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta+3.0*(-243.0/2.0*xi+1215.0/4.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta);
     };
   return Point<2> ();
 };
@@ -813,7 +813,7 @@ FEQ3<2>::shape_grad (const unsigned int i,
 template <>
 Tensor<2,2>
 FEQ3<2>::shape_grad_grad (const unsigned int i,
-                               const Point<2>    &p) const
+                         const Point<2>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -906,7 +906,7 @@ FEQ3<2>::shape_grad_grad (const unsigned int i,
            return_value[0][1] = -81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi+2.0*(162.0-810.0*xi+729.0*xi*xi)*eta+3.0*(-243.0/2.0+1215.0/2.0*xi-2187.0/4.0*xi*xi)*eta*eta;
            return_value[1][0] = -81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi+2.0*(162.0-810.0*xi+729.0*xi*xi)*eta+3.0*(-243.0/2.0+1215.0/2.0*xi-2187.0/4.0*xi*xi)*eta*eta;
            return_value[1][1] = 324.0*xi-810.0*xi*xi+486.0*xi*xi*xi+6.0*(-243.0/2.0*xi+1215.0/4.0*xi*xi-729.0/4.0*xi*xi*xi)*eta;
-      break;
+           break;
     };
   return return_value;
 };
@@ -914,7 +914,7 @@ FEQ3<2>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEQ3<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
-                                          FullMatrix<double> &local_mass_matrix) const {
+                                    FullMatrix<double> &local_mass_matrix) const {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
   Assert (local_mass_matrix.m() == dofs_per_cell,
@@ -1474,7 +1474,7 @@ void FEQ3<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
 
 
 template <>
-void FEQ3<2>::get_unit_support_points (vector<Point<2> > &unit_points) const {
+void FEQ3<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
 
@@ -1499,7 +1499,7 @@ void FEQ3<2>::get_unit_support_points (vector<Point<2> > &unit_points) const {
 
 template <>
 void FEQ3<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell,
-                                 vector<Point<2> >  &support_points) const {
+                                 std::vector<Point<2> >  &support_points) const {
   Assert (support_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (support_points.size(), dofs_per_cell));
 
@@ -1572,7 +1572,7 @@ void FEQ3<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell,
 
 template <>
 void FEQ3<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face,
-                                      vector<Point<2> >  &support_points) const {
+                                      std::vector<Point<2> >  &support_points) const {
   Assert (support_points.size() == dofs_per_face,
          ExcWrongFieldDimension (support_points.size(), dofs_per_face));
 
@@ -1597,260 +1597,260 @@ void FEQ3<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face,
 template <>
 FEQ3<3>::FEQ3 () :
                FEQ1Mapping<3> (1, 2, 4, 8, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
-      interface_constraints(0,0) = 1.0/256.0;
-      interface_constraints(0,1) = 1.0/256.0;
-      interface_constraints(0,2) = 1.0/256.0;
-      interface_constraints(0,3) = 1.0/256.0;
-      interface_constraints(0,4) = -9.0/256.0;
-      interface_constraints(0,5) = -9.0/256.0;
-      interface_constraints(0,6) = -9.0/256.0;
-      interface_constraints(0,7) = -9.0/256.0;
-      interface_constraints(0,8) = -9.0/256.0;
-      interface_constraints(0,9) = -9.0/256.0;
-      interface_constraints(0,10) = -9.0/256.0;
-      interface_constraints(0,11) = -9.0/256.0;
-      interface_constraints(0,12) = 81.0/256.0;
-      interface_constraints(0,13) = 81.0/256.0;
-      interface_constraints(0,14) = 81.0/256.0;
-      interface_constraints(0,15) = 81.0/256.0;
-      interface_constraints(1,0) = -1.0/16.0;
-      interface_constraints(1,1) = -1.0/16.0;
-      interface_constraints(1,4) = 9.0/16.0;
-      interface_constraints(1,5) = 9.0/16.0;
-      interface_constraints(2,1) = -1.0/16.0;
-      interface_constraints(2,2) = -1.0/16.0;
-      interface_constraints(2,6) = 9.0/16.0;
-      interface_constraints(2,7) = 9.0/16.0;
-      interface_constraints(3,2) = -1.0/16.0;
-      interface_constraints(3,3) = -1.0/16.0;
-      interface_constraints(3,8) = 9.0/16.0;
-      interface_constraints(3,9) = 9.0/16.0;
-      interface_constraints(4,0) = -1.0/16.0;
-      interface_constraints(4,3) = -1.0/16.0;
-      interface_constraints(4,10) = 9.0/16.0;
-      interface_constraints(4,11) = 9.0/16.0;
-      interface_constraints(5,0) = -5.0/256.0;
-      interface_constraints(5,1) = -5.0/256.0;
-      interface_constraints(5,2) = -1.0/256.0;
-      interface_constraints(5,3) = -1.0/256.0;
-      interface_constraints(5,4) = 45.0/256.0;
-      interface_constraints(5,5) = 45.0/256.0;
-      interface_constraints(5,6) = -15.0/256.0;
-      interface_constraints(5,7) = 5.0/256.0;
-      interface_constraints(5,8) = 9.0/256.0;
-      interface_constraints(5,9) = 9.0/256.0;
-      interface_constraints(5,10) = -15.0/256.0;
-      interface_constraints(5,11) = 5.0/256.0;
-      interface_constraints(5,12) = 135.0/256.0;
-      interface_constraints(5,13) = 135.0/256.0;
-      interface_constraints(5,14) = -45.0/256.0;
-      interface_constraints(5,15) = -45.0/256.0;
-      interface_constraints(6,6) = -1.0/16.0;
-      interface_constraints(6,10) = -1.0/16.0;
-      interface_constraints(6,12) = 9.0/16.0;
-      interface_constraints(6,13) = 9.0/16.0;
-      interface_constraints(7,5) = -1.0/16.0;
-      interface_constraints(7,9) = -1.0/16.0;
-      interface_constraints(7,13) = 9.0/16.0;
-      interface_constraints(7,15) = 9.0/16.0;
-      interface_constraints(8,0) = -1.0/256.0;
-      interface_constraints(8,1) = -5.0/256.0;
-      interface_constraints(8,2) = -5.0/256.0;
-      interface_constraints(8,3) = -1.0/256.0;
-      interface_constraints(8,4) = 5.0/256.0;
-      interface_constraints(8,5) = -15.0/256.0;
-      interface_constraints(8,6) = 45.0/256.0;
-      interface_constraints(8,7) = 45.0/256.0;
-      interface_constraints(8,8) = 5.0/256.0;
-      interface_constraints(8,9) = -15.0/256.0;
-      interface_constraints(8,10) = 9.0/256.0;
-      interface_constraints(8,11) = 9.0/256.0;
-      interface_constraints(8,12) = -45.0/256.0;
-      interface_constraints(8,13) = 135.0/256.0;
-      interface_constraints(8,14) = -45.0/256.0;
-      interface_constraints(8,15) = 135.0/256.0;
-      interface_constraints(9,7) = -1.0/16.0;
-      interface_constraints(9,11) = -1.0/16.0;
-      interface_constraints(9,14) = 9.0/16.0;
-      interface_constraints(9,15) = 9.0/16.0;
-      interface_constraints(10,0) = -1.0/256.0;
-      interface_constraints(10,1) = -1.0/256.0;
-      interface_constraints(10,2) = -5.0/256.0;
-      interface_constraints(10,3) = -5.0/256.0;
-      interface_constraints(10,4) = 9.0/256.0;
-      interface_constraints(10,5) = 9.0/256.0;
-      interface_constraints(10,6) = 5.0/256.0;
-      interface_constraints(10,7) = -15.0/256.0;
-      interface_constraints(10,8) = 45.0/256.0;
-      interface_constraints(10,9) = 45.0/256.0;
-      interface_constraints(10,10) = 5.0/256.0;
-      interface_constraints(10,11) = -15.0/256.0;
-      interface_constraints(10,12) = -45.0/256.0;
-      interface_constraints(10,13) = -45.0/256.0;
-      interface_constraints(10,14) = 135.0/256.0;
-      interface_constraints(10,15) = 135.0/256.0;
-      interface_constraints(11,0) = -5.0/256.0;
-      interface_constraints(11,1) = -1.0/256.0;
-      interface_constraints(11,2) = -1.0/256.0;
-      interface_constraints(11,3) = -5.0/256.0;
-      interface_constraints(11,4) = -15.0/256.0;
-      interface_constraints(11,5) = 5.0/256.0;
-      interface_constraints(11,6) = 9.0/256.0;
-      interface_constraints(11,7) = 9.0/256.0;
-      interface_constraints(11,8) = -15.0/256.0;
-      interface_constraints(11,9) = 5.0/256.0;
-      interface_constraints(11,10) = 45.0/256.0;
-      interface_constraints(11,11) = 45.0/256.0;
-      interface_constraints(11,12) = 135.0/256.0;
-      interface_constraints(11,13) = -45.0/256.0;
-      interface_constraints(11,14) = 135.0/256.0;
-      interface_constraints(11,15) = -45.0/256.0;
-      interface_constraints(12,4) = -1.0/16.0;
-      interface_constraints(12,8) = -1.0/16.0;
-      interface_constraints(12,12) = 9.0/16.0;
-      interface_constraints(12,14) = 9.0/16.0;
-      interface_constraints(13,0) = 5.0/16.0;
-      interface_constraints(13,1) = 1.0/16.0;
-      interface_constraints(13,4) = 15.0/16.0;
-      interface_constraints(13,5) = -5.0/16.0;
-      interface_constraints(14,4) = 1.0;
-      interface_constraints(15,5) = 1.0;
-      interface_constraints(16,0) = 1.0/16.0;
-      interface_constraints(16,1) = 5.0/16.0;
-      interface_constraints(16,4) = -5.0/16.0;
-      interface_constraints(16,5) = 15.0/16.0;
-      interface_constraints(17,1) = 5.0/16.0;
-      interface_constraints(17,2) = 1.0/16.0;
-      interface_constraints(17,6) = 15.0/16.0;
-      interface_constraints(17,7) = -5.0/16.0;
-      interface_constraints(18,6) = 1.0;
-      interface_constraints(19,7) = 1.0;
-      interface_constraints(20,1) = 1.0/16.0;
-      interface_constraints(20,2) = 5.0/16.0;
-      interface_constraints(20,6) = -5.0/16.0;
-      interface_constraints(20,7) = 15.0/16.0;
-      interface_constraints(21,2) = 1.0/16.0;
-      interface_constraints(21,3) = 5.0/16.0;
-      interface_constraints(21,8) = 15.0/16.0;
-      interface_constraints(21,9) = -5.0/16.0;
-      interface_constraints(22,8) = 1.0;
-      interface_constraints(23,9) = 1.0;
-      interface_constraints(24,2) = 5.0/16.0;
-      interface_constraints(24,3) = 1.0/16.0;
-      interface_constraints(24,8) = -5.0/16.0;
-      interface_constraints(24,9) = 15.0/16.0;
-      interface_constraints(25,0) = 5.0/16.0;
-      interface_constraints(25,3) = 1.0/16.0;
-      interface_constraints(25,10) = 15.0/16.0;
-      interface_constraints(25,11) = -5.0/16.0;
-      interface_constraints(26,10) = 1.0;
-      interface_constraints(27,11) = 1.0;
-      interface_constraints(28,0) = 1.0/16.0;
-      interface_constraints(28,3) = 5.0/16.0;
-      interface_constraints(28,10) = -5.0/16.0;
-      interface_constraints(28,11) = 15.0/16.0;
-      interface_constraints(29,0) = 25.0/256.0;
-      interface_constraints(29,1) = 5.0/256.0;
-      interface_constraints(29,2) = 1.0/256.0;
-      interface_constraints(29,3) = 5.0/256.0;
-      interface_constraints(29,4) = 75.0/256.0;
-      interface_constraints(29,5) = -25.0/256.0;
-      interface_constraints(29,6) = 15.0/256.0;
-      interface_constraints(29,7) = -5.0/256.0;
-      interface_constraints(29,8) = 15.0/256.0;
-      interface_constraints(29,9) = -5.0/256.0;
-      interface_constraints(29,10) = 75.0/256.0;
-      interface_constraints(29,11) = -25.0/256.0;
-      interface_constraints(29,12) = 225.0/256.0;
-      interface_constraints(29,13) = -75.0/256.0;
-      interface_constraints(29,14) = -75.0/256.0;
-      interface_constraints(29,15) = 25.0/256.0;
-      interface_constraints(30,4) = 5.0/16.0;
-      interface_constraints(30,8) = 1.0/16.0;
-      interface_constraints(30,12) = 15.0/16.0;
-      interface_constraints(30,14) = -5.0/16.0;
-      interface_constraints(31,6) = 1.0/16.0;
-      interface_constraints(31,10) = 5.0/16.0;
-      interface_constraints(31,12) = 15.0/16.0;
-      interface_constraints(31,13) = -5.0/16.0;
-      interface_constraints(32,12) = 1.0;
-      interface_constraints(33,5) = 5.0/16.0;
-      interface_constraints(33,9) = 1.0/16.0;
-      interface_constraints(33,13) = 15.0/16.0;
-      interface_constraints(33,15) = -5.0/16.0;
-      interface_constraints(34,0) = 5.0/256.0;
-      interface_constraints(34,1) = 25.0/256.0;
-      interface_constraints(34,2) = 5.0/256.0;
-      interface_constraints(34,3) = 1.0/256.0;
-      interface_constraints(34,4) = -25.0/256.0;
-      interface_constraints(34,5) = 75.0/256.0;
-      interface_constraints(34,6) = 75.0/256.0;
-      interface_constraints(34,7) = -25.0/256.0;
-      interface_constraints(34,8) = -5.0/256.0;
-      interface_constraints(34,9) = 15.0/256.0;
-      interface_constraints(34,10) = 15.0/256.0;
-      interface_constraints(34,11) = -5.0/256.0;
-      interface_constraints(34,12) = -75.0/256.0;
-      interface_constraints(34,13) = 225.0/256.0;
-      interface_constraints(34,14) = 25.0/256.0;
-      interface_constraints(34,15) = -75.0/256.0;
-      interface_constraints(35,13) = 1.0;
-      interface_constraints(36,6) = 5.0/16.0;
-      interface_constraints(36,10) = 1.0/16.0;
-      interface_constraints(36,12) = -5.0/16.0;
-      interface_constraints(36,13) = 15.0/16.0;
-      interface_constraints(37,15) = 1.0;
-      interface_constraints(38,7) = 5.0/16.0;
-      interface_constraints(38,11) = 1.0/16.0;
-      interface_constraints(38,14) = -5.0/16.0;
-      interface_constraints(38,15) = 15.0/16.0;
-      interface_constraints(39,5) = 1.0/16.0;
-      interface_constraints(39,9) = 5.0/16.0;
-      interface_constraints(39,13) = -5.0/16.0;
-      interface_constraints(39,15) = 15.0/16.0;
-      interface_constraints(40,0) = 1.0/256.0;
-      interface_constraints(40,1) = 5.0/256.0;
-      interface_constraints(40,2) = 25.0/256.0;
-      interface_constraints(40,3) = 5.0/256.0;
-      interface_constraints(40,4) = -5.0/256.0;
-      interface_constraints(40,5) = 15.0/256.0;
-      interface_constraints(40,6) = -25.0/256.0;
-      interface_constraints(40,7) = 75.0/256.0;
-      interface_constraints(40,8) = -25.0/256.0;
-      interface_constraints(40,9) = 75.0/256.0;
-      interface_constraints(40,10) = -5.0/256.0;
-      interface_constraints(40,11) = 15.0/256.0;
-      interface_constraints(40,12) = 25.0/256.0;
-      interface_constraints(40,13) = -75.0/256.0;
-      interface_constraints(40,14) = -75.0/256.0;
-      interface_constraints(40,15) = 225.0/256.0;
-      interface_constraints(41,7) = 1.0/16.0;
-      interface_constraints(41,11) = 5.0/16.0;
-      interface_constraints(41,14) = 15.0/16.0;
-      interface_constraints(41,15) = -5.0/16.0;
-      interface_constraints(42,14) = 1.0;
-      interface_constraints(43,0) = 5.0/256.0;
-      interface_constraints(43,1) = 1.0/256.0;
-      interface_constraints(43,2) = 5.0/256.0;
-      interface_constraints(43,3) = 25.0/256.0;
-      interface_constraints(43,4) = 15.0/256.0;
-      interface_constraints(43,5) = -5.0/256.0;
-      interface_constraints(43,6) = -5.0/256.0;
-      interface_constraints(43,7) = 15.0/256.0;
-      interface_constraints(43,8) = 75.0/256.0;
-      interface_constraints(43,9) = -25.0/256.0;
-      interface_constraints(43,10) = -25.0/256.0;
-      interface_constraints(43,11) = 75.0/256.0;
-      interface_constraints(43,12) = -75.0/256.0;
-      interface_constraints(43,13) = 25.0/256.0;
-      interface_constraints(43,14) = 225.0/256.0;
-      interface_constraints(43,15) = -75.0/256.0;
-      interface_constraints(44,4) = 1.0/16.0;
-      interface_constraints(44,8) = 5.0/16.0;
-      interface_constraints(44,12) = -5.0/16.0;
-      interface_constraints(44,14) = 15.0/16.0;
+  interface_constraints(0,0) = 1.0/256.0;
+  interface_constraints(0,1) = 1.0/256.0;
+  interface_constraints(0,2) = 1.0/256.0;
+  interface_constraints(0,3) = 1.0/256.0;
+  interface_constraints(0,4) = -9.0/256.0;
+  interface_constraints(0,5) = -9.0/256.0;
+  interface_constraints(0,6) = -9.0/256.0;
+  interface_constraints(0,7) = -9.0/256.0;
+  interface_constraints(0,8) = -9.0/256.0;
+  interface_constraints(0,9) = -9.0/256.0;
+  interface_constraints(0,10) = -9.0/256.0;
+  interface_constraints(0,11) = -9.0/256.0;
+  interface_constraints(0,12) = 81.0/256.0;
+  interface_constraints(0,13) = 81.0/256.0;
+  interface_constraints(0,14) = 81.0/256.0;
+  interface_constraints(0,15) = 81.0/256.0;
+  interface_constraints(1,0) = -1.0/16.0;
+  interface_constraints(1,1) = -1.0/16.0;
+  interface_constraints(1,4) = 9.0/16.0;
+  interface_constraints(1,5) = 9.0/16.0;
+  interface_constraints(2,1) = -1.0/16.0;
+  interface_constraints(2,2) = -1.0/16.0;
+  interface_constraints(2,6) = 9.0/16.0;
+  interface_constraints(2,7) = 9.0/16.0;
+  interface_constraints(3,2) = -1.0/16.0;
+  interface_constraints(3,3) = -1.0/16.0;
+  interface_constraints(3,8) = 9.0/16.0;
+  interface_constraints(3,9) = 9.0/16.0;
+  interface_constraints(4,0) = -1.0/16.0;
+  interface_constraints(4,3) = -1.0/16.0;
+  interface_constraints(4,10) = 9.0/16.0;
+  interface_constraints(4,11) = 9.0/16.0;
+  interface_constraints(5,0) = -5.0/256.0;
+  interface_constraints(5,1) = -5.0/256.0;
+  interface_constraints(5,2) = -1.0/256.0;
+  interface_constraints(5,3) = -1.0/256.0;
+  interface_constraints(5,4) = 45.0/256.0;
+  interface_constraints(5,5) = 45.0/256.0;
+  interface_constraints(5,6) = -15.0/256.0;
+  interface_constraints(5,7) = 5.0/256.0;
+  interface_constraints(5,8) = 9.0/256.0;
+  interface_constraints(5,9) = 9.0/256.0;
+  interface_constraints(5,10) = -15.0/256.0;
+  interface_constraints(5,11) = 5.0/256.0;
+  interface_constraints(5,12) = 135.0/256.0;
+  interface_constraints(5,13) = 135.0/256.0;
+  interface_constraints(5,14) = -45.0/256.0;
+  interface_constraints(5,15) = -45.0/256.0;
+  interface_constraints(6,6) = -1.0/16.0;
+  interface_constraints(6,10) = -1.0/16.0;
+  interface_constraints(6,12) = 9.0/16.0;
+  interface_constraints(6,13) = 9.0/16.0;
+  interface_constraints(7,5) = -1.0/16.0;
+  interface_constraints(7,9) = -1.0/16.0;
+  interface_constraints(7,13) = 9.0/16.0;
+  interface_constraints(7,15) = 9.0/16.0;
+  interface_constraints(8,0) = -1.0/256.0;
+  interface_constraints(8,1) = -5.0/256.0;
+  interface_constraints(8,2) = -5.0/256.0;
+  interface_constraints(8,3) = -1.0/256.0;
+  interface_constraints(8,4) = 5.0/256.0;
+  interface_constraints(8,5) = -15.0/256.0;
+  interface_constraints(8,6) = 45.0/256.0;
+  interface_constraints(8,7) = 45.0/256.0;
+  interface_constraints(8,8) = 5.0/256.0;
+  interface_constraints(8,9) = -15.0/256.0;
+  interface_constraints(8,10) = 9.0/256.0;
+  interface_constraints(8,11) = 9.0/256.0;
+  interface_constraints(8,12) = -45.0/256.0;
+  interface_constraints(8,13) = 135.0/256.0;
+  interface_constraints(8,14) = -45.0/256.0;
+  interface_constraints(8,15) = 135.0/256.0;
+  interface_constraints(9,7) = -1.0/16.0;
+  interface_constraints(9,11) = -1.0/16.0;
+  interface_constraints(9,14) = 9.0/16.0;
+  interface_constraints(9,15) = 9.0/16.0;
+  interface_constraints(10,0) = -1.0/256.0;
+  interface_constraints(10,1) = -1.0/256.0;
+  interface_constraints(10,2) = -5.0/256.0;
+  interface_constraints(10,3) = -5.0/256.0;
+  interface_constraints(10,4) = 9.0/256.0;
+  interface_constraints(10,5) = 9.0/256.0;
+  interface_constraints(10,6) = 5.0/256.0;
+  interface_constraints(10,7) = -15.0/256.0;
+  interface_constraints(10,8) = 45.0/256.0;
+  interface_constraints(10,9) = 45.0/256.0;
+  interface_constraints(10,10) = 5.0/256.0;
+  interface_constraints(10,11) = -15.0/256.0;
+  interface_constraints(10,12) = -45.0/256.0;
+  interface_constraints(10,13) = -45.0/256.0;
+  interface_constraints(10,14) = 135.0/256.0;
+  interface_constraints(10,15) = 135.0/256.0;
+  interface_constraints(11,0) = -5.0/256.0;
+  interface_constraints(11,1) = -1.0/256.0;
+  interface_constraints(11,2) = -1.0/256.0;
+  interface_constraints(11,3) = -5.0/256.0;
+  interface_constraints(11,4) = -15.0/256.0;
+  interface_constraints(11,5) = 5.0/256.0;
+  interface_constraints(11,6) = 9.0/256.0;
+  interface_constraints(11,7) = 9.0/256.0;
+  interface_constraints(11,8) = -15.0/256.0;
+  interface_constraints(11,9) = 5.0/256.0;
+  interface_constraints(11,10) = 45.0/256.0;
+  interface_constraints(11,11) = 45.0/256.0;
+  interface_constraints(11,12) = 135.0/256.0;
+  interface_constraints(11,13) = -45.0/256.0;
+  interface_constraints(11,14) = 135.0/256.0;
+  interface_constraints(11,15) = -45.0/256.0;
+  interface_constraints(12,4) = -1.0/16.0;
+  interface_constraints(12,8) = -1.0/16.0;
+  interface_constraints(12,12) = 9.0/16.0;
+  interface_constraints(12,14) = 9.0/16.0;
+  interface_constraints(13,0) = 5.0/16.0;
+  interface_constraints(13,1) = 1.0/16.0;
+  interface_constraints(13,4) = 15.0/16.0;
+  interface_constraints(13,5) = -5.0/16.0;
+  interface_constraints(14,4) = 1.0;
+  interface_constraints(15,5) = 1.0;
+  interface_constraints(16,0) = 1.0/16.0;
+  interface_constraints(16,1) = 5.0/16.0;
+  interface_constraints(16,4) = -5.0/16.0;
+  interface_constraints(16,5) = 15.0/16.0;
+  interface_constraints(17,1) = 5.0/16.0;
+  interface_constraints(17,2) = 1.0/16.0;
+  interface_constraints(17,6) = 15.0/16.0;
+  interface_constraints(17,7) = -5.0/16.0;
+  interface_constraints(18,6) = 1.0;
+  interface_constraints(19,7) = 1.0;
+  interface_constraints(20,1) = 1.0/16.0;
+  interface_constraints(20,2) = 5.0/16.0;
+  interface_constraints(20,6) = -5.0/16.0;
+  interface_constraints(20,7) = 15.0/16.0;
+  interface_constraints(21,2) = 1.0/16.0;
+  interface_constraints(21,3) = 5.0/16.0;
+  interface_constraints(21,8) = 15.0/16.0;
+  interface_constraints(21,9) = -5.0/16.0;
+  interface_constraints(22,8) = 1.0;
+  interface_constraints(23,9) = 1.0;
+  interface_constraints(24,2) = 5.0/16.0;
+  interface_constraints(24,3) = 1.0/16.0;
+  interface_constraints(24,8) = -5.0/16.0;
+  interface_constraints(24,9) = 15.0/16.0;
+  interface_constraints(25,0) = 5.0/16.0;
+  interface_constraints(25,3) = 1.0/16.0;
+  interface_constraints(25,10) = 15.0/16.0;
+  interface_constraints(25,11) = -5.0/16.0;
+  interface_constraints(26,10) = 1.0;
+  interface_constraints(27,11) = 1.0;
+  interface_constraints(28,0) = 1.0/16.0;
+  interface_constraints(28,3) = 5.0/16.0;
+  interface_constraints(28,10) = -5.0/16.0;
+  interface_constraints(28,11) = 15.0/16.0;
+  interface_constraints(29,0) = 25.0/256.0;
+  interface_constraints(29,1) = 5.0/256.0;
+  interface_constraints(29,2) = 1.0/256.0;
+  interface_constraints(29,3) = 5.0/256.0;
+  interface_constraints(29,4) = 75.0/256.0;
+  interface_constraints(29,5) = -25.0/256.0;
+  interface_constraints(29,6) = 15.0/256.0;
+  interface_constraints(29,7) = -5.0/256.0;
+  interface_constraints(29,8) = 15.0/256.0;
+  interface_constraints(29,9) = -5.0/256.0;
+  interface_constraints(29,10) = 75.0/256.0;
+  interface_constraints(29,11) = -25.0/256.0;
+  interface_constraints(29,12) = 225.0/256.0;
+  interface_constraints(29,13) = -75.0/256.0;
+  interface_constraints(29,14) = -75.0/256.0;
+  interface_constraints(29,15) = 25.0/256.0;
+  interface_constraints(30,4) = 5.0/16.0;
+  interface_constraints(30,8) = 1.0/16.0;
+  interface_constraints(30,12) = 15.0/16.0;
+  interface_constraints(30,14) = -5.0/16.0;
+  interface_constraints(31,6) = 1.0/16.0;
+  interface_constraints(31,10) = 5.0/16.0;
+  interface_constraints(31,12) = 15.0/16.0;
+  interface_constraints(31,13) = -5.0/16.0;
+  interface_constraints(32,12) = 1.0;
+  interface_constraints(33,5) = 5.0/16.0;
+  interface_constraints(33,9) = 1.0/16.0;
+  interface_constraints(33,13) = 15.0/16.0;
+  interface_constraints(33,15) = -5.0/16.0;
+  interface_constraints(34,0) = 5.0/256.0;
+  interface_constraints(34,1) = 25.0/256.0;
+  interface_constraints(34,2) = 5.0/256.0;
+  interface_constraints(34,3) = 1.0/256.0;
+  interface_constraints(34,4) = -25.0/256.0;
+  interface_constraints(34,5) = 75.0/256.0;
+  interface_constraints(34,6) = 75.0/256.0;
+  interface_constraints(34,7) = -25.0/256.0;
+  interface_constraints(34,8) = -5.0/256.0;
+  interface_constraints(34,9) = 15.0/256.0;
+  interface_constraints(34,10) = 15.0/256.0;
+  interface_constraints(34,11) = -5.0/256.0;
+  interface_constraints(34,12) = -75.0/256.0;
+  interface_constraints(34,13) = 225.0/256.0;
+  interface_constraints(34,14) = 25.0/256.0;
+  interface_constraints(34,15) = -75.0/256.0;
+  interface_constraints(35,13) = 1.0;
+  interface_constraints(36,6) = 5.0/16.0;
+  interface_constraints(36,10) = 1.0/16.0;
+  interface_constraints(36,12) = -5.0/16.0;
+  interface_constraints(36,13) = 15.0/16.0;
+  interface_constraints(37,15) = 1.0;
+  interface_constraints(38,7) = 5.0/16.0;
+  interface_constraints(38,11) = 1.0/16.0;
+  interface_constraints(38,14) = -5.0/16.0;
+  interface_constraints(38,15) = 15.0/16.0;
+  interface_constraints(39,5) = 1.0/16.0;
+  interface_constraints(39,9) = 5.0/16.0;
+  interface_constraints(39,13) = -5.0/16.0;
+  interface_constraints(39,15) = 15.0/16.0;
+  interface_constraints(40,0) = 1.0/256.0;
+  interface_constraints(40,1) = 5.0/256.0;
+  interface_constraints(40,2) = 25.0/256.0;
+  interface_constraints(40,3) = 5.0/256.0;
+  interface_constraints(40,4) = -5.0/256.0;
+  interface_constraints(40,5) = 15.0/256.0;
+  interface_constraints(40,6) = -25.0/256.0;
+  interface_constraints(40,7) = 75.0/256.0;
+  interface_constraints(40,8) = -25.0/256.0;
+  interface_constraints(40,9) = 75.0/256.0;
+  interface_constraints(40,10) = -5.0/256.0;
+  interface_constraints(40,11) = 15.0/256.0;
+  interface_constraints(40,12) = 25.0/256.0;
+  interface_constraints(40,13) = -75.0/256.0;
+  interface_constraints(40,14) = -75.0/256.0;
+  interface_constraints(40,15) = 225.0/256.0;
+  interface_constraints(41,7) = 1.0/16.0;
+  interface_constraints(41,11) = 5.0/16.0;
+  interface_constraints(41,14) = 15.0/16.0;
+  interface_constraints(41,15) = -5.0/16.0;
+  interface_constraints(42,14) = 1.0;
+  interface_constraints(43,0) = 5.0/256.0;
+  interface_constraints(43,1) = 1.0/256.0;
+  interface_constraints(43,2) = 5.0/256.0;
+  interface_constraints(43,3) = 25.0/256.0;
+  interface_constraints(43,4) = 15.0/256.0;
+  interface_constraints(43,5) = -5.0/256.0;
+  interface_constraints(43,6) = -5.0/256.0;
+  interface_constraints(43,7) = 15.0/256.0;
+  interface_constraints(43,8) = 75.0/256.0;
+  interface_constraints(43,9) = -25.0/256.0;
+  interface_constraints(43,10) = -25.0/256.0;
+  interface_constraints(43,11) = 75.0/256.0;
+  interface_constraints(43,12) = -75.0/256.0;
+  interface_constraints(43,13) = 25.0/256.0;
+  interface_constraints(43,14) = 225.0/256.0;
+  interface_constraints(43,15) = -75.0/256.0;
+  interface_constraints(44,4) = 1.0/16.0;
+  interface_constraints(44,8) = 5.0/16.0;
+  interface_constraints(44,12) = -5.0/16.0;
+  interface_constraints(44,14) = 15.0/16.0;
 
   initialize_matrices ();
 };
@@ -1859,7 +1859,7 @@ FEQ3<3>::FEQ3 () :
 template <>
 FEQ3<3>::FEQ3 (const int) :
                FEQ1Mapping<3> (0, 0, 0, 64, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -1868,5581 +1868,5581 @@ FEQ3<3>::FEQ3 (const int) :
 template <>
 void FEQ3<3>::initialize_matrices ()
 {
-      prolongation[0](0,0) = 1.0;
-      prolongation[0](1,0) = -1.0/16.0;
-      prolongation[0](1,1) = -1.0/16.0;
-      prolongation[0](1,8) = 9.0/16.0;
-      prolongation[0](1,9) = 9.0/16.0;
-      prolongation[0](2,0) = 1.0/256.0;
-      prolongation[0](2,1) = 1.0/256.0;
-      prolongation[0](2,2) = 1.0/256.0;
-      prolongation[0](2,3) = 1.0/256.0;
-      prolongation[0](2,8) = -9.0/256.0;
-      prolongation[0](2,9) = -9.0/256.0;
-      prolongation[0](2,10) = -9.0/256.0;
-      prolongation[0](2,11) = -9.0/256.0;
-      prolongation[0](2,12) = -9.0/256.0;
-      prolongation[0](2,13) = -9.0/256.0;
-      prolongation[0](2,14) = -9.0/256.0;
-      prolongation[0](2,15) = -9.0/256.0;
-      prolongation[0](2,32) = 81.0/256.0;
-      prolongation[0](2,33) = 81.0/256.0;
-      prolongation[0](2,34) = 81.0/256.0;
-      prolongation[0](2,35) = 81.0/256.0;
-      prolongation[0](3,0) = -1.0/16.0;
-      prolongation[0](3,3) = -1.0/16.0;
-      prolongation[0](3,14) = 9.0/16.0;
-      prolongation[0](3,15) = 9.0/16.0;
-      prolongation[0](4,0) = -1.0/16.0;
-      prolongation[0](4,4) = -1.0/16.0;
-      prolongation[0](4,24) = 9.0/16.0;
-      prolongation[0](4,25) = 9.0/16.0;
-      prolongation[0](5,0) = 1.0/256.0;
-      prolongation[0](5,1) = 1.0/256.0;
-      prolongation[0](5,4) = 1.0/256.0;
-      prolongation[0](5,5) = 1.0/256.0;
-      prolongation[0](5,8) = -9.0/256.0;
-      prolongation[0](5,9) = -9.0/256.0;
-      prolongation[0](5,16) = -9.0/256.0;
-      prolongation[0](5,17) = -9.0/256.0;
-      prolongation[0](5,24) = -9.0/256.0;
-      prolongation[0](5,25) = -9.0/256.0;
-      prolongation[0](5,26) = -9.0/256.0;
-      prolongation[0](5,27) = -9.0/256.0;
-      prolongation[0](5,40) = 81.0/256.0;
-      prolongation[0](5,41) = 81.0/256.0;
-      prolongation[0](5,42) = 81.0/256.0;
-      prolongation[0](5,43) = 81.0/256.0;
-      prolongation[0](6,0) = -1.0/4096.0;
-      prolongation[0](6,1) = -1.0/4096.0;
-      prolongation[0](6,2) = -1.0/4096.0;
-      prolongation[0](6,3) = -1.0/4096.0;
-      prolongation[0](6,4) = -1.0/4096.0;
-      prolongation[0](6,5) = -1.0/4096.0;
-      prolongation[0](6,6) = -1.0/4096.0;
-      prolongation[0](6,7) = -1.0/4096.0;
-      prolongation[0](6,8) = 9.0/4096.0;
-      prolongation[0](6,9) = 9.0/4096.0;
-      prolongation[0](6,10) = 9.0/4096.0;
-      prolongation[0](6,11) = 9.0/4096.0;
-      prolongation[0](6,12) = 9.0/4096.0;
-      prolongation[0](6,13) = 9.0/4096.0;
-      prolongation[0](6,14) = 9.0/4096.0;
-      prolongation[0](6,15) = 9.0/4096.0;
-      prolongation[0](6,16) = 9.0/4096.0;
-      prolongation[0](6,17) = 9.0/4096.0;
-      prolongation[0](6,18) = 9.0/4096.0;
-      prolongation[0](6,19) = 9.0/4096.0;
-      prolongation[0](6,20) = 9.0/4096.0;
-      prolongation[0](6,21) = 9.0/4096.0;
-      prolongation[0](6,22) = 9.0/4096.0;
-      prolongation[0](6,23) = 9.0/4096.0;
-      prolongation[0](6,24) = 9.0/4096.0;
-      prolongation[0](6,25) = 9.0/4096.0;
-      prolongation[0](6,26) = 9.0/4096.0;
-      prolongation[0](6,27) = 9.0/4096.0;
-      prolongation[0](6,28) = 9.0/4096.0;
-      prolongation[0](6,29) = 9.0/4096.0;
-      prolongation[0](6,30) = 9.0/4096.0;
-      prolongation[0](6,31) = 9.0/4096.0;
-      prolongation[0](6,32) = -81.0/4096.0;
-      prolongation[0](6,33) = -81.0/4096.0;
-      prolongation[0](6,34) = -81.0/4096.0;
-      prolongation[0](6,35) = -81.0/4096.0;
-      prolongation[0](6,36) = -81.0/4096.0;
-      prolongation[0](6,37) = -81.0/4096.0;
-      prolongation[0](6,38) = -81.0/4096.0;
-      prolongation[0](6,39) = -81.0/4096.0;
-      prolongation[0](6,40) = -81.0/4096.0;
-      prolongation[0](6,41) = -81.0/4096.0;
-      prolongation[0](6,42) = -81.0/4096.0;
-      prolongation[0](6,43) = -81.0/4096.0;
-      prolongation[0](6,44) = -81.0/4096.0;
-      prolongation[0](6,45) = -81.0/4096.0;
-      prolongation[0](6,46) = -81.0/4096.0;
-      prolongation[0](6,47) = -81.0/4096.0;
-      prolongation[0](6,48) = -81.0/4096.0;
-      prolongation[0](6,49) = -81.0/4096.0;
-      prolongation[0](6,50) = -81.0/4096.0;
-      prolongation[0](6,51) = -81.0/4096.0;
-      prolongation[0](6,52) = -81.0/4096.0;
-      prolongation[0](6,53) = -81.0/4096.0;
-      prolongation[0](6,54) = -81.0/4096.0;
-      prolongation[0](6,55) = -81.0/4096.0;
-      prolongation[0](6,56) = 729.0/4096.0;
-      prolongation[0](6,57) = 729.0/4096.0;
-      prolongation[0](6,58) = 729.0/4096.0;
-      prolongation[0](6,59) = 729.0/4096.0;
-      prolongation[0](6,60) = 729.0/4096.0;
-      prolongation[0](6,61) = 729.0/4096.0;
-      prolongation[0](6,62) = 729.0/4096.0;
-      prolongation[0](6,63) = 729.0/4096.0;
-      prolongation[0](7,0) = 1.0/256.0;
-      prolongation[0](7,3) = 1.0/256.0;
-      prolongation[0](7,4) = 1.0/256.0;
-      prolongation[0](7,7) = 1.0/256.0;
-      prolongation[0](7,14) = -9.0/256.0;
-      prolongation[0](7,15) = -9.0/256.0;
-      prolongation[0](7,22) = -9.0/256.0;
-      prolongation[0](7,23) = -9.0/256.0;
-      prolongation[0](7,24) = -9.0/256.0;
-      prolongation[0](7,25) = -9.0/256.0;
-      prolongation[0](7,30) = -9.0/256.0;
-      prolongation[0](7,31) = -9.0/256.0;
-      prolongation[0](7,52) = 81.0/256.0;
-      prolongation[0](7,53) = 81.0/256.0;
-      prolongation[0](7,54) = 81.0/256.0;
-      prolongation[0](7,55) = 81.0/256.0;
-      prolongation[0](8,0) = 5.0/16.0;
-      prolongation[0](8,1) = 1.0/16.0;
-      prolongation[0](8,8) = 15.0/16.0;
-      prolongation[0](8,9) = -5.0/16.0;
-      prolongation[0](9,8) = 1.0;
-      prolongation[0](10,0) = -5.0/256.0;
-      prolongation[0](10,1) = -5.0/256.0;
-      prolongation[0](10,2) = -1.0/256.0;
-      prolongation[0](10,3) = -1.0/256.0;
-      prolongation[0](10,8) = 45.0/256.0;
-      prolongation[0](10,9) = 45.0/256.0;
-      prolongation[0](10,10) = -15.0/256.0;
-      prolongation[0](10,11) = 5.0/256.0;
-      prolongation[0](10,12) = 9.0/256.0;
-      prolongation[0](10,13) = 9.0/256.0;
-      prolongation[0](10,14) = -15.0/256.0;
-      prolongation[0](10,15) = 5.0/256.0;
-      prolongation[0](10,32) = 135.0/256.0;
-      prolongation[0](10,33) = 135.0/256.0;
-      prolongation[0](10,34) = -45.0/256.0;
-      prolongation[0](10,35) = -45.0/256.0;
-      prolongation[0](11,10) = -1.0/16.0;
-      prolongation[0](11,14) = -1.0/16.0;
-      prolongation[0](11,32) = 9.0/16.0;
-      prolongation[0](11,33) = 9.0/16.0;
-      prolongation[0](12,0) = -5.0/256.0;
-      prolongation[0](12,1) = -1.0/256.0;
-      prolongation[0](12,2) = -1.0/256.0;
-      prolongation[0](12,3) = -5.0/256.0;
-      prolongation[0](12,8) = -15.0/256.0;
-      prolongation[0](12,9) = 5.0/256.0;
-      prolongation[0](12,10) = 9.0/256.0;
-      prolongation[0](12,11) = 9.0/256.0;
-      prolongation[0](12,12) = -15.0/256.0;
-      prolongation[0](12,13) = 5.0/256.0;
-      prolongation[0](12,14) = 45.0/256.0;
-      prolongation[0](12,15) = 45.0/256.0;
-      prolongation[0](12,32) = 135.0/256.0;
-      prolongation[0](12,33) = -45.0/256.0;
-      prolongation[0](12,34) = 135.0/256.0;
-      prolongation[0](12,35) = -45.0/256.0;
-      prolongation[0](13,8) = -1.0/16.0;
-      prolongation[0](13,12) = -1.0/16.0;
-      prolongation[0](13,32) = 9.0/16.0;
-      prolongation[0](13,34) = 9.0/16.0;
-      prolongation[0](14,0) = 5.0/16.0;
-      prolongation[0](14,3) = 1.0/16.0;
-      prolongation[0](14,14) = 15.0/16.0;
-      prolongation[0](14,15) = -5.0/16.0;
-      prolongation[0](15,14) = 1.0;
-      prolongation[0](16,0) = -5.0/256.0;
-      prolongation[0](16,1) = -1.0/256.0;
-      prolongation[0](16,4) = -5.0/256.0;
-      prolongation[0](16,5) = -1.0/256.0;
-      prolongation[0](16,8) = -15.0/256.0;
-      prolongation[0](16,9) = 5.0/256.0;
-      prolongation[0](16,16) = -15.0/256.0;
-      prolongation[0](16,17) = 5.0/256.0;
-      prolongation[0](16,24) = 45.0/256.0;
-      prolongation[0](16,25) = 45.0/256.0;
-      prolongation[0](16,26) = 9.0/256.0;
-      prolongation[0](16,27) = 9.0/256.0;
-      prolongation[0](16,40) = 135.0/256.0;
-      prolongation[0](16,41) = -45.0/256.0;
-      prolongation[0](16,42) = 135.0/256.0;
-      prolongation[0](16,43) = -45.0/256.0;
-      prolongation[0](17,8) = -1.0/16.0;
-      prolongation[0](17,16) = -1.0/16.0;
-      prolongation[0](17,40) = 9.0/16.0;
-      prolongation[0](17,42) = 9.0/16.0;
-      prolongation[0](18,0) = 5.0/4096.0;
-      prolongation[0](18,1) = 5.0/4096.0;
-      prolongation[0](18,2) = 1.0/4096.0;
-      prolongation[0](18,3) = 1.0/4096.0;
-      prolongation[0](18,4) = 5.0/4096.0;
-      prolongation[0](18,5) = 5.0/4096.0;
-      prolongation[0](18,6) = 1.0/4096.0;
-      prolongation[0](18,7) = 1.0/4096.0;
-      prolongation[0](18,8) = -45.0/4096.0;
-      prolongation[0](18,9) = -45.0/4096.0;
-      prolongation[0](18,10) = 15.0/4096.0;
-      prolongation[0](18,11) = -5.0/4096.0;
-      prolongation[0](18,12) = -9.0/4096.0;
-      prolongation[0](18,13) = -9.0/4096.0;
-      prolongation[0](18,14) = 15.0/4096.0;
-      prolongation[0](18,15) = -5.0/4096.0;
-      prolongation[0](18,16) = -45.0/4096.0;
-      prolongation[0](18,17) = -45.0/4096.0;
-      prolongation[0](18,18) = 15.0/4096.0;
-      prolongation[0](18,19) = -5.0/4096.0;
-      prolongation[0](18,20) = -9.0/4096.0;
-      prolongation[0](18,21) = -9.0/4096.0;
-      prolongation[0](18,22) = 15.0/4096.0;
-      prolongation[0](18,23) = -5.0/4096.0;
-      prolongation[0](18,24) = -45.0/4096.0;
-      prolongation[0](18,25) = -45.0/4096.0;
-      prolongation[0](18,26) = -45.0/4096.0;
-      prolongation[0](18,27) = -45.0/4096.0;
-      prolongation[0](18,28) = -9.0/4096.0;
-      prolongation[0](18,29) = -9.0/4096.0;
-      prolongation[0](18,30) = -9.0/4096.0;
-      prolongation[0](18,31) = -9.0/4096.0;
-      prolongation[0](18,32) = -135.0/4096.0;
-      prolongation[0](18,33) = -135.0/4096.0;
-      prolongation[0](18,34) = 45.0/4096.0;
-      prolongation[0](18,35) = 45.0/4096.0;
-      prolongation[0](18,36) = -135.0/4096.0;
-      prolongation[0](18,37) = -135.0/4096.0;
-      prolongation[0](18,38) = 45.0/4096.0;
-      prolongation[0](18,39) = 45.0/4096.0;
-      prolongation[0](18,40) = 405.0/4096.0;
-      prolongation[0](18,41) = 405.0/4096.0;
-      prolongation[0](18,42) = 405.0/4096.0;
-      prolongation[0](18,43) = 405.0/4096.0;
-      prolongation[0](18,44) = -135.0/4096.0;
-      prolongation[0](18,45) = -135.0/4096.0;
-      prolongation[0](18,46) = 45.0/4096.0;
-      prolongation[0](18,47) = 45.0/4096.0;
-      prolongation[0](18,48) = 81.0/4096.0;
-      prolongation[0](18,49) = 81.0/4096.0;
-      prolongation[0](18,50) = 81.0/4096.0;
-      prolongation[0](18,51) = 81.0/4096.0;
-      prolongation[0](18,52) = -135.0/4096.0;
-      prolongation[0](18,53) = -135.0/4096.0;
-      prolongation[0](18,54) = 45.0/4096.0;
-      prolongation[0](18,55) = 45.0/4096.0;
-      prolongation[0](18,56) = 1215.0/4096.0;
-      prolongation[0](18,57) = 1215.0/4096.0;
-      prolongation[0](18,58) = 1215.0/4096.0;
-      prolongation[0](18,59) = 1215.0/4096.0;
-      prolongation[0](18,60) = -405.0/4096.0;
-      prolongation[0](18,61) = -405.0/4096.0;
-      prolongation[0](18,62) = -405.0/4096.0;
-      prolongation[0](18,63) = -405.0/4096.0;
-      prolongation[0](19,10) = 1.0/256.0;
-      prolongation[0](19,14) = 1.0/256.0;
-      prolongation[0](19,18) = 1.0/256.0;
-      prolongation[0](19,22) = 1.0/256.0;
-      prolongation[0](19,32) = -9.0/256.0;
-      prolongation[0](19,33) = -9.0/256.0;
-      prolongation[0](19,36) = -9.0/256.0;
-      prolongation[0](19,37) = -9.0/256.0;
-      prolongation[0](19,44) = -9.0/256.0;
-      prolongation[0](19,45) = -9.0/256.0;
-      prolongation[0](19,52) = -9.0/256.0;
-      prolongation[0](19,53) = -9.0/256.0;
-      prolongation[0](19,56) = 81.0/256.0;
-      prolongation[0](19,57) = 81.0/256.0;
-      prolongation[0](19,58) = 81.0/256.0;
-      prolongation[0](19,59) = 81.0/256.0;
-      prolongation[0](20,0) = 5.0/4096.0;
-      prolongation[0](20,1) = 1.0/4096.0;
-      prolongation[0](20,2) = 1.0/4096.0;
-      prolongation[0](20,3) = 5.0/4096.0;
-      prolongation[0](20,4) = 5.0/4096.0;
-      prolongation[0](20,5) = 1.0/4096.0;
-      prolongation[0](20,6) = 1.0/4096.0;
-      prolongation[0](20,7) = 5.0/4096.0;
-      prolongation[0](20,8) = 15.0/4096.0;
-      prolongation[0](20,9) = -5.0/4096.0;
-      prolongation[0](20,10) = -9.0/4096.0;
-      prolongation[0](20,11) = -9.0/4096.0;
-      prolongation[0](20,12) = 15.0/4096.0;
-      prolongation[0](20,13) = -5.0/4096.0;
-      prolongation[0](20,14) = -45.0/4096.0;
-      prolongation[0](20,15) = -45.0/4096.0;
-      prolongation[0](20,16) = 15.0/4096.0;
-      prolongation[0](20,17) = -5.0/4096.0;
-      prolongation[0](20,18) = -9.0/4096.0;
-      prolongation[0](20,19) = -9.0/4096.0;
-      prolongation[0](20,20) = 15.0/4096.0;
-      prolongation[0](20,21) = -5.0/4096.0;
-      prolongation[0](20,22) = -45.0/4096.0;
-      prolongation[0](20,23) = -45.0/4096.0;
-      prolongation[0](20,24) = -45.0/4096.0;
-      prolongation[0](20,25) = -45.0/4096.0;
-      prolongation[0](20,26) = -9.0/4096.0;
-      prolongation[0](20,27) = -9.0/4096.0;
-      prolongation[0](20,28) = -9.0/4096.0;
-      prolongation[0](20,29) = -9.0/4096.0;
-      prolongation[0](20,30) = -45.0/4096.0;
-      prolongation[0](20,31) = -45.0/4096.0;
-      prolongation[0](20,32) = -135.0/4096.0;
-      prolongation[0](20,33) = 45.0/4096.0;
-      prolongation[0](20,34) = -135.0/4096.0;
-      prolongation[0](20,35) = 45.0/4096.0;
-      prolongation[0](20,36) = -135.0/4096.0;
-      prolongation[0](20,37) = 45.0/4096.0;
-      prolongation[0](20,38) = -135.0/4096.0;
-      prolongation[0](20,39) = 45.0/4096.0;
-      prolongation[0](20,40) = -135.0/4096.0;
-      prolongation[0](20,41) = 45.0/4096.0;
-      prolongation[0](20,42) = -135.0/4096.0;
-      prolongation[0](20,43) = 45.0/4096.0;
-      prolongation[0](20,44) = 81.0/4096.0;
-      prolongation[0](20,45) = 81.0/4096.0;
-      prolongation[0](20,46) = 81.0/4096.0;
-      prolongation[0](20,47) = 81.0/4096.0;
-      prolongation[0](20,48) = -135.0/4096.0;
-      prolongation[0](20,49) = 45.0/4096.0;
-      prolongation[0](20,50) = -135.0/4096.0;
-      prolongation[0](20,51) = 45.0/4096.0;
-      prolongation[0](20,52) = 405.0/4096.0;
-      prolongation[0](20,53) = 405.0/4096.0;
-      prolongation[0](20,54) = 405.0/4096.0;
-      prolongation[0](20,55) = 405.0/4096.0;
-      prolongation[0](20,56) = 1215.0/4096.0;
-      prolongation[0](20,57) = -405.0/4096.0;
-      prolongation[0](20,58) = 1215.0/4096.0;
-      prolongation[0](20,59) = -405.0/4096.0;
-      prolongation[0](20,60) = 1215.0/4096.0;
-      prolongation[0](20,61) = -405.0/4096.0;
-      prolongation[0](20,62) = 1215.0/4096.0;
-      prolongation[0](20,63) = -405.0/4096.0;
-      prolongation[0](21,8) = 1.0/256.0;
-      prolongation[0](21,12) = 1.0/256.0;
-      prolongation[0](21,16) = 1.0/256.0;
-      prolongation[0](21,20) = 1.0/256.0;
-      prolongation[0](21,32) = -9.0/256.0;
-      prolongation[0](21,34) = -9.0/256.0;
-      prolongation[0](21,36) = -9.0/256.0;
-      prolongation[0](21,38) = -9.0/256.0;
-      prolongation[0](21,40) = -9.0/256.0;
-      prolongation[0](21,42) = -9.0/256.0;
-      prolongation[0](21,48) = -9.0/256.0;
-      prolongation[0](21,50) = -9.0/256.0;
-      prolongation[0](21,56) = 81.0/256.0;
-      prolongation[0](21,58) = 81.0/256.0;
-      prolongation[0](21,60) = 81.0/256.0;
-      prolongation[0](21,62) = 81.0/256.0;
-      prolongation[0](22,0) = -5.0/256.0;
-      prolongation[0](22,3) = -1.0/256.0;
-      prolongation[0](22,4) = -5.0/256.0;
-      prolongation[0](22,7) = -1.0/256.0;
-      prolongation[0](22,14) = -15.0/256.0;
-      prolongation[0](22,15) = 5.0/256.0;
-      prolongation[0](22,22) = -15.0/256.0;
-      prolongation[0](22,23) = 5.0/256.0;
-      prolongation[0](22,24) = 45.0/256.0;
-      prolongation[0](22,25) = 45.0/256.0;
-      prolongation[0](22,30) = 9.0/256.0;
-      prolongation[0](22,31) = 9.0/256.0;
-      prolongation[0](22,52) = 135.0/256.0;
-      prolongation[0](22,53) = 135.0/256.0;
-      prolongation[0](22,54) = -45.0/256.0;
-      prolongation[0](22,55) = -45.0/256.0;
-      prolongation[0](23,14) = -1.0/16.0;
-      prolongation[0](23,22) = -1.0/16.0;
-      prolongation[0](23,52) = 9.0/16.0;
-      prolongation[0](23,53) = 9.0/16.0;
-      prolongation[0](24,0) = 5.0/16.0;
-      prolongation[0](24,4) = 1.0/16.0;
-      prolongation[0](24,24) = 15.0/16.0;
-      prolongation[0](24,25) = -5.0/16.0;
-      prolongation[0](25,24) = 1.0;
-      prolongation[0](26,0) = -5.0/256.0;
-      prolongation[0](26,1) = -5.0/256.0;
-      prolongation[0](26,4) = -1.0/256.0;
-      prolongation[0](26,5) = -1.0/256.0;
-      prolongation[0](26,8) = 45.0/256.0;
-      prolongation[0](26,9) = 45.0/256.0;
-      prolongation[0](26,16) = 9.0/256.0;
-      prolongation[0](26,17) = 9.0/256.0;
-      prolongation[0](26,24) = -15.0/256.0;
-      prolongation[0](26,25) = 5.0/256.0;
-      prolongation[0](26,26) = -15.0/256.0;
-      prolongation[0](26,27) = 5.0/256.0;
-      prolongation[0](26,40) = 135.0/256.0;
-      prolongation[0](26,41) = 135.0/256.0;
-      prolongation[0](26,42) = -45.0/256.0;
-      prolongation[0](26,43) = -45.0/256.0;
-      prolongation[0](27,24) = -1.0/16.0;
-      prolongation[0](27,26) = -1.0/16.0;
-      prolongation[0](27,40) = 9.0/16.0;
-      prolongation[0](27,41) = 9.0/16.0;
-      prolongation[0](28,0) = 5.0/4096.0;
-      prolongation[0](28,1) = 5.0/4096.0;
-      prolongation[0](28,2) = 5.0/4096.0;
-      prolongation[0](28,3) = 5.0/4096.0;
-      prolongation[0](28,4) = 1.0/4096.0;
-      prolongation[0](28,5) = 1.0/4096.0;
-      prolongation[0](28,6) = 1.0/4096.0;
-      prolongation[0](28,7) = 1.0/4096.0;
-      prolongation[0](28,8) = -45.0/4096.0;
-      prolongation[0](28,9) = -45.0/4096.0;
-      prolongation[0](28,10) = -45.0/4096.0;
-      prolongation[0](28,11) = -45.0/4096.0;
-      prolongation[0](28,12) = -45.0/4096.0;
-      prolongation[0](28,13) = -45.0/4096.0;
-      prolongation[0](28,14) = -45.0/4096.0;
-      prolongation[0](28,15) = -45.0/4096.0;
-      prolongation[0](28,16) = -9.0/4096.0;
-      prolongation[0](28,17) = -9.0/4096.0;
-      prolongation[0](28,18) = -9.0/4096.0;
-      prolongation[0](28,19) = -9.0/4096.0;
-      prolongation[0](28,20) = -9.0/4096.0;
-      prolongation[0](28,21) = -9.0/4096.0;
-      prolongation[0](28,22) = -9.0/4096.0;
-      prolongation[0](28,23) = -9.0/4096.0;
-      prolongation[0](28,24) = 15.0/4096.0;
-      prolongation[0](28,25) = -5.0/4096.0;
-      prolongation[0](28,26) = 15.0/4096.0;
-      prolongation[0](28,27) = -5.0/4096.0;
-      prolongation[0](28,28) = 15.0/4096.0;
-      prolongation[0](28,29) = -5.0/4096.0;
-      prolongation[0](28,30) = 15.0/4096.0;
-      prolongation[0](28,31) = -5.0/4096.0;
-      prolongation[0](28,32) = 405.0/4096.0;
-      prolongation[0](28,33) = 405.0/4096.0;
-      prolongation[0](28,34) = 405.0/4096.0;
-      prolongation[0](28,35) = 405.0/4096.0;
-      prolongation[0](28,36) = 81.0/4096.0;
-      prolongation[0](28,37) = 81.0/4096.0;
-      prolongation[0](28,38) = 81.0/4096.0;
-      prolongation[0](28,39) = 81.0/4096.0;
-      prolongation[0](28,40) = -135.0/4096.0;
-      prolongation[0](28,41) = -135.0/4096.0;
-      prolongation[0](28,42) = 45.0/4096.0;
-      prolongation[0](28,43) = 45.0/4096.0;
-      prolongation[0](28,44) = -135.0/4096.0;
-      prolongation[0](28,45) = 45.0/4096.0;
-      prolongation[0](28,46) = -135.0/4096.0;
-      prolongation[0](28,47) = 45.0/4096.0;
-      prolongation[0](28,48) = -135.0/4096.0;
-      prolongation[0](28,49) = -135.0/4096.0;
-      prolongation[0](28,50) = 45.0/4096.0;
-      prolongation[0](28,51) = 45.0/4096.0;
-      prolongation[0](28,52) = -135.0/4096.0;
-      prolongation[0](28,53) = 45.0/4096.0;
-      prolongation[0](28,54) = -135.0/4096.0;
-      prolongation[0](28,55) = 45.0/4096.0;
-      prolongation[0](28,56) = 1215.0/4096.0;
-      prolongation[0](28,57) = 1215.0/4096.0;
-      prolongation[0](28,58) = -405.0/4096.0;
-      prolongation[0](28,59) = -405.0/4096.0;
-      prolongation[0](28,60) = 1215.0/4096.0;
-      prolongation[0](28,61) = 1215.0/4096.0;
-      prolongation[0](28,62) = -405.0/4096.0;
-      prolongation[0](28,63) = -405.0/4096.0;
-      prolongation[0](29,24) = 1.0/256.0;
-      prolongation[0](29,26) = 1.0/256.0;
-      prolongation[0](29,28) = 1.0/256.0;
-      prolongation[0](29,30) = 1.0/256.0;
-      prolongation[0](29,40) = -9.0/256.0;
-      prolongation[0](29,41) = -9.0/256.0;
-      prolongation[0](29,44) = -9.0/256.0;
-      prolongation[0](29,46) = -9.0/256.0;
-      prolongation[0](29,48) = -9.0/256.0;
-      prolongation[0](29,49) = -9.0/256.0;
-      prolongation[0](29,52) = -9.0/256.0;
-      prolongation[0](29,54) = -9.0/256.0;
-      prolongation[0](29,56) = 81.0/256.0;
-      prolongation[0](29,57) = 81.0/256.0;
-      prolongation[0](29,60) = 81.0/256.0;
-      prolongation[0](29,61) = 81.0/256.0;
-      prolongation[0](30,0) = -5.0/256.0;
-      prolongation[0](30,3) = -5.0/256.0;
-      prolongation[0](30,4) = -1.0/256.0;
-      prolongation[0](30,7) = -1.0/256.0;
-      prolongation[0](30,14) = 45.0/256.0;
-      prolongation[0](30,15) = 45.0/256.0;
-      prolongation[0](30,22) = 9.0/256.0;
-      prolongation[0](30,23) = 9.0/256.0;
-      prolongation[0](30,24) = -15.0/256.0;
-      prolongation[0](30,25) = 5.0/256.0;
-      prolongation[0](30,30) = -15.0/256.0;
-      prolongation[0](30,31) = 5.0/256.0;
-      prolongation[0](30,52) = 135.0/256.0;
-      prolongation[0](30,53) = -45.0/256.0;
-      prolongation[0](30,54) = 135.0/256.0;
-      prolongation[0](30,55) = -45.0/256.0;
-      prolongation[0](31,24) = -1.0/16.0;
-      prolongation[0](31,30) = -1.0/16.0;
-      prolongation[0](31,52) = 9.0/16.0;
-      prolongation[0](31,54) = 9.0/16.0;
-      prolongation[0](32,0) = 25.0/256.0;
-      prolongation[0](32,1) = 5.0/256.0;
-      prolongation[0](32,2) = 1.0/256.0;
-      prolongation[0](32,3) = 5.0/256.0;
-      prolongation[0](32,8) = 75.0/256.0;
-      prolongation[0](32,9) = -25.0/256.0;
-      prolongation[0](32,10) = 15.0/256.0;
-      prolongation[0](32,11) = -5.0/256.0;
-      prolongation[0](32,12) = 15.0/256.0;
-      prolongation[0](32,13) = -5.0/256.0;
-      prolongation[0](32,14) = 75.0/256.0;
-      prolongation[0](32,15) = -25.0/256.0;
-      prolongation[0](32,32) = 225.0/256.0;
-      prolongation[0](32,33) = -75.0/256.0;
-      prolongation[0](32,34) = -75.0/256.0;
-      prolongation[0](32,35) = 25.0/256.0;
-      prolongation[0](33,8) = 5.0/16.0;
-      prolongation[0](33,12) = 1.0/16.0;
-      prolongation[0](33,32) = 15.0/16.0;
-      prolongation[0](33,34) = -5.0/16.0;
-      prolongation[0](34,10) = 1.0/16.0;
-      prolongation[0](34,14) = 5.0/16.0;
-      prolongation[0](34,32) = 15.0/16.0;
-      prolongation[0](34,33) = -5.0/16.0;
-      prolongation[0](35,32) = 1.0;
-      prolongation[0](36,0) = -25.0/4096.0;
-      prolongation[0](36,1) = -5.0/4096.0;
-      prolongation[0](36,2) = -1.0/4096.0;
-      prolongation[0](36,3) = -5.0/4096.0;
-      prolongation[0](36,4) = -25.0/4096.0;
-      prolongation[0](36,5) = -5.0/4096.0;
-      prolongation[0](36,6) = -1.0/4096.0;
-      prolongation[0](36,7) = -5.0/4096.0;
-      prolongation[0](36,8) = -75.0/4096.0;
-      prolongation[0](36,9) = 25.0/4096.0;
-      prolongation[0](36,10) = -15.0/4096.0;
-      prolongation[0](36,11) = 5.0/4096.0;
-      prolongation[0](36,12) = -15.0/4096.0;
-      prolongation[0](36,13) = 5.0/4096.0;
-      prolongation[0](36,14) = -75.0/4096.0;
-      prolongation[0](36,15) = 25.0/4096.0;
-      prolongation[0](36,16) = -75.0/4096.0;
-      prolongation[0](36,17) = 25.0/4096.0;
-      prolongation[0](36,18) = -15.0/4096.0;
-      prolongation[0](36,19) = 5.0/4096.0;
-      prolongation[0](36,20) = -15.0/4096.0;
-      prolongation[0](36,21) = 5.0/4096.0;
-      prolongation[0](36,22) = -75.0/4096.0;
-      prolongation[0](36,23) = 25.0/4096.0;
-      prolongation[0](36,24) = 225.0/4096.0;
-      prolongation[0](36,25) = 225.0/4096.0;
-      prolongation[0](36,26) = 45.0/4096.0;
-      prolongation[0](36,27) = 45.0/4096.0;
-      prolongation[0](36,28) = 9.0/4096.0;
-      prolongation[0](36,29) = 9.0/4096.0;
-      prolongation[0](36,30) = 45.0/4096.0;
-      prolongation[0](36,31) = 45.0/4096.0;
-      prolongation[0](36,32) = -225.0/4096.0;
-      prolongation[0](36,33) = 75.0/4096.0;
-      prolongation[0](36,34) = 75.0/4096.0;
-      prolongation[0](36,35) = -25.0/4096.0;
-      prolongation[0](36,36) = -225.0/4096.0;
-      prolongation[0](36,37) = 75.0/4096.0;
-      prolongation[0](36,38) = 75.0/4096.0;
-      prolongation[0](36,39) = -25.0/4096.0;
-      prolongation[0](36,40) = 675.0/4096.0;
-      prolongation[0](36,41) = -225.0/4096.0;
-      prolongation[0](36,42) = 675.0/4096.0;
-      prolongation[0](36,43) = -225.0/4096.0;
-      prolongation[0](36,44) = 135.0/4096.0;
-      prolongation[0](36,45) = 135.0/4096.0;
-      prolongation[0](36,46) = -45.0/4096.0;
-      prolongation[0](36,47) = -45.0/4096.0;
-      prolongation[0](36,48) = 135.0/4096.0;
-      prolongation[0](36,49) = -45.0/4096.0;
-      prolongation[0](36,50) = 135.0/4096.0;
-      prolongation[0](36,51) = -45.0/4096.0;
-      prolongation[0](36,52) = 675.0/4096.0;
-      prolongation[0](36,53) = 675.0/4096.0;
-      prolongation[0](36,54) = -225.0/4096.0;
-      prolongation[0](36,55) = -225.0/4096.0;
-      prolongation[0](36,56) = 2025.0/4096.0;
-      prolongation[0](36,57) = -675.0/4096.0;
-      prolongation[0](36,58) = 2025.0/4096.0;
-      prolongation[0](36,59) = -675.0/4096.0;
-      prolongation[0](36,60) = -675.0/4096.0;
-      prolongation[0](36,61) = 225.0/4096.0;
-      prolongation[0](36,62) = -675.0/4096.0;
-      prolongation[0](36,63) = 225.0/4096.0;
-      prolongation[0](37,8) = -5.0/256.0;
-      prolongation[0](37,12) = -1.0/256.0;
-      prolongation[0](37,16) = -5.0/256.0;
-      prolongation[0](37,20) = -1.0/256.0;
-      prolongation[0](37,32) = -15.0/256.0;
-      prolongation[0](37,34) = 5.0/256.0;
-      prolongation[0](37,36) = -15.0/256.0;
-      prolongation[0](37,38) = 5.0/256.0;
-      prolongation[0](37,40) = 45.0/256.0;
-      prolongation[0](37,42) = 45.0/256.0;
-      prolongation[0](37,48) = 9.0/256.0;
-      prolongation[0](37,50) = 9.0/256.0;
-      prolongation[0](37,56) = 135.0/256.0;
-      prolongation[0](37,58) = 135.0/256.0;
-      prolongation[0](37,60) = -45.0/256.0;
-      prolongation[0](37,62) = -45.0/256.0;
-      prolongation[0](38,10) = -1.0/256.0;
-      prolongation[0](38,14) = -5.0/256.0;
-      prolongation[0](38,18) = -1.0/256.0;
-      prolongation[0](38,22) = -5.0/256.0;
-      prolongation[0](38,32) = -15.0/256.0;
-      prolongation[0](38,33) = 5.0/256.0;
-      prolongation[0](38,36) = -15.0/256.0;
-      prolongation[0](38,37) = 5.0/256.0;
-      prolongation[0](38,44) = 9.0/256.0;
-      prolongation[0](38,45) = 9.0/256.0;
-      prolongation[0](38,52) = 45.0/256.0;
-      prolongation[0](38,53) = 45.0/256.0;
-      prolongation[0](38,56) = 135.0/256.0;
-      prolongation[0](38,57) = -45.0/256.0;
-      prolongation[0](38,58) = 135.0/256.0;
-      prolongation[0](38,59) = -45.0/256.0;
-      prolongation[0](39,32) = -1.0/16.0;
-      prolongation[0](39,36) = -1.0/16.0;
-      prolongation[0](39,56) = 9.0/16.0;
-      prolongation[0](39,58) = 9.0/16.0;
-      prolongation[0](40,0) = 25.0/256.0;
-      prolongation[0](40,1) = 5.0/256.0;
-      prolongation[0](40,4) = 5.0/256.0;
-      prolongation[0](40,5) = 1.0/256.0;
-      prolongation[0](40,8) = 75.0/256.0;
-      prolongation[0](40,9) = -25.0/256.0;
-      prolongation[0](40,16) = 15.0/256.0;
-      prolongation[0](40,17) = -5.0/256.0;
-      prolongation[0](40,24) = 75.0/256.0;
-      prolongation[0](40,25) = -25.0/256.0;
-      prolongation[0](40,26) = 15.0/256.0;
-      prolongation[0](40,27) = -5.0/256.0;
-      prolongation[0](40,40) = 225.0/256.0;
-      prolongation[0](40,41) = -75.0/256.0;
-      prolongation[0](40,42) = -75.0/256.0;
-      prolongation[0](40,43) = 25.0/256.0;
-      prolongation[0](41,8) = 5.0/16.0;
-      prolongation[0](41,16) = 1.0/16.0;
-      prolongation[0](41,40) = 15.0/16.0;
-      prolongation[0](41,42) = -5.0/16.0;
-      prolongation[0](42,24) = 5.0/16.0;
-      prolongation[0](42,26) = 1.0/16.0;
-      prolongation[0](42,40) = 15.0/16.0;
-      prolongation[0](42,41) = -5.0/16.0;
-      prolongation[0](43,40) = 1.0;
-      prolongation[0](44,0) = -25.0/4096.0;
-      prolongation[0](44,1) = -25.0/4096.0;
-      prolongation[0](44,2) = -5.0/4096.0;
-      prolongation[0](44,3) = -5.0/4096.0;
-      prolongation[0](44,4) = -5.0/4096.0;
-      prolongation[0](44,5) = -5.0/4096.0;
-      prolongation[0](44,6) = -1.0/4096.0;
-      prolongation[0](44,7) = -1.0/4096.0;
-      prolongation[0](44,8) = 225.0/4096.0;
-      prolongation[0](44,9) = 225.0/4096.0;
-      prolongation[0](44,10) = -75.0/4096.0;
-      prolongation[0](44,11) = 25.0/4096.0;
-      prolongation[0](44,12) = 45.0/4096.0;
-      prolongation[0](44,13) = 45.0/4096.0;
-      prolongation[0](44,14) = -75.0/4096.0;
-      prolongation[0](44,15) = 25.0/4096.0;
-      prolongation[0](44,16) = 45.0/4096.0;
-      prolongation[0](44,17) = 45.0/4096.0;
-      prolongation[0](44,18) = -15.0/4096.0;
-      prolongation[0](44,19) = 5.0/4096.0;
-      prolongation[0](44,20) = 9.0/4096.0;
-      prolongation[0](44,21) = 9.0/4096.0;
-      prolongation[0](44,22) = -15.0/4096.0;
-      prolongation[0](44,23) = 5.0/4096.0;
-      prolongation[0](44,24) = -75.0/4096.0;
-      prolongation[0](44,25) = 25.0/4096.0;
-      prolongation[0](44,26) = -75.0/4096.0;
-      prolongation[0](44,27) = 25.0/4096.0;
-      prolongation[0](44,28) = -15.0/4096.0;
-      prolongation[0](44,29) = 5.0/4096.0;
-      prolongation[0](44,30) = -15.0/4096.0;
-      prolongation[0](44,31) = 5.0/4096.0;
-      prolongation[0](44,32) = 675.0/4096.0;
-      prolongation[0](44,33) = 675.0/4096.0;
-      prolongation[0](44,34) = -225.0/4096.0;
-      prolongation[0](44,35) = -225.0/4096.0;
-      prolongation[0](44,36) = 135.0/4096.0;
-      prolongation[0](44,37) = 135.0/4096.0;
-      prolongation[0](44,38) = -45.0/4096.0;
-      prolongation[0](44,39) = -45.0/4096.0;
-      prolongation[0](44,40) = 675.0/4096.0;
-      prolongation[0](44,41) = 675.0/4096.0;
-      prolongation[0](44,42) = -225.0/4096.0;
-      prolongation[0](44,43) = -225.0/4096.0;
-      prolongation[0](44,44) = -225.0/4096.0;
-      prolongation[0](44,45) = 75.0/4096.0;
-      prolongation[0](44,46) = 75.0/4096.0;
-      prolongation[0](44,47) = -25.0/4096.0;
-      prolongation[0](44,48) = 135.0/4096.0;
-      prolongation[0](44,49) = 135.0/4096.0;
-      prolongation[0](44,50) = -45.0/4096.0;
-      prolongation[0](44,51) = -45.0/4096.0;
-      prolongation[0](44,52) = -225.0/4096.0;
-      prolongation[0](44,53) = 75.0/4096.0;
-      prolongation[0](44,54) = 75.0/4096.0;
-      prolongation[0](44,55) = -25.0/4096.0;
-      prolongation[0](44,56) = 2025.0/4096.0;
-      prolongation[0](44,57) = 2025.0/4096.0;
-      prolongation[0](44,58) = -675.0/4096.0;
-      prolongation[0](44,59) = -675.0/4096.0;
-      prolongation[0](44,60) = -675.0/4096.0;
-      prolongation[0](44,61) = -675.0/4096.0;
-      prolongation[0](44,62) = 225.0/4096.0;
-      prolongation[0](44,63) = 225.0/4096.0;
-      prolongation[0](45,24) = -5.0/256.0;
-      prolongation[0](45,26) = -5.0/256.0;
-      prolongation[0](45,28) = -1.0/256.0;
-      prolongation[0](45,30) = -1.0/256.0;
-      prolongation[0](45,40) = 45.0/256.0;
-      prolongation[0](45,41) = 45.0/256.0;
-      prolongation[0](45,44) = -15.0/256.0;
-      prolongation[0](45,46) = 5.0/256.0;
-      prolongation[0](45,48) = 9.0/256.0;
-      prolongation[0](45,49) = 9.0/256.0;
-      prolongation[0](45,52) = -15.0/256.0;
-      prolongation[0](45,54) = 5.0/256.0;
-      prolongation[0](45,56) = 135.0/256.0;
-      prolongation[0](45,57) = 135.0/256.0;
-      prolongation[0](45,60) = -45.0/256.0;
-      prolongation[0](45,61) = -45.0/256.0;
-      prolongation[0](46,10) = -5.0/256.0;
-      prolongation[0](46,14) = -5.0/256.0;
-      prolongation[0](46,18) = -1.0/256.0;
-      prolongation[0](46,22) = -1.0/256.0;
-      prolongation[0](46,32) = 45.0/256.0;
-      prolongation[0](46,33) = 45.0/256.0;
-      prolongation[0](46,36) = 9.0/256.0;
-      prolongation[0](46,37) = 9.0/256.0;
-      prolongation[0](46,44) = -15.0/256.0;
-      prolongation[0](46,45) = 5.0/256.0;
-      prolongation[0](46,52) = -15.0/256.0;
-      prolongation[0](46,53) = 5.0/256.0;
-      prolongation[0](46,56) = 135.0/256.0;
-      prolongation[0](46,57) = 135.0/256.0;
-      prolongation[0](46,58) = -45.0/256.0;
-      prolongation[0](46,59) = -45.0/256.0;
-      prolongation[0](47,44) = -1.0/16.0;
-      prolongation[0](47,52) = -1.0/16.0;
-      prolongation[0](47,56) = 9.0/16.0;
-      prolongation[0](47,57) = 9.0/16.0;
-      prolongation[0](48,0) = -25.0/4096.0;
-      prolongation[0](48,1) = -5.0/4096.0;
-      prolongation[0](48,2) = -5.0/4096.0;
-      prolongation[0](48,3) = -25.0/4096.0;
-      prolongation[0](48,4) = -5.0/4096.0;
-      prolongation[0](48,5) = -1.0/4096.0;
-      prolongation[0](48,6) = -1.0/4096.0;
-      prolongation[0](48,7) = -5.0/4096.0;
-      prolongation[0](48,8) = -75.0/4096.0;
-      prolongation[0](48,9) = 25.0/4096.0;
-      prolongation[0](48,10) = 45.0/4096.0;
-      prolongation[0](48,11) = 45.0/4096.0;
-      prolongation[0](48,12) = -75.0/4096.0;
-      prolongation[0](48,13) = 25.0/4096.0;
-      prolongation[0](48,14) = 225.0/4096.0;
-      prolongation[0](48,15) = 225.0/4096.0;
-      prolongation[0](48,16) = -15.0/4096.0;
-      prolongation[0](48,17) = 5.0/4096.0;
-      prolongation[0](48,18) = 9.0/4096.0;
-      prolongation[0](48,19) = 9.0/4096.0;
-      prolongation[0](48,20) = -15.0/4096.0;
-      prolongation[0](48,21) = 5.0/4096.0;
-      prolongation[0](48,22) = 45.0/4096.0;
-      prolongation[0](48,23) = 45.0/4096.0;
-      prolongation[0](48,24) = -75.0/4096.0;
-      prolongation[0](48,25) = 25.0/4096.0;
-      prolongation[0](48,26) = -15.0/4096.0;
-      prolongation[0](48,27) = 5.0/4096.0;
-      prolongation[0](48,28) = -15.0/4096.0;
-      prolongation[0](48,29) = 5.0/4096.0;
-      prolongation[0](48,30) = -75.0/4096.0;
-      prolongation[0](48,31) = 25.0/4096.0;
-      prolongation[0](48,32) = 675.0/4096.0;
-      prolongation[0](48,33) = -225.0/4096.0;
-      prolongation[0](48,34) = 675.0/4096.0;
-      prolongation[0](48,35) = -225.0/4096.0;
-      prolongation[0](48,36) = 135.0/4096.0;
-      prolongation[0](48,37) = -45.0/4096.0;
-      prolongation[0](48,38) = 135.0/4096.0;
-      prolongation[0](48,39) = -45.0/4096.0;
-      prolongation[0](48,40) = -225.0/4096.0;
-      prolongation[0](48,41) = 75.0/4096.0;
-      prolongation[0](48,42) = 75.0/4096.0;
-      prolongation[0](48,43) = -25.0/4096.0;
-      prolongation[0](48,44) = 135.0/4096.0;
-      prolongation[0](48,45) = -45.0/4096.0;
-      prolongation[0](48,46) = 135.0/4096.0;
-      prolongation[0](48,47) = -45.0/4096.0;
-      prolongation[0](48,48) = -225.0/4096.0;
-      prolongation[0](48,49) = 75.0/4096.0;
-      prolongation[0](48,50) = 75.0/4096.0;
-      prolongation[0](48,51) = -25.0/4096.0;
-      prolongation[0](48,52) = 675.0/4096.0;
-      prolongation[0](48,53) = -225.0/4096.0;
-      prolongation[0](48,54) = 675.0/4096.0;
-      prolongation[0](48,55) = -225.0/4096.0;
-      prolongation[0](48,56) = 2025.0/4096.0;
-      prolongation[0](48,57) = -675.0/4096.0;
-      prolongation[0](48,58) = -675.0/4096.0;
-      prolongation[0](48,59) = 225.0/4096.0;
-      prolongation[0](48,60) = 2025.0/4096.0;
-      prolongation[0](48,61) = -675.0/4096.0;
-      prolongation[0](48,62) = -675.0/4096.0;
-      prolongation[0](48,63) = 225.0/4096.0;
-      prolongation[0](49,8) = -5.0/256.0;
-      prolongation[0](49,12) = -5.0/256.0;
-      prolongation[0](49,16) = -1.0/256.0;
-      prolongation[0](49,20) = -1.0/256.0;
-      prolongation[0](49,32) = 45.0/256.0;
-      prolongation[0](49,34) = 45.0/256.0;
-      prolongation[0](49,36) = 9.0/256.0;
-      prolongation[0](49,38) = 9.0/256.0;
-      prolongation[0](49,40) = -15.0/256.0;
-      prolongation[0](49,42) = 5.0/256.0;
-      prolongation[0](49,48) = -15.0/256.0;
-      prolongation[0](49,50) = 5.0/256.0;
-      prolongation[0](49,56) = 135.0/256.0;
-      prolongation[0](49,58) = -45.0/256.0;
-      prolongation[0](49,60) = 135.0/256.0;
-      prolongation[0](49,62) = -45.0/256.0;
-      prolongation[0](50,24) = -5.0/256.0;
-      prolongation[0](50,26) = -1.0/256.0;
-      prolongation[0](50,28) = -1.0/256.0;
-      prolongation[0](50,30) = -5.0/256.0;
-      prolongation[0](50,40) = -15.0/256.0;
-      prolongation[0](50,41) = 5.0/256.0;
-      prolongation[0](50,44) = 9.0/256.0;
-      prolongation[0](50,46) = 9.0/256.0;
-      prolongation[0](50,48) = -15.0/256.0;
-      prolongation[0](50,49) = 5.0/256.0;
-      prolongation[0](50,52) = 45.0/256.0;
-      prolongation[0](50,54) = 45.0/256.0;
-      prolongation[0](50,56) = 135.0/256.0;
-      prolongation[0](50,57) = -45.0/256.0;
-      prolongation[0](50,60) = 135.0/256.0;
-      prolongation[0](50,61) = -45.0/256.0;
-      prolongation[0](51,40) = -1.0/16.0;
-      prolongation[0](51,48) = -1.0/16.0;
-      prolongation[0](51,56) = 9.0/16.0;
-      prolongation[0](51,60) = 9.0/16.0;
-      prolongation[0](52,0) = 25.0/256.0;
-      prolongation[0](52,3) = 5.0/256.0;
-      prolongation[0](52,4) = 5.0/256.0;
-      prolongation[0](52,7) = 1.0/256.0;
-      prolongation[0](52,14) = 75.0/256.0;
-      prolongation[0](52,15) = -25.0/256.0;
-      prolongation[0](52,22) = 15.0/256.0;
-      prolongation[0](52,23) = -5.0/256.0;
-      prolongation[0](52,24) = 75.0/256.0;
-      prolongation[0](52,25) = -25.0/256.0;
-      prolongation[0](52,30) = 15.0/256.0;
-      prolongation[0](52,31) = -5.0/256.0;
-      prolongation[0](52,52) = 225.0/256.0;
-      prolongation[0](52,53) = -75.0/256.0;
-      prolongation[0](52,54) = -75.0/256.0;
-      prolongation[0](52,55) = 25.0/256.0;
-      prolongation[0](53,24) = 5.0/16.0;
-      prolongation[0](53,30) = 1.0/16.0;
-      prolongation[0](53,52) = 15.0/16.0;
-      prolongation[0](53,54) = -5.0/16.0;
-      prolongation[0](54,14) = 5.0/16.0;
-      prolongation[0](54,22) = 1.0/16.0;
-      prolongation[0](54,52) = 15.0/16.0;
-      prolongation[0](54,53) = -5.0/16.0;
-      prolongation[0](55,52) = 1.0;
-      prolongation[0](56,0) = 125.0/4096.0;
-      prolongation[0](56,1) = 25.0/4096.0;
-      prolongation[0](56,2) = 5.0/4096.0;
-      prolongation[0](56,3) = 25.0/4096.0;
-      prolongation[0](56,4) = 25.0/4096.0;
-      prolongation[0](56,5) = 5.0/4096.0;
-      prolongation[0](56,6) = 1.0/4096.0;
-      prolongation[0](56,7) = 5.0/4096.0;
-      prolongation[0](56,8) = 375.0/4096.0;
-      prolongation[0](56,9) = -125.0/4096.0;
-      prolongation[0](56,10) = 75.0/4096.0;
-      prolongation[0](56,11) = -25.0/4096.0;
-      prolongation[0](56,12) = 75.0/4096.0;
-      prolongation[0](56,13) = -25.0/4096.0;
-      prolongation[0](56,14) = 375.0/4096.0;
-      prolongation[0](56,15) = -125.0/4096.0;
-      prolongation[0](56,16) = 75.0/4096.0;
-      prolongation[0](56,17) = -25.0/4096.0;
-      prolongation[0](56,18) = 15.0/4096.0;
-      prolongation[0](56,19) = -5.0/4096.0;
-      prolongation[0](56,20) = 15.0/4096.0;
-      prolongation[0](56,21) = -5.0/4096.0;
-      prolongation[0](56,22) = 75.0/4096.0;
-      prolongation[0](56,23) = -25.0/4096.0;
-      prolongation[0](56,24) = 375.0/4096.0;
-      prolongation[0](56,25) = -125.0/4096.0;
-      prolongation[0](56,26) = 75.0/4096.0;
-      prolongation[0](56,27) = -25.0/4096.0;
-      prolongation[0](56,28) = 15.0/4096.0;
-      prolongation[0](56,29) = -5.0/4096.0;
-      prolongation[0](56,30) = 75.0/4096.0;
-      prolongation[0](56,31) = -25.0/4096.0;
-      prolongation[0](56,32) = 1125.0/4096.0;
-      prolongation[0](56,33) = -375.0/4096.0;
-      prolongation[0](56,34) = -375.0/4096.0;
-      prolongation[0](56,35) = 125.0/4096.0;
-      prolongation[0](56,36) = 225.0/4096.0;
-      prolongation[0](56,37) = -75.0/4096.0;
-      prolongation[0](56,38) = -75.0/4096.0;
-      prolongation[0](56,39) = 25.0/4096.0;
-      prolongation[0](56,40) = 1125.0/4096.0;
-      prolongation[0](56,41) = -375.0/4096.0;
-      prolongation[0](56,42) = -375.0/4096.0;
-      prolongation[0](56,43) = 125.0/4096.0;
-      prolongation[0](56,44) = 225.0/4096.0;
-      prolongation[0](56,45) = -75.0/4096.0;
-      prolongation[0](56,46) = -75.0/4096.0;
-      prolongation[0](56,47) = 25.0/4096.0;
-      prolongation[0](56,48) = 225.0/4096.0;
-      prolongation[0](56,49) = -75.0/4096.0;
-      prolongation[0](56,50) = -75.0/4096.0;
-      prolongation[0](56,51) = 25.0/4096.0;
-      prolongation[0](56,52) = 1125.0/4096.0;
-      prolongation[0](56,53) = -375.0/4096.0;
-      prolongation[0](56,54) = -375.0/4096.0;
-      prolongation[0](56,55) = 125.0/4096.0;
-      prolongation[0](56,56) = 3375.0/4096.0;
-      prolongation[0](56,57) = -1125.0/4096.0;
-      prolongation[0](56,58) = -1125.0/4096.0;
-      prolongation[0](56,59) = 375.0/4096.0;
-      prolongation[0](56,60) = -1125.0/4096.0;
-      prolongation[0](56,61) = 375.0/4096.0;
-      prolongation[0](56,62) = 375.0/4096.0;
-      prolongation[0](56,63) = -125.0/4096.0;
-      prolongation[0](57,8) = 25.0/256.0;
-      prolongation[0](57,12) = 5.0/256.0;
-      prolongation[0](57,16) = 5.0/256.0;
-      prolongation[0](57,20) = 1.0/256.0;
-      prolongation[0](57,32) = 75.0/256.0;
-      prolongation[0](57,34) = -25.0/256.0;
-      prolongation[0](57,36) = 15.0/256.0;
-      prolongation[0](57,38) = -5.0/256.0;
-      prolongation[0](57,40) = 75.0/256.0;
-      prolongation[0](57,42) = -25.0/256.0;
-      prolongation[0](57,48) = 15.0/256.0;
-      prolongation[0](57,50) = -5.0/256.0;
-      prolongation[0](57,56) = 225.0/256.0;
-      prolongation[0](57,58) = -75.0/256.0;
-      prolongation[0](57,60) = -75.0/256.0;
-      prolongation[0](57,62) = 25.0/256.0;
-      prolongation[0](58,24) = 25.0/256.0;
-      prolongation[0](58,26) = 5.0/256.0;
-      prolongation[0](58,28) = 1.0/256.0;
-      prolongation[0](58,30) = 5.0/256.0;
-      prolongation[0](58,40) = 75.0/256.0;
-      prolongation[0](58,41) = -25.0/256.0;
-      prolongation[0](58,44) = 15.0/256.0;
-      prolongation[0](58,46) = -5.0/256.0;
-      prolongation[0](58,48) = 15.0/256.0;
-      prolongation[0](58,49) = -5.0/256.0;
-      prolongation[0](58,52) = 75.0/256.0;
-      prolongation[0](58,54) = -25.0/256.0;
-      prolongation[0](58,56) = 225.0/256.0;
-      prolongation[0](58,57) = -75.0/256.0;
-      prolongation[0](58,60) = -75.0/256.0;
-      prolongation[0](58,61) = 25.0/256.0;
-      prolongation[0](59,40) = 5.0/16.0;
-      prolongation[0](59,48) = 1.0/16.0;
-      prolongation[0](59,56) = 15.0/16.0;
-      prolongation[0](59,60) = -5.0/16.0;
-      prolongation[0](60,10) = 5.0/256.0;
-      prolongation[0](60,14) = 25.0/256.0;
-      prolongation[0](60,18) = 1.0/256.0;
-      prolongation[0](60,22) = 5.0/256.0;
-      prolongation[0](60,32) = 75.0/256.0;
-      prolongation[0](60,33) = -25.0/256.0;
-      prolongation[0](60,36) = 15.0/256.0;
-      prolongation[0](60,37) = -5.0/256.0;
-      prolongation[0](60,44) = 15.0/256.0;
-      prolongation[0](60,45) = -5.0/256.0;
-      prolongation[0](60,52) = 75.0/256.0;
-      prolongation[0](60,53) = -25.0/256.0;
-      prolongation[0](60,56) = 225.0/256.0;
-      prolongation[0](60,57) = -75.0/256.0;
-      prolongation[0](60,58) = -75.0/256.0;
-      prolongation[0](60,59) = 25.0/256.0;
-      prolongation[0](61,32) = 5.0/16.0;
-      prolongation[0](61,36) = 1.0/16.0;
-      prolongation[0](61,56) = 15.0/16.0;
-      prolongation[0](61,58) = -5.0/16.0;
-      prolongation[0](62,44) = 1.0/16.0;
-      prolongation[0](62,52) = 5.0/16.0;
-      prolongation[0](62,56) = 15.0/16.0;
-      prolongation[0](62,57) = -5.0/16.0;
-      prolongation[0](63,56) = 1.0;
-      prolongation[1](0,0) = -1.0/16.0;
-      prolongation[1](0,1) = -1.0/16.0;
-      prolongation[1](0,8) = 9.0/16.0;
-      prolongation[1](0,9) = 9.0/16.0;
-      prolongation[1](1,1) = 1.0;
-      prolongation[1](2,1) = -1.0/16.0;
-      prolongation[1](2,2) = -1.0/16.0;
-      prolongation[1](2,10) = 9.0/16.0;
-      prolongation[1](2,11) = 9.0/16.0;
-      prolongation[1](3,0) = 1.0/256.0;
-      prolongation[1](3,1) = 1.0/256.0;
-      prolongation[1](3,2) = 1.0/256.0;
-      prolongation[1](3,3) = 1.0/256.0;
-      prolongation[1](3,8) = -9.0/256.0;
-      prolongation[1](3,9) = -9.0/256.0;
-      prolongation[1](3,10) = -9.0/256.0;
-      prolongation[1](3,11) = -9.0/256.0;
-      prolongation[1](3,12) = -9.0/256.0;
-      prolongation[1](3,13) = -9.0/256.0;
-      prolongation[1](3,14) = -9.0/256.0;
-      prolongation[1](3,15) = -9.0/256.0;
-      prolongation[1](3,32) = 81.0/256.0;
-      prolongation[1](3,33) = 81.0/256.0;
-      prolongation[1](3,34) = 81.0/256.0;
-      prolongation[1](3,35) = 81.0/256.0;
-      prolongation[1](4,0) = 1.0/256.0;
-      prolongation[1](4,1) = 1.0/256.0;
-      prolongation[1](4,4) = 1.0/256.0;
-      prolongation[1](4,5) = 1.0/256.0;
-      prolongation[1](4,8) = -9.0/256.0;
-      prolongation[1](4,9) = -9.0/256.0;
-      prolongation[1](4,16) = -9.0/256.0;
-      prolongation[1](4,17) = -9.0/256.0;
-      prolongation[1](4,24) = -9.0/256.0;
-      prolongation[1](4,25) = -9.0/256.0;
-      prolongation[1](4,26) = -9.0/256.0;
-      prolongation[1](4,27) = -9.0/256.0;
-      prolongation[1](4,40) = 81.0/256.0;
-      prolongation[1](4,41) = 81.0/256.0;
-      prolongation[1](4,42) = 81.0/256.0;
-      prolongation[1](4,43) = 81.0/256.0;
-      prolongation[1](5,1) = -1.0/16.0;
-      prolongation[1](5,5) = -1.0/16.0;
-      prolongation[1](5,26) = 9.0/16.0;
-      prolongation[1](5,27) = 9.0/16.0;
-      prolongation[1](6,1) = 1.0/256.0;
-      prolongation[1](6,2) = 1.0/256.0;
-      prolongation[1](6,5) = 1.0/256.0;
-      prolongation[1](6,6) = 1.0/256.0;
-      prolongation[1](6,10) = -9.0/256.0;
-      prolongation[1](6,11) = -9.0/256.0;
-      prolongation[1](6,18) = -9.0/256.0;
-      prolongation[1](6,19) = -9.0/256.0;
-      prolongation[1](6,26) = -9.0/256.0;
-      prolongation[1](6,27) = -9.0/256.0;
-      prolongation[1](6,28) = -9.0/256.0;
-      prolongation[1](6,29) = -9.0/256.0;
-      prolongation[1](6,44) = 81.0/256.0;
-      prolongation[1](6,45) = 81.0/256.0;
-      prolongation[1](6,46) = 81.0/256.0;
-      prolongation[1](6,47) = 81.0/256.0;
-      prolongation[1](7,0) = -1.0/4096.0;
-      prolongation[1](7,1) = -1.0/4096.0;
-      prolongation[1](7,2) = -1.0/4096.0;
-      prolongation[1](7,3) = -1.0/4096.0;
-      prolongation[1](7,4) = -1.0/4096.0;
-      prolongation[1](7,5) = -1.0/4096.0;
-      prolongation[1](7,6) = -1.0/4096.0;
-      prolongation[1](7,7) = -1.0/4096.0;
-      prolongation[1](7,8) = 9.0/4096.0;
-      prolongation[1](7,9) = 9.0/4096.0;
-      prolongation[1](7,10) = 9.0/4096.0;
-      prolongation[1](7,11) = 9.0/4096.0;
-      prolongation[1](7,12) = 9.0/4096.0;
-      prolongation[1](7,13) = 9.0/4096.0;
-      prolongation[1](7,14) = 9.0/4096.0;
-      prolongation[1](7,15) = 9.0/4096.0;
-      prolongation[1](7,16) = 9.0/4096.0;
-      prolongation[1](7,17) = 9.0/4096.0;
-      prolongation[1](7,18) = 9.0/4096.0;
-      prolongation[1](7,19) = 9.0/4096.0;
-      prolongation[1](7,20) = 9.0/4096.0;
-      prolongation[1](7,21) = 9.0/4096.0;
-      prolongation[1](7,22) = 9.0/4096.0;
-      prolongation[1](7,23) = 9.0/4096.0;
-      prolongation[1](7,24) = 9.0/4096.0;
-      prolongation[1](7,25) = 9.0/4096.0;
-      prolongation[1](7,26) = 9.0/4096.0;
-      prolongation[1](7,27) = 9.0/4096.0;
-      prolongation[1](7,28) = 9.0/4096.0;
-      prolongation[1](7,29) = 9.0/4096.0;
-      prolongation[1](7,30) = 9.0/4096.0;
-      prolongation[1](7,31) = 9.0/4096.0;
-      prolongation[1](7,32) = -81.0/4096.0;
-      prolongation[1](7,33) = -81.0/4096.0;
-      prolongation[1](7,34) = -81.0/4096.0;
-      prolongation[1](7,35) = -81.0/4096.0;
-      prolongation[1](7,36) = -81.0/4096.0;
-      prolongation[1](7,37) = -81.0/4096.0;
-      prolongation[1](7,38) = -81.0/4096.0;
-      prolongation[1](7,39) = -81.0/4096.0;
-      prolongation[1](7,40) = -81.0/4096.0;
-      prolongation[1](7,41) = -81.0/4096.0;
-      prolongation[1](7,42) = -81.0/4096.0;
-      prolongation[1](7,43) = -81.0/4096.0;
-      prolongation[1](7,44) = -81.0/4096.0;
-      prolongation[1](7,45) = -81.0/4096.0;
-      prolongation[1](7,46) = -81.0/4096.0;
-      prolongation[1](7,47) = -81.0/4096.0;
-      prolongation[1](7,48) = -81.0/4096.0;
-      prolongation[1](7,49) = -81.0/4096.0;
-      prolongation[1](7,50) = -81.0/4096.0;
-      prolongation[1](7,51) = -81.0/4096.0;
-      prolongation[1](7,52) = -81.0/4096.0;
-      prolongation[1](7,53) = -81.0/4096.0;
-      prolongation[1](7,54) = -81.0/4096.0;
-      prolongation[1](7,55) = -81.0/4096.0;
-      prolongation[1](7,56) = 729.0/4096.0;
-      prolongation[1](7,57) = 729.0/4096.0;
-      prolongation[1](7,58) = 729.0/4096.0;
-      prolongation[1](7,59) = 729.0/4096.0;
-      prolongation[1](7,60) = 729.0/4096.0;
-      prolongation[1](7,61) = 729.0/4096.0;
-      prolongation[1](7,62) = 729.0/4096.0;
-      prolongation[1](7,63) = 729.0/4096.0;
-      prolongation[1](8,9) = 1.0;
-      prolongation[1](9,0) = 1.0/16.0;
-      prolongation[1](9,1) = 5.0/16.0;
-      prolongation[1](9,8) = -5.0/16.0;
-      prolongation[1](9,9) = 15.0/16.0;
-      prolongation[1](10,1) = 5.0/16.0;
-      prolongation[1](10,2) = 1.0/16.0;
-      prolongation[1](10,10) = 15.0/16.0;
-      prolongation[1](10,11) = -5.0/16.0;
-      prolongation[1](11,10) = 1.0;
-      prolongation[1](12,9) = -1.0/16.0;
-      prolongation[1](12,13) = -1.0/16.0;
-      prolongation[1](12,33) = 9.0/16.0;
-      prolongation[1](12,35) = 9.0/16.0;
-      prolongation[1](13,0) = -1.0/256.0;
-      prolongation[1](13,1) = -5.0/256.0;
-      prolongation[1](13,2) = -5.0/256.0;
-      prolongation[1](13,3) = -1.0/256.0;
-      prolongation[1](13,8) = 5.0/256.0;
-      prolongation[1](13,9) = -15.0/256.0;
-      prolongation[1](13,10) = 45.0/256.0;
-      prolongation[1](13,11) = 45.0/256.0;
-      prolongation[1](13,12) = 5.0/256.0;
-      prolongation[1](13,13) = -15.0/256.0;
-      prolongation[1](13,14) = 9.0/256.0;
-      prolongation[1](13,15) = 9.0/256.0;
-      prolongation[1](13,32) = -45.0/256.0;
-      prolongation[1](13,33) = 135.0/256.0;
-      prolongation[1](13,34) = -45.0/256.0;
-      prolongation[1](13,35) = 135.0/256.0;
-      prolongation[1](14,0) = -5.0/256.0;
-      prolongation[1](14,1) = -5.0/256.0;
-      prolongation[1](14,2) = -1.0/256.0;
-      prolongation[1](14,3) = -1.0/256.0;
-      prolongation[1](14,8) = 45.0/256.0;
-      prolongation[1](14,9) = 45.0/256.0;
-      prolongation[1](14,10) = -15.0/256.0;
-      prolongation[1](14,11) = 5.0/256.0;
-      prolongation[1](14,12) = 9.0/256.0;
-      prolongation[1](14,13) = 9.0/256.0;
-      prolongation[1](14,14) = -15.0/256.0;
-      prolongation[1](14,15) = 5.0/256.0;
-      prolongation[1](14,32) = 135.0/256.0;
-      prolongation[1](14,33) = 135.0/256.0;
-      prolongation[1](14,34) = -45.0/256.0;
-      prolongation[1](14,35) = -45.0/256.0;
-      prolongation[1](15,10) = -1.0/16.0;
-      prolongation[1](15,14) = -1.0/16.0;
-      prolongation[1](15,32) = 9.0/16.0;
-      prolongation[1](15,33) = 9.0/16.0;
-      prolongation[1](16,9) = -1.0/16.0;
-      prolongation[1](16,17) = -1.0/16.0;
-      prolongation[1](16,41) = 9.0/16.0;
-      prolongation[1](16,43) = 9.0/16.0;
-      prolongation[1](17,0) = -1.0/256.0;
-      prolongation[1](17,1) = -5.0/256.0;
-      prolongation[1](17,4) = -1.0/256.0;
-      prolongation[1](17,5) = -5.0/256.0;
-      prolongation[1](17,8) = 5.0/256.0;
-      prolongation[1](17,9) = -15.0/256.0;
-      prolongation[1](17,16) = 5.0/256.0;
-      prolongation[1](17,17) = -15.0/256.0;
-      prolongation[1](17,24) = 9.0/256.0;
-      prolongation[1](17,25) = 9.0/256.0;
-      prolongation[1](17,26) = 45.0/256.0;
-      prolongation[1](17,27) = 45.0/256.0;
-      prolongation[1](17,40) = -45.0/256.0;
-      prolongation[1](17,41) = 135.0/256.0;
-      prolongation[1](17,42) = -45.0/256.0;
-      prolongation[1](17,43) = 135.0/256.0;
-      prolongation[1](18,1) = -5.0/256.0;
-      prolongation[1](18,2) = -1.0/256.0;
-      prolongation[1](18,5) = -5.0/256.0;
-      prolongation[1](18,6) = -1.0/256.0;
-      prolongation[1](18,10) = -15.0/256.0;
-      prolongation[1](18,11) = 5.0/256.0;
-      prolongation[1](18,18) = -15.0/256.0;
-      prolongation[1](18,19) = 5.0/256.0;
-      prolongation[1](18,26) = 45.0/256.0;
-      prolongation[1](18,27) = 45.0/256.0;
-      prolongation[1](18,28) = 9.0/256.0;
-      prolongation[1](18,29) = 9.0/256.0;
-      prolongation[1](18,44) = 135.0/256.0;
-      prolongation[1](18,45) = 135.0/256.0;
-      prolongation[1](18,46) = -45.0/256.0;
-      prolongation[1](18,47) = -45.0/256.0;
-      prolongation[1](19,10) = -1.0/16.0;
-      prolongation[1](19,18) = -1.0/16.0;
-      prolongation[1](19,44) = 9.0/16.0;
-      prolongation[1](19,45) = 9.0/16.0;
-      prolongation[1](20,9) = 1.0/256.0;
-      prolongation[1](20,13) = 1.0/256.0;
-      prolongation[1](20,17) = 1.0/256.0;
-      prolongation[1](20,21) = 1.0/256.0;
-      prolongation[1](20,33) = -9.0/256.0;
-      prolongation[1](20,35) = -9.0/256.0;
-      prolongation[1](20,37) = -9.0/256.0;
-      prolongation[1](20,39) = -9.0/256.0;
-      prolongation[1](20,41) = -9.0/256.0;
-      prolongation[1](20,43) = -9.0/256.0;
-      prolongation[1](20,49) = -9.0/256.0;
-      prolongation[1](20,51) = -9.0/256.0;
-      prolongation[1](20,57) = 81.0/256.0;
-      prolongation[1](20,59) = 81.0/256.0;
-      prolongation[1](20,61) = 81.0/256.0;
-      prolongation[1](20,63) = 81.0/256.0;
-      prolongation[1](21,0) = 1.0/4096.0;
-      prolongation[1](21,1) = 5.0/4096.0;
-      prolongation[1](21,2) = 5.0/4096.0;
-      prolongation[1](21,3) = 1.0/4096.0;
-      prolongation[1](21,4) = 1.0/4096.0;
-      prolongation[1](21,5) = 5.0/4096.0;
-      prolongation[1](21,6) = 5.0/4096.0;
-      prolongation[1](21,7) = 1.0/4096.0;
-      prolongation[1](21,8) = -5.0/4096.0;
-      prolongation[1](21,9) = 15.0/4096.0;
-      prolongation[1](21,10) = -45.0/4096.0;
-      prolongation[1](21,11) = -45.0/4096.0;
-      prolongation[1](21,12) = -5.0/4096.0;
-      prolongation[1](21,13) = 15.0/4096.0;
-      prolongation[1](21,14) = -9.0/4096.0;
-      prolongation[1](21,15) = -9.0/4096.0;
-      prolongation[1](21,16) = -5.0/4096.0;
-      prolongation[1](21,17) = 15.0/4096.0;
-      prolongation[1](21,18) = -45.0/4096.0;
-      prolongation[1](21,19) = -45.0/4096.0;
-      prolongation[1](21,20) = -5.0/4096.0;
-      prolongation[1](21,21) = 15.0/4096.0;
-      prolongation[1](21,22) = -9.0/4096.0;
-      prolongation[1](21,23) = -9.0/4096.0;
-      prolongation[1](21,24) = -9.0/4096.0;
-      prolongation[1](21,25) = -9.0/4096.0;
-      prolongation[1](21,26) = -45.0/4096.0;
-      prolongation[1](21,27) = -45.0/4096.0;
-      prolongation[1](21,28) = -45.0/4096.0;
-      prolongation[1](21,29) = -45.0/4096.0;
-      prolongation[1](21,30) = -9.0/4096.0;
-      prolongation[1](21,31) = -9.0/4096.0;
-      prolongation[1](21,32) = 45.0/4096.0;
-      prolongation[1](21,33) = -135.0/4096.0;
-      prolongation[1](21,34) = 45.0/4096.0;
-      prolongation[1](21,35) = -135.0/4096.0;
-      prolongation[1](21,36) = 45.0/4096.0;
-      prolongation[1](21,37) = -135.0/4096.0;
-      prolongation[1](21,38) = 45.0/4096.0;
-      prolongation[1](21,39) = -135.0/4096.0;
-      prolongation[1](21,40) = 45.0/4096.0;
-      prolongation[1](21,41) = -135.0/4096.0;
-      prolongation[1](21,42) = 45.0/4096.0;
-      prolongation[1](21,43) = -135.0/4096.0;
-      prolongation[1](21,44) = 405.0/4096.0;
-      prolongation[1](21,45) = 405.0/4096.0;
-      prolongation[1](21,46) = 405.0/4096.0;
-      prolongation[1](21,47) = 405.0/4096.0;
-      prolongation[1](21,48) = 45.0/4096.0;
-      prolongation[1](21,49) = -135.0/4096.0;
-      prolongation[1](21,50) = 45.0/4096.0;
-      prolongation[1](21,51) = -135.0/4096.0;
-      prolongation[1](21,52) = 81.0/4096.0;
-      prolongation[1](21,53) = 81.0/4096.0;
-      prolongation[1](21,54) = 81.0/4096.0;
-      prolongation[1](21,55) = 81.0/4096.0;
-      prolongation[1](21,56) = -405.0/4096.0;
-      prolongation[1](21,57) = 1215.0/4096.0;
-      prolongation[1](21,58) = -405.0/4096.0;
-      prolongation[1](21,59) = 1215.0/4096.0;
-      prolongation[1](21,60) = -405.0/4096.0;
-      prolongation[1](21,61) = 1215.0/4096.0;
-      prolongation[1](21,62) = -405.0/4096.0;
-      prolongation[1](21,63) = 1215.0/4096.0;
-      prolongation[1](22,0) = 5.0/4096.0;
-      prolongation[1](22,1) = 5.0/4096.0;
-      prolongation[1](22,2) = 1.0/4096.0;
-      prolongation[1](22,3) = 1.0/4096.0;
-      prolongation[1](22,4) = 5.0/4096.0;
-      prolongation[1](22,5) = 5.0/4096.0;
-      prolongation[1](22,6) = 1.0/4096.0;
-      prolongation[1](22,7) = 1.0/4096.0;
-      prolongation[1](22,8) = -45.0/4096.0;
-      prolongation[1](22,9) = -45.0/4096.0;
-      prolongation[1](22,10) = 15.0/4096.0;
-      prolongation[1](22,11) = -5.0/4096.0;
-      prolongation[1](22,12) = -9.0/4096.0;
-      prolongation[1](22,13) = -9.0/4096.0;
-      prolongation[1](22,14) = 15.0/4096.0;
-      prolongation[1](22,15) = -5.0/4096.0;
-      prolongation[1](22,16) = -45.0/4096.0;
-      prolongation[1](22,17) = -45.0/4096.0;
-      prolongation[1](22,18) = 15.0/4096.0;
-      prolongation[1](22,19) = -5.0/4096.0;
-      prolongation[1](22,20) = -9.0/4096.0;
-      prolongation[1](22,21) = -9.0/4096.0;
-      prolongation[1](22,22) = 15.0/4096.0;
-      prolongation[1](22,23) = -5.0/4096.0;
-      prolongation[1](22,24) = -45.0/4096.0;
-      prolongation[1](22,25) = -45.0/4096.0;
-      prolongation[1](22,26) = -45.0/4096.0;
-      prolongation[1](22,27) = -45.0/4096.0;
-      prolongation[1](22,28) = -9.0/4096.0;
-      prolongation[1](22,29) = -9.0/4096.0;
-      prolongation[1](22,30) = -9.0/4096.0;
-      prolongation[1](22,31) = -9.0/4096.0;
-      prolongation[1](22,32) = -135.0/4096.0;
-      prolongation[1](22,33) = -135.0/4096.0;
-      prolongation[1](22,34) = 45.0/4096.0;
-      prolongation[1](22,35) = 45.0/4096.0;
-      prolongation[1](22,36) = -135.0/4096.0;
-      prolongation[1](22,37) = -135.0/4096.0;
-      prolongation[1](22,38) = 45.0/4096.0;
-      prolongation[1](22,39) = 45.0/4096.0;
-      prolongation[1](22,40) = 405.0/4096.0;
-      prolongation[1](22,41) = 405.0/4096.0;
-      prolongation[1](22,42) = 405.0/4096.0;
-      prolongation[1](22,43) = 405.0/4096.0;
-      prolongation[1](22,44) = -135.0/4096.0;
-      prolongation[1](22,45) = -135.0/4096.0;
-      prolongation[1](22,46) = 45.0/4096.0;
-      prolongation[1](22,47) = 45.0/4096.0;
-      prolongation[1](22,48) = 81.0/4096.0;
-      prolongation[1](22,49) = 81.0/4096.0;
-      prolongation[1](22,50) = 81.0/4096.0;
-      prolongation[1](22,51) = 81.0/4096.0;
-      prolongation[1](22,52) = -135.0/4096.0;
-      prolongation[1](22,53) = -135.0/4096.0;
-      prolongation[1](22,54) = 45.0/4096.0;
-      prolongation[1](22,55) = 45.0/4096.0;
-      prolongation[1](22,56) = 1215.0/4096.0;
-      prolongation[1](22,57) = 1215.0/4096.0;
-      prolongation[1](22,58) = 1215.0/4096.0;
-      prolongation[1](22,59) = 1215.0/4096.0;
-      prolongation[1](22,60) = -405.0/4096.0;
-      prolongation[1](22,61) = -405.0/4096.0;
-      prolongation[1](22,62) = -405.0/4096.0;
-      prolongation[1](22,63) = -405.0/4096.0;
-      prolongation[1](23,10) = 1.0/256.0;
-      prolongation[1](23,14) = 1.0/256.0;
-      prolongation[1](23,18) = 1.0/256.0;
-      prolongation[1](23,22) = 1.0/256.0;
-      prolongation[1](23,32) = -9.0/256.0;
-      prolongation[1](23,33) = -9.0/256.0;
-      prolongation[1](23,36) = -9.0/256.0;
-      prolongation[1](23,37) = -9.0/256.0;
-      prolongation[1](23,44) = -9.0/256.0;
-      prolongation[1](23,45) = -9.0/256.0;
-      prolongation[1](23,52) = -9.0/256.0;
-      prolongation[1](23,53) = -9.0/256.0;
-      prolongation[1](23,56) = 81.0/256.0;
-      prolongation[1](23,57) = 81.0/256.0;
-      prolongation[1](23,58) = 81.0/256.0;
-      prolongation[1](23,59) = 81.0/256.0;
-      prolongation[1](24,0) = -5.0/256.0;
-      prolongation[1](24,1) = -5.0/256.0;
-      prolongation[1](24,4) = -1.0/256.0;
-      prolongation[1](24,5) = -1.0/256.0;
-      prolongation[1](24,8) = 45.0/256.0;
-      prolongation[1](24,9) = 45.0/256.0;
-      prolongation[1](24,16) = 9.0/256.0;
-      prolongation[1](24,17) = 9.0/256.0;
-      prolongation[1](24,24) = -15.0/256.0;
-      prolongation[1](24,25) = 5.0/256.0;
-      prolongation[1](24,26) = -15.0/256.0;
-      prolongation[1](24,27) = 5.0/256.0;
-      prolongation[1](24,40) = 135.0/256.0;
-      prolongation[1](24,41) = 135.0/256.0;
-      prolongation[1](24,42) = -45.0/256.0;
-      prolongation[1](24,43) = -45.0/256.0;
-      prolongation[1](25,24) = -1.0/16.0;
-      prolongation[1](25,26) = -1.0/16.0;
-      prolongation[1](25,40) = 9.0/16.0;
-      prolongation[1](25,41) = 9.0/16.0;
-      prolongation[1](26,1) = 5.0/16.0;
-      prolongation[1](26,5) = 1.0/16.0;
-      prolongation[1](26,26) = 15.0/16.0;
-      prolongation[1](26,27) = -5.0/16.0;
-      prolongation[1](27,26) = 1.0;
-      prolongation[1](28,1) = -5.0/256.0;
-      prolongation[1](28,2) = -5.0/256.0;
-      prolongation[1](28,5) = -1.0/256.0;
-      prolongation[1](28,6) = -1.0/256.0;
-      prolongation[1](28,10) = 45.0/256.0;
-      prolongation[1](28,11) = 45.0/256.0;
-      prolongation[1](28,18) = 9.0/256.0;
-      prolongation[1](28,19) = 9.0/256.0;
-      prolongation[1](28,26) = -15.0/256.0;
-      prolongation[1](28,27) = 5.0/256.0;
-      prolongation[1](28,28) = -15.0/256.0;
-      prolongation[1](28,29) = 5.0/256.0;
-      prolongation[1](28,44) = 135.0/256.0;
-      prolongation[1](28,45) = -45.0/256.0;
-      prolongation[1](28,46) = 135.0/256.0;
-      prolongation[1](28,47) = -45.0/256.0;
-      prolongation[1](29,26) = -1.0/16.0;
-      prolongation[1](29,28) = -1.0/16.0;
-      prolongation[1](29,44) = 9.0/16.0;
-      prolongation[1](29,46) = 9.0/16.0;
-      prolongation[1](30,0) = 5.0/4096.0;
-      prolongation[1](30,1) = 5.0/4096.0;
-      prolongation[1](30,2) = 5.0/4096.0;
-      prolongation[1](30,3) = 5.0/4096.0;
-      prolongation[1](30,4) = 1.0/4096.0;
-      prolongation[1](30,5) = 1.0/4096.0;
-      prolongation[1](30,6) = 1.0/4096.0;
-      prolongation[1](30,7) = 1.0/4096.0;
-      prolongation[1](30,8) = -45.0/4096.0;
-      prolongation[1](30,9) = -45.0/4096.0;
-      prolongation[1](30,10) = -45.0/4096.0;
-      prolongation[1](30,11) = -45.0/4096.0;
-      prolongation[1](30,12) = -45.0/4096.0;
-      prolongation[1](30,13) = -45.0/4096.0;
-      prolongation[1](30,14) = -45.0/4096.0;
-      prolongation[1](30,15) = -45.0/4096.0;
-      prolongation[1](30,16) = -9.0/4096.0;
-      prolongation[1](30,17) = -9.0/4096.0;
-      prolongation[1](30,18) = -9.0/4096.0;
-      prolongation[1](30,19) = -9.0/4096.0;
-      prolongation[1](30,20) = -9.0/4096.0;
-      prolongation[1](30,21) = -9.0/4096.0;
-      prolongation[1](30,22) = -9.0/4096.0;
-      prolongation[1](30,23) = -9.0/4096.0;
-      prolongation[1](30,24) = 15.0/4096.0;
-      prolongation[1](30,25) = -5.0/4096.0;
-      prolongation[1](30,26) = 15.0/4096.0;
-      prolongation[1](30,27) = -5.0/4096.0;
-      prolongation[1](30,28) = 15.0/4096.0;
-      prolongation[1](30,29) = -5.0/4096.0;
-      prolongation[1](30,30) = 15.0/4096.0;
-      prolongation[1](30,31) = -5.0/4096.0;
-      prolongation[1](30,32) = 405.0/4096.0;
-      prolongation[1](30,33) = 405.0/4096.0;
-      prolongation[1](30,34) = 405.0/4096.0;
-      prolongation[1](30,35) = 405.0/4096.0;
-      prolongation[1](30,36) = 81.0/4096.0;
-      prolongation[1](30,37) = 81.0/4096.0;
-      prolongation[1](30,38) = 81.0/4096.0;
-      prolongation[1](30,39) = 81.0/4096.0;
-      prolongation[1](30,40) = -135.0/4096.0;
-      prolongation[1](30,41) = -135.0/4096.0;
-      prolongation[1](30,42) = 45.0/4096.0;
-      prolongation[1](30,43) = 45.0/4096.0;
-      prolongation[1](30,44) = -135.0/4096.0;
-      prolongation[1](30,45) = 45.0/4096.0;
-      prolongation[1](30,46) = -135.0/4096.0;
-      prolongation[1](30,47) = 45.0/4096.0;
-      prolongation[1](30,48) = -135.0/4096.0;
-      prolongation[1](30,49) = -135.0/4096.0;
-      prolongation[1](30,50) = 45.0/4096.0;
-      prolongation[1](30,51) = 45.0/4096.0;
-      prolongation[1](30,52) = -135.0/4096.0;
-      prolongation[1](30,53) = 45.0/4096.0;
-      prolongation[1](30,54) = -135.0/4096.0;
-      prolongation[1](30,55) = 45.0/4096.0;
-      prolongation[1](30,56) = 1215.0/4096.0;
-      prolongation[1](30,57) = 1215.0/4096.0;
-      prolongation[1](30,58) = -405.0/4096.0;
-      prolongation[1](30,59) = -405.0/4096.0;
-      prolongation[1](30,60) = 1215.0/4096.0;
-      prolongation[1](30,61) = 1215.0/4096.0;
-      prolongation[1](30,62) = -405.0/4096.0;
-      prolongation[1](30,63) = -405.0/4096.0;
-      prolongation[1](31,24) = 1.0/256.0;
-      prolongation[1](31,26) = 1.0/256.0;
-      prolongation[1](31,28) = 1.0/256.0;
-      prolongation[1](31,30) = 1.0/256.0;
-      prolongation[1](31,40) = -9.0/256.0;
-      prolongation[1](31,41) = -9.0/256.0;
-      prolongation[1](31,44) = -9.0/256.0;
-      prolongation[1](31,46) = -9.0/256.0;
-      prolongation[1](31,48) = -9.0/256.0;
-      prolongation[1](31,49) = -9.0/256.0;
-      prolongation[1](31,52) = -9.0/256.0;
-      prolongation[1](31,54) = -9.0/256.0;
-      prolongation[1](31,56) = 81.0/256.0;
-      prolongation[1](31,57) = 81.0/256.0;
-      prolongation[1](31,60) = 81.0/256.0;
-      prolongation[1](31,61) = 81.0/256.0;
-      prolongation[1](32,9) = 5.0/16.0;
-      prolongation[1](32,13) = 1.0/16.0;
-      prolongation[1](32,33) = 15.0/16.0;
-      prolongation[1](32,35) = -5.0/16.0;
-      prolongation[1](33,0) = 5.0/256.0;
-      prolongation[1](33,1) = 25.0/256.0;
-      prolongation[1](33,2) = 5.0/256.0;
-      prolongation[1](33,3) = 1.0/256.0;
-      prolongation[1](33,8) = -25.0/256.0;
-      prolongation[1](33,9) = 75.0/256.0;
-      prolongation[1](33,10) = 75.0/256.0;
-      prolongation[1](33,11) = -25.0/256.0;
-      prolongation[1](33,12) = -5.0/256.0;
-      prolongation[1](33,13) = 15.0/256.0;
-      prolongation[1](33,14) = 15.0/256.0;
-      prolongation[1](33,15) = -5.0/256.0;
-      prolongation[1](33,32) = -75.0/256.0;
-      prolongation[1](33,33) = 225.0/256.0;
-      prolongation[1](33,34) = 25.0/256.0;
-      prolongation[1](33,35) = -75.0/256.0;
-      prolongation[1](34,33) = 1.0;
-      prolongation[1](35,10) = 5.0/16.0;
-      prolongation[1](35,14) = 1.0/16.0;
-      prolongation[1](35,32) = -5.0/16.0;
-      prolongation[1](35,33) = 15.0/16.0;
-      prolongation[1](36,9) = -5.0/256.0;
-      prolongation[1](36,13) = -1.0/256.0;
-      prolongation[1](36,17) = -5.0/256.0;
-      prolongation[1](36,21) = -1.0/256.0;
-      prolongation[1](36,33) = -15.0/256.0;
-      prolongation[1](36,35) = 5.0/256.0;
-      prolongation[1](36,37) = -15.0/256.0;
-      prolongation[1](36,39) = 5.0/256.0;
-      prolongation[1](36,41) = 45.0/256.0;
-      prolongation[1](36,43) = 45.0/256.0;
-      prolongation[1](36,49) = 9.0/256.0;
-      prolongation[1](36,51) = 9.0/256.0;
-      prolongation[1](36,57) = 135.0/256.0;
-      prolongation[1](36,59) = 135.0/256.0;
-      prolongation[1](36,61) = -45.0/256.0;
-      prolongation[1](36,63) = -45.0/256.0;
-      prolongation[1](37,0) = -5.0/4096.0;
-      prolongation[1](37,1) = -25.0/4096.0;
-      prolongation[1](37,2) = -5.0/4096.0;
-      prolongation[1](37,3) = -1.0/4096.0;
-      prolongation[1](37,4) = -5.0/4096.0;
-      prolongation[1](37,5) = -25.0/4096.0;
-      prolongation[1](37,6) = -5.0/4096.0;
-      prolongation[1](37,7) = -1.0/4096.0;
-      prolongation[1](37,8) = 25.0/4096.0;
-      prolongation[1](37,9) = -75.0/4096.0;
-      prolongation[1](37,10) = -75.0/4096.0;
-      prolongation[1](37,11) = 25.0/4096.0;
-      prolongation[1](37,12) = 5.0/4096.0;
-      prolongation[1](37,13) = -15.0/4096.0;
-      prolongation[1](37,14) = -15.0/4096.0;
-      prolongation[1](37,15) = 5.0/4096.0;
-      prolongation[1](37,16) = 25.0/4096.0;
-      prolongation[1](37,17) = -75.0/4096.0;
-      prolongation[1](37,18) = -75.0/4096.0;
-      prolongation[1](37,19) = 25.0/4096.0;
-      prolongation[1](37,20) = 5.0/4096.0;
-      prolongation[1](37,21) = -15.0/4096.0;
-      prolongation[1](37,22) = -15.0/4096.0;
-      prolongation[1](37,23) = 5.0/4096.0;
-      prolongation[1](37,24) = 45.0/4096.0;
-      prolongation[1](37,25) = 45.0/4096.0;
-      prolongation[1](37,26) = 225.0/4096.0;
-      prolongation[1](37,27) = 225.0/4096.0;
-      prolongation[1](37,28) = 45.0/4096.0;
-      prolongation[1](37,29) = 45.0/4096.0;
-      prolongation[1](37,30) = 9.0/4096.0;
-      prolongation[1](37,31) = 9.0/4096.0;
-      prolongation[1](37,32) = 75.0/4096.0;
-      prolongation[1](37,33) = -225.0/4096.0;
-      prolongation[1](37,34) = -25.0/4096.0;
-      prolongation[1](37,35) = 75.0/4096.0;
-      prolongation[1](37,36) = 75.0/4096.0;
-      prolongation[1](37,37) = -225.0/4096.0;
-      prolongation[1](37,38) = -25.0/4096.0;
-      prolongation[1](37,39) = 75.0/4096.0;
-      prolongation[1](37,40) = -225.0/4096.0;
-      prolongation[1](37,41) = 675.0/4096.0;
-      prolongation[1](37,42) = -225.0/4096.0;
-      prolongation[1](37,43) = 675.0/4096.0;
-      prolongation[1](37,44) = 675.0/4096.0;
-      prolongation[1](37,45) = 675.0/4096.0;
-      prolongation[1](37,46) = -225.0/4096.0;
-      prolongation[1](37,47) = -225.0/4096.0;
-      prolongation[1](37,48) = -45.0/4096.0;
-      prolongation[1](37,49) = 135.0/4096.0;
-      prolongation[1](37,50) = -45.0/4096.0;
-      prolongation[1](37,51) = 135.0/4096.0;
-      prolongation[1](37,52) = 135.0/4096.0;
-      prolongation[1](37,53) = 135.0/4096.0;
-      prolongation[1](37,54) = -45.0/4096.0;
-      prolongation[1](37,55) = -45.0/4096.0;
-      prolongation[1](37,56) = -675.0/4096.0;
-      prolongation[1](37,57) = 2025.0/4096.0;
-      prolongation[1](37,58) = -675.0/4096.0;
-      prolongation[1](37,59) = 2025.0/4096.0;
-      prolongation[1](37,60) = 225.0/4096.0;
-      prolongation[1](37,61) = -675.0/4096.0;
-      prolongation[1](37,62) = 225.0/4096.0;
-      prolongation[1](37,63) = -675.0/4096.0;
-      prolongation[1](38,33) = -1.0/16.0;
-      prolongation[1](38,37) = -1.0/16.0;
-      prolongation[1](38,57) = 9.0/16.0;
-      prolongation[1](38,59) = 9.0/16.0;
-      prolongation[1](39,10) = -5.0/256.0;
-      prolongation[1](39,14) = -1.0/256.0;
-      prolongation[1](39,18) = -5.0/256.0;
-      prolongation[1](39,22) = -1.0/256.0;
-      prolongation[1](39,32) = 5.0/256.0;
-      prolongation[1](39,33) = -15.0/256.0;
-      prolongation[1](39,36) = 5.0/256.0;
-      prolongation[1](39,37) = -15.0/256.0;
-      prolongation[1](39,44) = 45.0/256.0;
-      prolongation[1](39,45) = 45.0/256.0;
-      prolongation[1](39,52) = 9.0/256.0;
-      prolongation[1](39,53) = 9.0/256.0;
-      prolongation[1](39,56) = -45.0/256.0;
-      prolongation[1](39,57) = 135.0/256.0;
-      prolongation[1](39,58) = -45.0/256.0;
-      prolongation[1](39,59) = 135.0/256.0;
-      prolongation[1](40,9) = 5.0/16.0;
-      prolongation[1](40,17) = 1.0/16.0;
-      prolongation[1](40,41) = 15.0/16.0;
-      prolongation[1](40,43) = -5.0/16.0;
-      prolongation[1](41,0) = 5.0/256.0;
-      prolongation[1](41,1) = 25.0/256.0;
-      prolongation[1](41,4) = 1.0/256.0;
-      prolongation[1](41,5) = 5.0/256.0;
-      prolongation[1](41,8) = -25.0/256.0;
-      prolongation[1](41,9) = 75.0/256.0;
-      prolongation[1](41,16) = -5.0/256.0;
-      prolongation[1](41,17) = 15.0/256.0;
-      prolongation[1](41,24) = 15.0/256.0;
-      prolongation[1](41,25) = -5.0/256.0;
-      prolongation[1](41,26) = 75.0/256.0;
-      prolongation[1](41,27) = -25.0/256.0;
-      prolongation[1](41,40) = -75.0/256.0;
-      prolongation[1](41,41) = 225.0/256.0;
-      prolongation[1](41,42) = 25.0/256.0;
-      prolongation[1](41,43) = -75.0/256.0;
-      prolongation[1](42,41) = 1.0;
-      prolongation[1](43,24) = 1.0/16.0;
-      prolongation[1](43,26) = 5.0/16.0;
-      prolongation[1](43,40) = -5.0/16.0;
-      prolongation[1](43,41) = 15.0/16.0;
-      prolongation[1](44,1) = 25.0/256.0;
-      prolongation[1](44,2) = 5.0/256.0;
-      prolongation[1](44,5) = 5.0/256.0;
-      prolongation[1](44,6) = 1.0/256.0;
-      prolongation[1](44,10) = 75.0/256.0;
-      prolongation[1](44,11) = -25.0/256.0;
-      prolongation[1](44,18) = 15.0/256.0;
-      prolongation[1](44,19) = -5.0/256.0;
-      prolongation[1](44,26) = 75.0/256.0;
-      prolongation[1](44,27) = -25.0/256.0;
-      prolongation[1](44,28) = 15.0/256.0;
-      prolongation[1](44,29) = -5.0/256.0;
-      prolongation[1](44,44) = 225.0/256.0;
-      prolongation[1](44,45) = -75.0/256.0;
-      prolongation[1](44,46) = -75.0/256.0;
-      prolongation[1](44,47) = 25.0/256.0;
-      prolongation[1](45,26) = 5.0/16.0;
-      prolongation[1](45,28) = 1.0/16.0;
-      prolongation[1](45,44) = 15.0/16.0;
-      prolongation[1](45,46) = -5.0/16.0;
-      prolongation[1](46,10) = 5.0/16.0;
-      prolongation[1](46,18) = 1.0/16.0;
-      prolongation[1](46,44) = 15.0/16.0;
-      prolongation[1](46,45) = -5.0/16.0;
-      prolongation[1](47,44) = 1.0;
-      prolongation[1](48,9) = -5.0/256.0;
-      prolongation[1](48,13) = -5.0/256.0;
-      prolongation[1](48,17) = -1.0/256.0;
-      prolongation[1](48,21) = -1.0/256.0;
-      prolongation[1](48,33) = 45.0/256.0;
-      prolongation[1](48,35) = 45.0/256.0;
-      prolongation[1](48,37) = 9.0/256.0;
-      prolongation[1](48,39) = 9.0/256.0;
-      prolongation[1](48,41) = -15.0/256.0;
-      prolongation[1](48,43) = 5.0/256.0;
-      prolongation[1](48,49) = -15.0/256.0;
-      prolongation[1](48,51) = 5.0/256.0;
-      prolongation[1](48,57) = 135.0/256.0;
-      prolongation[1](48,59) = -45.0/256.0;
-      prolongation[1](48,61) = 135.0/256.0;
-      prolongation[1](48,63) = -45.0/256.0;
-      prolongation[1](49,0) = -5.0/4096.0;
-      prolongation[1](49,1) = -25.0/4096.0;
-      prolongation[1](49,2) = -25.0/4096.0;
-      prolongation[1](49,3) = -5.0/4096.0;
-      prolongation[1](49,4) = -1.0/4096.0;
-      prolongation[1](49,5) = -5.0/4096.0;
-      prolongation[1](49,6) = -5.0/4096.0;
-      prolongation[1](49,7) = -1.0/4096.0;
-      prolongation[1](49,8) = 25.0/4096.0;
-      prolongation[1](49,9) = -75.0/4096.0;
-      prolongation[1](49,10) = 225.0/4096.0;
-      prolongation[1](49,11) = 225.0/4096.0;
-      prolongation[1](49,12) = 25.0/4096.0;
-      prolongation[1](49,13) = -75.0/4096.0;
-      prolongation[1](49,14) = 45.0/4096.0;
-      prolongation[1](49,15) = 45.0/4096.0;
-      prolongation[1](49,16) = 5.0/4096.0;
-      prolongation[1](49,17) = -15.0/4096.0;
-      prolongation[1](49,18) = 45.0/4096.0;
-      prolongation[1](49,19) = 45.0/4096.0;
-      prolongation[1](49,20) = 5.0/4096.0;
-      prolongation[1](49,21) = -15.0/4096.0;
-      prolongation[1](49,22) = 9.0/4096.0;
-      prolongation[1](49,23) = 9.0/4096.0;
-      prolongation[1](49,24) = -15.0/4096.0;
-      prolongation[1](49,25) = 5.0/4096.0;
-      prolongation[1](49,26) = -75.0/4096.0;
-      prolongation[1](49,27) = 25.0/4096.0;
-      prolongation[1](49,28) = -75.0/4096.0;
-      prolongation[1](49,29) = 25.0/4096.0;
-      prolongation[1](49,30) = -15.0/4096.0;
-      prolongation[1](49,31) = 5.0/4096.0;
-      prolongation[1](49,32) = -225.0/4096.0;
-      prolongation[1](49,33) = 675.0/4096.0;
-      prolongation[1](49,34) = -225.0/4096.0;
-      prolongation[1](49,35) = 675.0/4096.0;
-      prolongation[1](49,36) = -45.0/4096.0;
-      prolongation[1](49,37) = 135.0/4096.0;
-      prolongation[1](49,38) = -45.0/4096.0;
-      prolongation[1](49,39) = 135.0/4096.0;
-      prolongation[1](49,40) = 75.0/4096.0;
-      prolongation[1](49,41) = -225.0/4096.0;
-      prolongation[1](49,42) = -25.0/4096.0;
-      prolongation[1](49,43) = 75.0/4096.0;
-      prolongation[1](49,44) = 675.0/4096.0;
-      prolongation[1](49,45) = -225.0/4096.0;
-      prolongation[1](49,46) = 675.0/4096.0;
-      prolongation[1](49,47) = -225.0/4096.0;
-      prolongation[1](49,48) = 75.0/4096.0;
-      prolongation[1](49,49) = -225.0/4096.0;
-      prolongation[1](49,50) = -25.0/4096.0;
-      prolongation[1](49,51) = 75.0/4096.0;
-      prolongation[1](49,52) = 135.0/4096.0;
-      prolongation[1](49,53) = -45.0/4096.0;
-      prolongation[1](49,54) = 135.0/4096.0;
-      prolongation[1](49,55) = -45.0/4096.0;
-      prolongation[1](49,56) = -675.0/4096.0;
-      prolongation[1](49,57) = 2025.0/4096.0;
-      prolongation[1](49,58) = 225.0/4096.0;
-      prolongation[1](49,59) = -675.0/4096.0;
-      prolongation[1](49,60) = -675.0/4096.0;
-      prolongation[1](49,61) = 2025.0/4096.0;
-      prolongation[1](49,62) = 225.0/4096.0;
-      prolongation[1](49,63) = -675.0/4096.0;
-      prolongation[1](50,41) = -1.0/16.0;
-      prolongation[1](50,49) = -1.0/16.0;
-      prolongation[1](50,57) = 9.0/16.0;
-      prolongation[1](50,61) = 9.0/16.0;
-      prolongation[1](51,24) = -1.0/256.0;
-      prolongation[1](51,26) = -5.0/256.0;
-      prolongation[1](51,28) = -5.0/256.0;
-      prolongation[1](51,30) = -1.0/256.0;
-      prolongation[1](51,40) = 5.0/256.0;
-      prolongation[1](51,41) = -15.0/256.0;
-      prolongation[1](51,44) = 45.0/256.0;
-      prolongation[1](51,46) = 45.0/256.0;
-      prolongation[1](51,48) = 5.0/256.0;
-      prolongation[1](51,49) = -15.0/256.0;
-      prolongation[1](51,52) = 9.0/256.0;
-      prolongation[1](51,54) = 9.0/256.0;
-      prolongation[1](51,56) = -45.0/256.0;
-      prolongation[1](51,57) = 135.0/256.0;
-      prolongation[1](51,60) = -45.0/256.0;
-      prolongation[1](51,61) = 135.0/256.0;
-      prolongation[1](52,0) = -25.0/4096.0;
-      prolongation[1](52,1) = -25.0/4096.0;
-      prolongation[1](52,2) = -5.0/4096.0;
-      prolongation[1](52,3) = -5.0/4096.0;
-      prolongation[1](52,4) = -5.0/4096.0;
-      prolongation[1](52,5) = -5.0/4096.0;
-      prolongation[1](52,6) = -1.0/4096.0;
-      prolongation[1](52,7) = -1.0/4096.0;
-      prolongation[1](52,8) = 225.0/4096.0;
-      prolongation[1](52,9) = 225.0/4096.0;
-      prolongation[1](52,10) = -75.0/4096.0;
-      prolongation[1](52,11) = 25.0/4096.0;
-      prolongation[1](52,12) = 45.0/4096.0;
-      prolongation[1](52,13) = 45.0/4096.0;
-      prolongation[1](52,14) = -75.0/4096.0;
-      prolongation[1](52,15) = 25.0/4096.0;
-      prolongation[1](52,16) = 45.0/4096.0;
-      prolongation[1](52,17) = 45.0/4096.0;
-      prolongation[1](52,18) = -15.0/4096.0;
-      prolongation[1](52,19) = 5.0/4096.0;
-      prolongation[1](52,20) = 9.0/4096.0;
-      prolongation[1](52,21) = 9.0/4096.0;
-      prolongation[1](52,22) = -15.0/4096.0;
-      prolongation[1](52,23) = 5.0/4096.0;
-      prolongation[1](52,24) = -75.0/4096.0;
-      prolongation[1](52,25) = 25.0/4096.0;
-      prolongation[1](52,26) = -75.0/4096.0;
-      prolongation[1](52,27) = 25.0/4096.0;
-      prolongation[1](52,28) = -15.0/4096.0;
-      prolongation[1](52,29) = 5.0/4096.0;
-      prolongation[1](52,30) = -15.0/4096.0;
-      prolongation[1](52,31) = 5.0/4096.0;
-      prolongation[1](52,32) = 675.0/4096.0;
-      prolongation[1](52,33) = 675.0/4096.0;
-      prolongation[1](52,34) = -225.0/4096.0;
-      prolongation[1](52,35) = -225.0/4096.0;
-      prolongation[1](52,36) = 135.0/4096.0;
-      prolongation[1](52,37) = 135.0/4096.0;
-      prolongation[1](52,38) = -45.0/4096.0;
-      prolongation[1](52,39) = -45.0/4096.0;
-      prolongation[1](52,40) = 675.0/4096.0;
-      prolongation[1](52,41) = 675.0/4096.0;
-      prolongation[1](52,42) = -225.0/4096.0;
-      prolongation[1](52,43) = -225.0/4096.0;
-      prolongation[1](52,44) = -225.0/4096.0;
-      prolongation[1](52,45) = 75.0/4096.0;
-      prolongation[1](52,46) = 75.0/4096.0;
-      prolongation[1](52,47) = -25.0/4096.0;
-      prolongation[1](52,48) = 135.0/4096.0;
-      prolongation[1](52,49) = 135.0/4096.0;
-      prolongation[1](52,50) = -45.0/4096.0;
-      prolongation[1](52,51) = -45.0/4096.0;
-      prolongation[1](52,52) = -225.0/4096.0;
-      prolongation[1](52,53) = 75.0/4096.0;
-      prolongation[1](52,54) = 75.0/4096.0;
-      prolongation[1](52,55) = -25.0/4096.0;
-      prolongation[1](52,56) = 2025.0/4096.0;
-      prolongation[1](52,57) = 2025.0/4096.0;
-      prolongation[1](52,58) = -675.0/4096.0;
-      prolongation[1](52,59) = -675.0/4096.0;
-      prolongation[1](52,60) = -675.0/4096.0;
-      prolongation[1](52,61) = -675.0/4096.0;
-      prolongation[1](52,62) = 225.0/4096.0;
-      prolongation[1](52,63) = 225.0/4096.0;
-      prolongation[1](53,24) = -5.0/256.0;
-      prolongation[1](53,26) = -5.0/256.0;
-      prolongation[1](53,28) = -1.0/256.0;
-      prolongation[1](53,30) = -1.0/256.0;
-      prolongation[1](53,40) = 45.0/256.0;
-      prolongation[1](53,41) = 45.0/256.0;
-      prolongation[1](53,44) = -15.0/256.0;
-      prolongation[1](53,46) = 5.0/256.0;
-      prolongation[1](53,48) = 9.0/256.0;
-      prolongation[1](53,49) = 9.0/256.0;
-      prolongation[1](53,52) = -15.0/256.0;
-      prolongation[1](53,54) = 5.0/256.0;
-      prolongation[1](53,56) = 135.0/256.0;
-      prolongation[1](53,57) = 135.0/256.0;
-      prolongation[1](53,60) = -45.0/256.0;
-      prolongation[1](53,61) = -45.0/256.0;
-      prolongation[1](54,10) = -5.0/256.0;
-      prolongation[1](54,14) = -5.0/256.0;
-      prolongation[1](54,18) = -1.0/256.0;
-      prolongation[1](54,22) = -1.0/256.0;
-      prolongation[1](54,32) = 45.0/256.0;
-      prolongation[1](54,33) = 45.0/256.0;
-      prolongation[1](54,36) = 9.0/256.0;
-      prolongation[1](54,37) = 9.0/256.0;
-      prolongation[1](54,44) = -15.0/256.0;
-      prolongation[1](54,45) = 5.0/256.0;
-      prolongation[1](54,52) = -15.0/256.0;
-      prolongation[1](54,53) = 5.0/256.0;
-      prolongation[1](54,56) = 135.0/256.0;
-      prolongation[1](54,57) = 135.0/256.0;
-      prolongation[1](54,58) = -45.0/256.0;
-      prolongation[1](54,59) = -45.0/256.0;
-      prolongation[1](55,44) = -1.0/16.0;
-      prolongation[1](55,52) = -1.0/16.0;
-      prolongation[1](55,56) = 9.0/16.0;
-      prolongation[1](55,57) = 9.0/16.0;
-      prolongation[1](56,9) = 25.0/256.0;
-      prolongation[1](56,13) = 5.0/256.0;
-      prolongation[1](56,17) = 5.0/256.0;
-      prolongation[1](56,21) = 1.0/256.0;
-      prolongation[1](56,33) = 75.0/256.0;
-      prolongation[1](56,35) = -25.0/256.0;
-      prolongation[1](56,37) = 15.0/256.0;
-      prolongation[1](56,39) = -5.0/256.0;
-      prolongation[1](56,41) = 75.0/256.0;
-      prolongation[1](56,43) = -25.0/256.0;
-      prolongation[1](56,49) = 15.0/256.0;
-      prolongation[1](56,51) = -5.0/256.0;
-      prolongation[1](56,57) = 225.0/256.0;
-      prolongation[1](56,59) = -75.0/256.0;
-      prolongation[1](56,61) = -75.0/256.0;
-      prolongation[1](56,63) = 25.0/256.0;
-      prolongation[1](57,0) = 25.0/4096.0;
-      prolongation[1](57,1) = 125.0/4096.0;
-      prolongation[1](57,2) = 25.0/4096.0;
-      prolongation[1](57,3) = 5.0/4096.0;
-      prolongation[1](57,4) = 5.0/4096.0;
-      prolongation[1](57,5) = 25.0/4096.0;
-      prolongation[1](57,6) = 5.0/4096.0;
-      prolongation[1](57,7) = 1.0/4096.0;
-      prolongation[1](57,8) = -125.0/4096.0;
-      prolongation[1](57,9) = 375.0/4096.0;
-      prolongation[1](57,10) = 375.0/4096.0;
-      prolongation[1](57,11) = -125.0/4096.0;
-      prolongation[1](57,12) = -25.0/4096.0;
-      prolongation[1](57,13) = 75.0/4096.0;
-      prolongation[1](57,14) = 75.0/4096.0;
-      prolongation[1](57,15) = -25.0/4096.0;
-      prolongation[1](57,16) = -25.0/4096.0;
-      prolongation[1](57,17) = 75.0/4096.0;
-      prolongation[1](57,18) = 75.0/4096.0;
-      prolongation[1](57,19) = -25.0/4096.0;
-      prolongation[1](57,20) = -5.0/4096.0;
-      prolongation[1](57,21) = 15.0/4096.0;
-      prolongation[1](57,22) = 15.0/4096.0;
-      prolongation[1](57,23) = -5.0/4096.0;
-      prolongation[1](57,24) = 75.0/4096.0;
-      prolongation[1](57,25) = -25.0/4096.0;
-      prolongation[1](57,26) = 375.0/4096.0;
-      prolongation[1](57,27) = -125.0/4096.0;
-      prolongation[1](57,28) = 75.0/4096.0;
-      prolongation[1](57,29) = -25.0/4096.0;
-      prolongation[1](57,30) = 15.0/4096.0;
-      prolongation[1](57,31) = -5.0/4096.0;
-      prolongation[1](57,32) = -375.0/4096.0;
-      prolongation[1](57,33) = 1125.0/4096.0;
-      prolongation[1](57,34) = 125.0/4096.0;
-      prolongation[1](57,35) = -375.0/4096.0;
-      prolongation[1](57,36) = -75.0/4096.0;
-      prolongation[1](57,37) = 225.0/4096.0;
-      prolongation[1](57,38) = 25.0/4096.0;
-      prolongation[1](57,39) = -75.0/4096.0;
-      prolongation[1](57,40) = -375.0/4096.0;
-      prolongation[1](57,41) = 1125.0/4096.0;
-      prolongation[1](57,42) = 125.0/4096.0;
-      prolongation[1](57,43) = -375.0/4096.0;
-      prolongation[1](57,44) = 1125.0/4096.0;
-      prolongation[1](57,45) = -375.0/4096.0;
-      prolongation[1](57,46) = -375.0/4096.0;
-      prolongation[1](57,47) = 125.0/4096.0;
-      prolongation[1](57,48) = -75.0/4096.0;
-      prolongation[1](57,49) = 225.0/4096.0;
-      prolongation[1](57,50) = 25.0/4096.0;
-      prolongation[1](57,51) = -75.0/4096.0;
-      prolongation[1](57,52) = 225.0/4096.0;
-      prolongation[1](57,53) = -75.0/4096.0;
-      prolongation[1](57,54) = -75.0/4096.0;
-      prolongation[1](57,55) = 25.0/4096.0;
-      prolongation[1](57,56) = -1125.0/4096.0;
-      prolongation[1](57,57) = 3375.0/4096.0;
-      prolongation[1](57,58) = 375.0/4096.0;
-      prolongation[1](57,59) = -1125.0/4096.0;
-      prolongation[1](57,60) = 375.0/4096.0;
-      prolongation[1](57,61) = -1125.0/4096.0;
-      prolongation[1](57,62) = -125.0/4096.0;
-      prolongation[1](57,63) = 375.0/4096.0;
-      prolongation[1](58,41) = 5.0/16.0;
-      prolongation[1](58,49) = 1.0/16.0;
-      prolongation[1](58,57) = 15.0/16.0;
-      prolongation[1](58,61) = -5.0/16.0;
-      prolongation[1](59,24) = 5.0/256.0;
-      prolongation[1](59,26) = 25.0/256.0;
-      prolongation[1](59,28) = 5.0/256.0;
-      prolongation[1](59,30) = 1.0/256.0;
-      prolongation[1](59,40) = -25.0/256.0;
-      prolongation[1](59,41) = 75.0/256.0;
-      prolongation[1](59,44) = 75.0/256.0;
-      prolongation[1](59,46) = -25.0/256.0;
-      prolongation[1](59,48) = -5.0/256.0;
-      prolongation[1](59,49) = 15.0/256.0;
-      prolongation[1](59,52) = 15.0/256.0;
-      prolongation[1](59,54) = -5.0/256.0;
-      prolongation[1](59,56) = -75.0/256.0;
-      prolongation[1](59,57) = 225.0/256.0;
-      prolongation[1](59,60) = 25.0/256.0;
-      prolongation[1](59,61) = -75.0/256.0;
-      prolongation[1](60,33) = 5.0/16.0;
-      prolongation[1](60,37) = 1.0/16.0;
-      prolongation[1](60,57) = 15.0/16.0;
-      prolongation[1](60,59) = -5.0/16.0;
-      prolongation[1](61,10) = 25.0/256.0;
-      prolongation[1](61,14) = 5.0/256.0;
-      prolongation[1](61,18) = 5.0/256.0;
-      prolongation[1](61,22) = 1.0/256.0;
-      prolongation[1](61,32) = -25.0/256.0;
-      prolongation[1](61,33) = 75.0/256.0;
-      prolongation[1](61,36) = -5.0/256.0;
-      prolongation[1](61,37) = 15.0/256.0;
-      prolongation[1](61,44) = 75.0/256.0;
-      prolongation[1](61,45) = -25.0/256.0;
-      prolongation[1](61,52) = 15.0/256.0;
-      prolongation[1](61,53) = -5.0/256.0;
-      prolongation[1](61,56) = -75.0/256.0;
-      prolongation[1](61,57) = 225.0/256.0;
-      prolongation[1](61,58) = 25.0/256.0;
-      prolongation[1](61,59) = -75.0/256.0;
-      prolongation[1](62,57) = 1.0;
-      prolongation[1](63,44) = 5.0/16.0;
-      prolongation[1](63,52) = 1.0/16.0;
-      prolongation[1](63,56) = -5.0/16.0;
-      prolongation[1](63,57) = 15.0/16.0;
-      prolongation[2](0,0) = 1.0/256.0;
-      prolongation[2](0,1) = 1.0/256.0;
-      prolongation[2](0,2) = 1.0/256.0;
-      prolongation[2](0,3) = 1.0/256.0;
-      prolongation[2](0,8) = -9.0/256.0;
-      prolongation[2](0,9) = -9.0/256.0;
-      prolongation[2](0,10) = -9.0/256.0;
-      prolongation[2](0,11) = -9.0/256.0;
-      prolongation[2](0,12) = -9.0/256.0;
-      prolongation[2](0,13) = -9.0/256.0;
-      prolongation[2](0,14) = -9.0/256.0;
-      prolongation[2](0,15) = -9.0/256.0;
-      prolongation[2](0,32) = 81.0/256.0;
-      prolongation[2](0,33) = 81.0/256.0;
-      prolongation[2](0,34) = 81.0/256.0;
-      prolongation[2](0,35) = 81.0/256.0;
-      prolongation[2](1,1) = -1.0/16.0;
-      prolongation[2](1,2) = -1.0/16.0;
-      prolongation[2](1,10) = 9.0/16.0;
-      prolongation[2](1,11) = 9.0/16.0;
-      prolongation[2](2,2) = 1.0;
-      prolongation[2](3,2) = -1.0/16.0;
-      prolongation[2](3,3) = -1.0/16.0;
-      prolongation[2](3,12) = 9.0/16.0;
-      prolongation[2](3,13) = 9.0/16.0;
-      prolongation[2](4,0) = -1.0/4096.0;
-      prolongation[2](4,1) = -1.0/4096.0;
-      prolongation[2](4,2) = -1.0/4096.0;
-      prolongation[2](4,3) = -1.0/4096.0;
-      prolongation[2](4,4) = -1.0/4096.0;
-      prolongation[2](4,5) = -1.0/4096.0;
-      prolongation[2](4,6) = -1.0/4096.0;
-      prolongation[2](4,7) = -1.0/4096.0;
-      prolongation[2](4,8) = 9.0/4096.0;
-      prolongation[2](4,9) = 9.0/4096.0;
-      prolongation[2](4,10) = 9.0/4096.0;
-      prolongation[2](4,11) = 9.0/4096.0;
-      prolongation[2](4,12) = 9.0/4096.0;
-      prolongation[2](4,13) = 9.0/4096.0;
-      prolongation[2](4,14) = 9.0/4096.0;
-      prolongation[2](4,15) = 9.0/4096.0;
-      prolongation[2](4,16) = 9.0/4096.0;
-      prolongation[2](4,17) = 9.0/4096.0;
-      prolongation[2](4,18) = 9.0/4096.0;
-      prolongation[2](4,19) = 9.0/4096.0;
-      prolongation[2](4,20) = 9.0/4096.0;
-      prolongation[2](4,21) = 9.0/4096.0;
-      prolongation[2](4,22) = 9.0/4096.0;
-      prolongation[2](4,23) = 9.0/4096.0;
-      prolongation[2](4,24) = 9.0/4096.0;
-      prolongation[2](4,25) = 9.0/4096.0;
-      prolongation[2](4,26) = 9.0/4096.0;
-      prolongation[2](4,27) = 9.0/4096.0;
-      prolongation[2](4,28) = 9.0/4096.0;
-      prolongation[2](4,29) = 9.0/4096.0;
-      prolongation[2](4,30) = 9.0/4096.0;
-      prolongation[2](4,31) = 9.0/4096.0;
-      prolongation[2](4,32) = -81.0/4096.0;
-      prolongation[2](4,33) = -81.0/4096.0;
-      prolongation[2](4,34) = -81.0/4096.0;
-      prolongation[2](4,35) = -81.0/4096.0;
-      prolongation[2](4,36) = -81.0/4096.0;
-      prolongation[2](4,37) = -81.0/4096.0;
-      prolongation[2](4,38) = -81.0/4096.0;
-      prolongation[2](4,39) = -81.0/4096.0;
-      prolongation[2](4,40) = -81.0/4096.0;
-      prolongation[2](4,41) = -81.0/4096.0;
-      prolongation[2](4,42) = -81.0/4096.0;
-      prolongation[2](4,43) = -81.0/4096.0;
-      prolongation[2](4,44) = -81.0/4096.0;
-      prolongation[2](4,45) = -81.0/4096.0;
-      prolongation[2](4,46) = -81.0/4096.0;
-      prolongation[2](4,47) = -81.0/4096.0;
-      prolongation[2](4,48) = -81.0/4096.0;
-      prolongation[2](4,49) = -81.0/4096.0;
-      prolongation[2](4,50) = -81.0/4096.0;
-      prolongation[2](4,51) = -81.0/4096.0;
-      prolongation[2](4,52) = -81.0/4096.0;
-      prolongation[2](4,53) = -81.0/4096.0;
-      prolongation[2](4,54) = -81.0/4096.0;
-      prolongation[2](4,55) = -81.0/4096.0;
-      prolongation[2](4,56) = 729.0/4096.0;
-      prolongation[2](4,57) = 729.0/4096.0;
-      prolongation[2](4,58) = 729.0/4096.0;
-      prolongation[2](4,59) = 729.0/4096.0;
-      prolongation[2](4,60) = 729.0/4096.0;
-      prolongation[2](4,61) = 729.0/4096.0;
-      prolongation[2](4,62) = 729.0/4096.0;
-      prolongation[2](4,63) = 729.0/4096.0;
-      prolongation[2](5,1) = 1.0/256.0;
-      prolongation[2](5,2) = 1.0/256.0;
-      prolongation[2](5,5) = 1.0/256.0;
-      prolongation[2](5,6) = 1.0/256.0;
-      prolongation[2](5,10) = -9.0/256.0;
-      prolongation[2](5,11) = -9.0/256.0;
-      prolongation[2](5,18) = -9.0/256.0;
-      prolongation[2](5,19) = -9.0/256.0;
-      prolongation[2](5,26) = -9.0/256.0;
-      prolongation[2](5,27) = -9.0/256.0;
-      prolongation[2](5,28) = -9.0/256.0;
-      prolongation[2](5,29) = -9.0/256.0;
-      prolongation[2](5,44) = 81.0/256.0;
-      prolongation[2](5,45) = 81.0/256.0;
-      prolongation[2](5,46) = 81.0/256.0;
-      prolongation[2](5,47) = 81.0/256.0;
-      prolongation[2](6,2) = -1.0/16.0;
-      prolongation[2](6,6) = -1.0/16.0;
-      prolongation[2](6,28) = 9.0/16.0;
-      prolongation[2](6,29) = 9.0/16.0;
-      prolongation[2](7,2) = 1.0/256.0;
-      prolongation[2](7,3) = 1.0/256.0;
-      prolongation[2](7,6) = 1.0/256.0;
-      prolongation[2](7,7) = 1.0/256.0;
-      prolongation[2](7,12) = -9.0/256.0;
-      prolongation[2](7,13) = -9.0/256.0;
-      prolongation[2](7,20) = -9.0/256.0;
-      prolongation[2](7,21) = -9.0/256.0;
-      prolongation[2](7,28) = -9.0/256.0;
-      prolongation[2](7,29) = -9.0/256.0;
-      prolongation[2](7,30) = -9.0/256.0;
-      prolongation[2](7,31) = -9.0/256.0;
-      prolongation[2](7,48) = 81.0/256.0;
-      prolongation[2](7,49) = 81.0/256.0;
-      prolongation[2](7,50) = 81.0/256.0;
-      prolongation[2](7,51) = 81.0/256.0;
-      prolongation[2](8,9) = -1.0/16.0;
-      prolongation[2](8,13) = -1.0/16.0;
-      prolongation[2](8,33) = 9.0/16.0;
-      prolongation[2](8,35) = 9.0/16.0;
-      prolongation[2](9,0) = -1.0/256.0;
-      prolongation[2](9,1) = -5.0/256.0;
-      prolongation[2](9,2) = -5.0/256.0;
-      prolongation[2](9,3) = -1.0/256.0;
-      prolongation[2](9,8) = 5.0/256.0;
-      prolongation[2](9,9) = -15.0/256.0;
-      prolongation[2](9,10) = 45.0/256.0;
-      prolongation[2](9,11) = 45.0/256.0;
-      prolongation[2](9,12) = 5.0/256.0;
-      prolongation[2](9,13) = -15.0/256.0;
-      prolongation[2](9,14) = 9.0/256.0;
-      prolongation[2](9,15) = 9.0/256.0;
-      prolongation[2](9,32) = -45.0/256.0;
-      prolongation[2](9,33) = 135.0/256.0;
-      prolongation[2](9,34) = -45.0/256.0;
-      prolongation[2](9,35) = 135.0/256.0;
-      prolongation[2](10,11) = 1.0;
-      prolongation[2](11,1) = 1.0/16.0;
-      prolongation[2](11,2) = 5.0/16.0;
-      prolongation[2](11,10) = -5.0/16.0;
-      prolongation[2](11,11) = 15.0/16.0;
-      prolongation[2](12,13) = 1.0;
-      prolongation[2](13,2) = 5.0/16.0;
-      prolongation[2](13,3) = 1.0/16.0;
-      prolongation[2](13,12) = -5.0/16.0;
-      prolongation[2](13,13) = 15.0/16.0;
-      prolongation[2](14,11) = -1.0/16.0;
-      prolongation[2](14,15) = -1.0/16.0;
-      prolongation[2](14,34) = 9.0/16.0;
-      prolongation[2](14,35) = 9.0/16.0;
-      prolongation[2](15,0) = -1.0/256.0;
-      prolongation[2](15,1) = -1.0/256.0;
-      prolongation[2](15,2) = -5.0/256.0;
-      prolongation[2](15,3) = -5.0/256.0;
-      prolongation[2](15,8) = 9.0/256.0;
-      prolongation[2](15,9) = 9.0/256.0;
-      prolongation[2](15,10) = 5.0/256.0;
-      prolongation[2](15,11) = -15.0/256.0;
-      prolongation[2](15,12) = 45.0/256.0;
-      prolongation[2](15,13) = 45.0/256.0;
-      prolongation[2](15,14) = 5.0/256.0;
-      prolongation[2](15,15) = -15.0/256.0;
-      prolongation[2](15,32) = -45.0/256.0;
-      prolongation[2](15,33) = -45.0/256.0;
-      prolongation[2](15,34) = 135.0/256.0;
-      prolongation[2](15,35) = 135.0/256.0;
-      prolongation[2](16,9) = 1.0/256.0;
-      prolongation[2](16,13) = 1.0/256.0;
-      prolongation[2](16,17) = 1.0/256.0;
-      prolongation[2](16,21) = 1.0/256.0;
-      prolongation[2](16,33) = -9.0/256.0;
-      prolongation[2](16,35) = -9.0/256.0;
-      prolongation[2](16,37) = -9.0/256.0;
-      prolongation[2](16,39) = -9.0/256.0;
-      prolongation[2](16,41) = -9.0/256.0;
-      prolongation[2](16,43) = -9.0/256.0;
-      prolongation[2](16,49) = -9.0/256.0;
-      prolongation[2](16,51) = -9.0/256.0;
-      prolongation[2](16,57) = 81.0/256.0;
-      prolongation[2](16,59) = 81.0/256.0;
-      prolongation[2](16,61) = 81.0/256.0;
-      prolongation[2](16,63) = 81.0/256.0;
-      prolongation[2](17,0) = 1.0/4096.0;
-      prolongation[2](17,1) = 5.0/4096.0;
-      prolongation[2](17,2) = 5.0/4096.0;
-      prolongation[2](17,3) = 1.0/4096.0;
-      prolongation[2](17,4) = 1.0/4096.0;
-      prolongation[2](17,5) = 5.0/4096.0;
-      prolongation[2](17,6) = 5.0/4096.0;
-      prolongation[2](17,7) = 1.0/4096.0;
-      prolongation[2](17,8) = -5.0/4096.0;
-      prolongation[2](17,9) = 15.0/4096.0;
-      prolongation[2](17,10) = -45.0/4096.0;
-      prolongation[2](17,11) = -45.0/4096.0;
-      prolongation[2](17,12) = -5.0/4096.0;
-      prolongation[2](17,13) = 15.0/4096.0;
-      prolongation[2](17,14) = -9.0/4096.0;
-      prolongation[2](17,15) = -9.0/4096.0;
-      prolongation[2](17,16) = -5.0/4096.0;
-      prolongation[2](17,17) = 15.0/4096.0;
-      prolongation[2](17,18) = -45.0/4096.0;
-      prolongation[2](17,19) = -45.0/4096.0;
-      prolongation[2](17,20) = -5.0/4096.0;
-      prolongation[2](17,21) = 15.0/4096.0;
-      prolongation[2](17,22) = -9.0/4096.0;
-      prolongation[2](17,23) = -9.0/4096.0;
-      prolongation[2](17,24) = -9.0/4096.0;
-      prolongation[2](17,25) = -9.0/4096.0;
-      prolongation[2](17,26) = -45.0/4096.0;
-      prolongation[2](17,27) = -45.0/4096.0;
-      prolongation[2](17,28) = -45.0/4096.0;
-      prolongation[2](17,29) = -45.0/4096.0;
-      prolongation[2](17,30) = -9.0/4096.0;
-      prolongation[2](17,31) = -9.0/4096.0;
-      prolongation[2](17,32) = 45.0/4096.0;
-      prolongation[2](17,33) = -135.0/4096.0;
-      prolongation[2](17,34) = 45.0/4096.0;
-      prolongation[2](17,35) = -135.0/4096.0;
-      prolongation[2](17,36) = 45.0/4096.0;
-      prolongation[2](17,37) = -135.0/4096.0;
-      prolongation[2](17,38) = 45.0/4096.0;
-      prolongation[2](17,39) = -135.0/4096.0;
-      prolongation[2](17,40) = 45.0/4096.0;
-      prolongation[2](17,41) = -135.0/4096.0;
-      prolongation[2](17,42) = 45.0/4096.0;
-      prolongation[2](17,43) = -135.0/4096.0;
-      prolongation[2](17,44) = 405.0/4096.0;
-      prolongation[2](17,45) = 405.0/4096.0;
-      prolongation[2](17,46) = 405.0/4096.0;
-      prolongation[2](17,47) = 405.0/4096.0;
-      prolongation[2](17,48) = 45.0/4096.0;
-      prolongation[2](17,49) = -135.0/4096.0;
-      prolongation[2](17,50) = 45.0/4096.0;
-      prolongation[2](17,51) = -135.0/4096.0;
-      prolongation[2](17,52) = 81.0/4096.0;
-      prolongation[2](17,53) = 81.0/4096.0;
-      prolongation[2](17,54) = 81.0/4096.0;
-      prolongation[2](17,55) = 81.0/4096.0;
-      prolongation[2](17,56) = -405.0/4096.0;
-      prolongation[2](17,57) = 1215.0/4096.0;
-      prolongation[2](17,58) = -405.0/4096.0;
-      prolongation[2](17,59) = 1215.0/4096.0;
-      prolongation[2](17,60) = -405.0/4096.0;
-      prolongation[2](17,61) = 1215.0/4096.0;
-      prolongation[2](17,62) = -405.0/4096.0;
-      prolongation[2](17,63) = 1215.0/4096.0;
-      prolongation[2](18,11) = -1.0/16.0;
-      prolongation[2](18,19) = -1.0/16.0;
-      prolongation[2](18,46) = 9.0/16.0;
-      prolongation[2](18,47) = 9.0/16.0;
-      prolongation[2](19,1) = -1.0/256.0;
-      prolongation[2](19,2) = -5.0/256.0;
-      prolongation[2](19,5) = -1.0/256.0;
-      prolongation[2](19,6) = -5.0/256.0;
-      prolongation[2](19,10) = 5.0/256.0;
-      prolongation[2](19,11) = -15.0/256.0;
-      prolongation[2](19,18) = 5.0/256.0;
-      prolongation[2](19,19) = -15.0/256.0;
-      prolongation[2](19,26) = 9.0/256.0;
-      prolongation[2](19,27) = 9.0/256.0;
-      prolongation[2](19,28) = 45.0/256.0;
-      prolongation[2](19,29) = 45.0/256.0;
-      prolongation[2](19,44) = -45.0/256.0;
-      prolongation[2](19,45) = -45.0/256.0;
-      prolongation[2](19,46) = 135.0/256.0;
-      prolongation[2](19,47) = 135.0/256.0;
-      prolongation[2](20,13) = -1.0/16.0;
-      prolongation[2](20,21) = -1.0/16.0;
-      prolongation[2](20,49) = 9.0/16.0;
-      prolongation[2](20,51) = 9.0/16.0;
-      prolongation[2](21,2) = -5.0/256.0;
-      prolongation[2](21,3) = -1.0/256.0;
-      prolongation[2](21,6) = -5.0/256.0;
-      prolongation[2](21,7) = -1.0/256.0;
-      prolongation[2](21,12) = 5.0/256.0;
-      prolongation[2](21,13) = -15.0/256.0;
-      prolongation[2](21,20) = 5.0/256.0;
-      prolongation[2](21,21) = -15.0/256.0;
-      prolongation[2](21,28) = 45.0/256.0;
-      prolongation[2](21,29) = 45.0/256.0;
-      prolongation[2](21,30) = 9.0/256.0;
-      prolongation[2](21,31) = 9.0/256.0;
-      prolongation[2](21,48) = -45.0/256.0;
-      prolongation[2](21,49) = 135.0/256.0;
-      prolongation[2](21,50) = -45.0/256.0;
-      prolongation[2](21,51) = 135.0/256.0;
-      prolongation[2](22,11) = 1.0/256.0;
-      prolongation[2](22,15) = 1.0/256.0;
-      prolongation[2](22,19) = 1.0/256.0;
-      prolongation[2](22,23) = 1.0/256.0;
-      prolongation[2](22,34) = -9.0/256.0;
-      prolongation[2](22,35) = -9.0/256.0;
-      prolongation[2](22,38) = -9.0/256.0;
-      prolongation[2](22,39) = -9.0/256.0;
-      prolongation[2](22,46) = -9.0/256.0;
-      prolongation[2](22,47) = -9.0/256.0;
-      prolongation[2](22,54) = -9.0/256.0;
-      prolongation[2](22,55) = -9.0/256.0;
-      prolongation[2](22,60) = 81.0/256.0;
-      prolongation[2](22,61) = 81.0/256.0;
-      prolongation[2](22,62) = 81.0/256.0;
-      prolongation[2](22,63) = 81.0/256.0;
-      prolongation[2](23,0) = 1.0/4096.0;
-      prolongation[2](23,1) = 1.0/4096.0;
-      prolongation[2](23,2) = 5.0/4096.0;
-      prolongation[2](23,3) = 5.0/4096.0;
-      prolongation[2](23,4) = 1.0/4096.0;
-      prolongation[2](23,5) = 1.0/4096.0;
-      prolongation[2](23,6) = 5.0/4096.0;
-      prolongation[2](23,7) = 5.0/4096.0;
-      prolongation[2](23,8) = -9.0/4096.0;
-      prolongation[2](23,9) = -9.0/4096.0;
-      prolongation[2](23,10) = -5.0/4096.0;
-      prolongation[2](23,11) = 15.0/4096.0;
-      prolongation[2](23,12) = -45.0/4096.0;
-      prolongation[2](23,13) = -45.0/4096.0;
-      prolongation[2](23,14) = -5.0/4096.0;
-      prolongation[2](23,15) = 15.0/4096.0;
-      prolongation[2](23,16) = -9.0/4096.0;
-      prolongation[2](23,17) = -9.0/4096.0;
-      prolongation[2](23,18) = -5.0/4096.0;
-      prolongation[2](23,19) = 15.0/4096.0;
-      prolongation[2](23,20) = -45.0/4096.0;
-      prolongation[2](23,21) = -45.0/4096.0;
-      prolongation[2](23,22) = -5.0/4096.0;
-      prolongation[2](23,23) = 15.0/4096.0;
-      prolongation[2](23,24) = -9.0/4096.0;
-      prolongation[2](23,25) = -9.0/4096.0;
-      prolongation[2](23,26) = -9.0/4096.0;
-      prolongation[2](23,27) = -9.0/4096.0;
-      prolongation[2](23,28) = -45.0/4096.0;
-      prolongation[2](23,29) = -45.0/4096.0;
-      prolongation[2](23,30) = -45.0/4096.0;
-      prolongation[2](23,31) = -45.0/4096.0;
-      prolongation[2](23,32) = 45.0/4096.0;
-      prolongation[2](23,33) = 45.0/4096.0;
-      prolongation[2](23,34) = -135.0/4096.0;
-      prolongation[2](23,35) = -135.0/4096.0;
-      prolongation[2](23,36) = 45.0/4096.0;
-      prolongation[2](23,37) = 45.0/4096.0;
-      prolongation[2](23,38) = -135.0/4096.0;
-      prolongation[2](23,39) = -135.0/4096.0;
-      prolongation[2](23,40) = 81.0/4096.0;
-      prolongation[2](23,41) = 81.0/4096.0;
-      prolongation[2](23,42) = 81.0/4096.0;
-      prolongation[2](23,43) = 81.0/4096.0;
-      prolongation[2](23,44) = 45.0/4096.0;
-      prolongation[2](23,45) = 45.0/4096.0;
-      prolongation[2](23,46) = -135.0/4096.0;
-      prolongation[2](23,47) = -135.0/4096.0;
-      prolongation[2](23,48) = 405.0/4096.0;
-      prolongation[2](23,49) = 405.0/4096.0;
-      prolongation[2](23,50) = 405.0/4096.0;
-      prolongation[2](23,51) = 405.0/4096.0;
-      prolongation[2](23,52) = 45.0/4096.0;
-      prolongation[2](23,53) = 45.0/4096.0;
-      prolongation[2](23,54) = -135.0/4096.0;
-      prolongation[2](23,55) = -135.0/4096.0;
-      prolongation[2](23,56) = -405.0/4096.0;
-      prolongation[2](23,57) = -405.0/4096.0;
-      prolongation[2](23,58) = -405.0/4096.0;
-      prolongation[2](23,59) = -405.0/4096.0;
-      prolongation[2](23,60) = 1215.0/4096.0;
-      prolongation[2](23,61) = 1215.0/4096.0;
-      prolongation[2](23,62) = 1215.0/4096.0;
-      prolongation[2](23,63) = 1215.0/4096.0;
-      prolongation[2](24,0) = 5.0/4096.0;
-      prolongation[2](24,1) = 5.0/4096.0;
-      prolongation[2](24,2) = 5.0/4096.0;
-      prolongation[2](24,3) = 5.0/4096.0;
-      prolongation[2](24,4) = 1.0/4096.0;
-      prolongation[2](24,5) = 1.0/4096.0;
-      prolongation[2](24,6) = 1.0/4096.0;
-      prolongation[2](24,7) = 1.0/4096.0;
-      prolongation[2](24,8) = -45.0/4096.0;
-      prolongation[2](24,9) = -45.0/4096.0;
-      prolongation[2](24,10) = -45.0/4096.0;
-      prolongation[2](24,11) = -45.0/4096.0;
-      prolongation[2](24,12) = -45.0/4096.0;
-      prolongation[2](24,13) = -45.0/4096.0;
-      prolongation[2](24,14) = -45.0/4096.0;
-      prolongation[2](24,15) = -45.0/4096.0;
-      prolongation[2](24,16) = -9.0/4096.0;
-      prolongation[2](24,17) = -9.0/4096.0;
-      prolongation[2](24,18) = -9.0/4096.0;
-      prolongation[2](24,19) = -9.0/4096.0;
-      prolongation[2](24,20) = -9.0/4096.0;
-      prolongation[2](24,21) = -9.0/4096.0;
-      prolongation[2](24,22) = -9.0/4096.0;
-      prolongation[2](24,23) = -9.0/4096.0;
-      prolongation[2](24,24) = 15.0/4096.0;
-      prolongation[2](24,25) = -5.0/4096.0;
-      prolongation[2](24,26) = 15.0/4096.0;
-      prolongation[2](24,27) = -5.0/4096.0;
-      prolongation[2](24,28) = 15.0/4096.0;
-      prolongation[2](24,29) = -5.0/4096.0;
-      prolongation[2](24,30) = 15.0/4096.0;
-      prolongation[2](24,31) = -5.0/4096.0;
-      prolongation[2](24,32) = 405.0/4096.0;
-      prolongation[2](24,33) = 405.0/4096.0;
-      prolongation[2](24,34) = 405.0/4096.0;
-      prolongation[2](24,35) = 405.0/4096.0;
-      prolongation[2](24,36) = 81.0/4096.0;
-      prolongation[2](24,37) = 81.0/4096.0;
-      prolongation[2](24,38) = 81.0/4096.0;
-      prolongation[2](24,39) = 81.0/4096.0;
-      prolongation[2](24,40) = -135.0/4096.0;
-      prolongation[2](24,41) = -135.0/4096.0;
-      prolongation[2](24,42) = 45.0/4096.0;
-      prolongation[2](24,43) = 45.0/4096.0;
-      prolongation[2](24,44) = -135.0/4096.0;
-      prolongation[2](24,45) = 45.0/4096.0;
-      prolongation[2](24,46) = -135.0/4096.0;
-      prolongation[2](24,47) = 45.0/4096.0;
-      prolongation[2](24,48) = -135.0/4096.0;
-      prolongation[2](24,49) = -135.0/4096.0;
-      prolongation[2](24,50) = 45.0/4096.0;
-      prolongation[2](24,51) = 45.0/4096.0;
-      prolongation[2](24,52) = -135.0/4096.0;
-      prolongation[2](24,53) = 45.0/4096.0;
-      prolongation[2](24,54) = -135.0/4096.0;
-      prolongation[2](24,55) = 45.0/4096.0;
-      prolongation[2](24,56) = 1215.0/4096.0;
-      prolongation[2](24,57) = 1215.0/4096.0;
-      prolongation[2](24,58) = -405.0/4096.0;
-      prolongation[2](24,59) = -405.0/4096.0;
-      prolongation[2](24,60) = 1215.0/4096.0;
-      prolongation[2](24,61) = 1215.0/4096.0;
-      prolongation[2](24,62) = -405.0/4096.0;
-      prolongation[2](24,63) = -405.0/4096.0;
-      prolongation[2](25,24) = 1.0/256.0;
-      prolongation[2](25,26) = 1.0/256.0;
-      prolongation[2](25,28) = 1.0/256.0;
-      prolongation[2](25,30) = 1.0/256.0;
-      prolongation[2](25,40) = -9.0/256.0;
-      prolongation[2](25,41) = -9.0/256.0;
-      prolongation[2](25,44) = -9.0/256.0;
-      prolongation[2](25,46) = -9.0/256.0;
-      prolongation[2](25,48) = -9.0/256.0;
-      prolongation[2](25,49) = -9.0/256.0;
-      prolongation[2](25,52) = -9.0/256.0;
-      prolongation[2](25,54) = -9.0/256.0;
-      prolongation[2](25,56) = 81.0/256.0;
-      prolongation[2](25,57) = 81.0/256.0;
-      prolongation[2](25,60) = 81.0/256.0;
-      prolongation[2](25,61) = 81.0/256.0;
-      prolongation[2](26,1) = -5.0/256.0;
-      prolongation[2](26,2) = -5.0/256.0;
-      prolongation[2](26,5) = -1.0/256.0;
-      prolongation[2](26,6) = -1.0/256.0;
-      prolongation[2](26,10) = 45.0/256.0;
-      prolongation[2](26,11) = 45.0/256.0;
-      prolongation[2](26,18) = 9.0/256.0;
-      prolongation[2](26,19) = 9.0/256.0;
-      prolongation[2](26,26) = -15.0/256.0;
-      prolongation[2](26,27) = 5.0/256.0;
-      prolongation[2](26,28) = -15.0/256.0;
-      prolongation[2](26,29) = 5.0/256.0;
-      prolongation[2](26,44) = 135.0/256.0;
-      prolongation[2](26,45) = -45.0/256.0;
-      prolongation[2](26,46) = 135.0/256.0;
-      prolongation[2](26,47) = -45.0/256.0;
-      prolongation[2](27,26) = -1.0/16.0;
-      prolongation[2](27,28) = -1.0/16.0;
-      prolongation[2](27,44) = 9.0/16.0;
-      prolongation[2](27,46) = 9.0/16.0;
-      prolongation[2](28,2) = 5.0/16.0;
-      prolongation[2](28,6) = 1.0/16.0;
-      prolongation[2](28,28) = 15.0/16.0;
-      prolongation[2](28,29) = -5.0/16.0;
-      prolongation[2](29,28) = 1.0;
-      prolongation[2](30,2) = -5.0/256.0;
-      prolongation[2](30,3) = -5.0/256.0;
-      prolongation[2](30,6) = -1.0/256.0;
-      prolongation[2](30,7) = -1.0/256.0;
-      prolongation[2](30,12) = 45.0/256.0;
-      prolongation[2](30,13) = 45.0/256.0;
-      prolongation[2](30,20) = 9.0/256.0;
-      prolongation[2](30,21) = 9.0/256.0;
-      prolongation[2](30,28) = -15.0/256.0;
-      prolongation[2](30,29) = 5.0/256.0;
-      prolongation[2](30,30) = -15.0/256.0;
-      prolongation[2](30,31) = 5.0/256.0;
-      prolongation[2](30,48) = 135.0/256.0;
-      prolongation[2](30,49) = 135.0/256.0;
-      prolongation[2](30,50) = -45.0/256.0;
-      prolongation[2](30,51) = -45.0/256.0;
-      prolongation[2](31,28) = -1.0/16.0;
-      prolongation[2](31,30) = -1.0/16.0;
-      prolongation[2](31,48) = 9.0/16.0;
-      prolongation[2](31,49) = 9.0/16.0;
-      prolongation[2](32,35) = 1.0;
-      prolongation[2](33,11) = 5.0/16.0;
-      prolongation[2](33,15) = 1.0/16.0;
-      prolongation[2](33,34) = -5.0/16.0;
-      prolongation[2](33,35) = 15.0/16.0;
-      prolongation[2](34,9) = 1.0/16.0;
-      prolongation[2](34,13) = 5.0/16.0;
-      prolongation[2](34,33) = -5.0/16.0;
-      prolongation[2](34,35) = 15.0/16.0;
-      prolongation[2](35,0) = 1.0/256.0;
-      prolongation[2](35,1) = 5.0/256.0;
-      prolongation[2](35,2) = 25.0/256.0;
-      prolongation[2](35,3) = 5.0/256.0;
-      prolongation[2](35,8) = -5.0/256.0;
-      prolongation[2](35,9) = 15.0/256.0;
-      prolongation[2](35,10) = -25.0/256.0;
-      prolongation[2](35,11) = 75.0/256.0;
-      prolongation[2](35,12) = -25.0/256.0;
-      prolongation[2](35,13) = 75.0/256.0;
-      prolongation[2](35,14) = -5.0/256.0;
-      prolongation[2](35,15) = 15.0/256.0;
-      prolongation[2](35,32) = 25.0/256.0;
-      prolongation[2](35,33) = -75.0/256.0;
-      prolongation[2](35,34) = -75.0/256.0;
-      prolongation[2](35,35) = 225.0/256.0;
-      prolongation[2](36,35) = -1.0/16.0;
-      prolongation[2](36,39) = -1.0/16.0;
-      prolongation[2](36,61) = 9.0/16.0;
-      prolongation[2](36,63) = 9.0/16.0;
-      prolongation[2](37,11) = -5.0/256.0;
-      prolongation[2](37,15) = -1.0/256.0;
-      prolongation[2](37,19) = -5.0/256.0;
-      prolongation[2](37,23) = -1.0/256.0;
-      prolongation[2](37,34) = 5.0/256.0;
-      prolongation[2](37,35) = -15.0/256.0;
-      prolongation[2](37,38) = 5.0/256.0;
-      prolongation[2](37,39) = -15.0/256.0;
-      prolongation[2](37,46) = 45.0/256.0;
-      prolongation[2](37,47) = 45.0/256.0;
-      prolongation[2](37,54) = 9.0/256.0;
-      prolongation[2](37,55) = 9.0/256.0;
-      prolongation[2](37,60) = -45.0/256.0;
-      prolongation[2](37,61) = 135.0/256.0;
-      prolongation[2](37,62) = -45.0/256.0;
-      prolongation[2](37,63) = 135.0/256.0;
-      prolongation[2](38,9) = -1.0/256.0;
-      prolongation[2](38,13) = -5.0/256.0;
-      prolongation[2](38,17) = -1.0/256.0;
-      prolongation[2](38,21) = -5.0/256.0;
-      prolongation[2](38,33) = 5.0/256.0;
-      prolongation[2](38,35) = -15.0/256.0;
-      prolongation[2](38,37) = 5.0/256.0;
-      prolongation[2](38,39) = -15.0/256.0;
-      prolongation[2](38,41) = 9.0/256.0;
-      prolongation[2](38,43) = 9.0/256.0;
-      prolongation[2](38,49) = 45.0/256.0;
-      prolongation[2](38,51) = 45.0/256.0;
-      prolongation[2](38,57) = -45.0/256.0;
-      prolongation[2](38,59) = -45.0/256.0;
-      prolongation[2](38,61) = 135.0/256.0;
-      prolongation[2](38,63) = 135.0/256.0;
-      prolongation[2](39,0) = -1.0/4096.0;
-      prolongation[2](39,1) = -5.0/4096.0;
-      prolongation[2](39,2) = -25.0/4096.0;
-      prolongation[2](39,3) = -5.0/4096.0;
-      prolongation[2](39,4) = -1.0/4096.0;
-      prolongation[2](39,5) = -5.0/4096.0;
-      prolongation[2](39,6) = -25.0/4096.0;
-      prolongation[2](39,7) = -5.0/4096.0;
-      prolongation[2](39,8) = 5.0/4096.0;
-      prolongation[2](39,9) = -15.0/4096.0;
-      prolongation[2](39,10) = 25.0/4096.0;
-      prolongation[2](39,11) = -75.0/4096.0;
-      prolongation[2](39,12) = 25.0/4096.0;
-      prolongation[2](39,13) = -75.0/4096.0;
-      prolongation[2](39,14) = 5.0/4096.0;
-      prolongation[2](39,15) = -15.0/4096.0;
-      prolongation[2](39,16) = 5.0/4096.0;
-      prolongation[2](39,17) = -15.0/4096.0;
-      prolongation[2](39,18) = 25.0/4096.0;
-      prolongation[2](39,19) = -75.0/4096.0;
-      prolongation[2](39,20) = 25.0/4096.0;
-      prolongation[2](39,21) = -75.0/4096.0;
-      prolongation[2](39,22) = 5.0/4096.0;
-      prolongation[2](39,23) = -15.0/4096.0;
-      prolongation[2](39,24) = 9.0/4096.0;
-      prolongation[2](39,25) = 9.0/4096.0;
-      prolongation[2](39,26) = 45.0/4096.0;
-      prolongation[2](39,27) = 45.0/4096.0;
-      prolongation[2](39,28) = 225.0/4096.0;
-      prolongation[2](39,29) = 225.0/4096.0;
-      prolongation[2](39,30) = 45.0/4096.0;
-      prolongation[2](39,31) = 45.0/4096.0;
-      prolongation[2](39,32) = -25.0/4096.0;
-      prolongation[2](39,33) = 75.0/4096.0;
-      prolongation[2](39,34) = 75.0/4096.0;
-      prolongation[2](39,35) = -225.0/4096.0;
-      prolongation[2](39,36) = -25.0/4096.0;
-      prolongation[2](39,37) = 75.0/4096.0;
-      prolongation[2](39,38) = 75.0/4096.0;
-      prolongation[2](39,39) = -225.0/4096.0;
-      prolongation[2](39,40) = -45.0/4096.0;
-      prolongation[2](39,41) = 135.0/4096.0;
-      prolongation[2](39,42) = -45.0/4096.0;
-      prolongation[2](39,43) = 135.0/4096.0;
-      prolongation[2](39,44) = -225.0/4096.0;
-      prolongation[2](39,45) = -225.0/4096.0;
-      prolongation[2](39,46) = 675.0/4096.0;
-      prolongation[2](39,47) = 675.0/4096.0;
-      prolongation[2](39,48) = -225.0/4096.0;
-      prolongation[2](39,49) = 675.0/4096.0;
-      prolongation[2](39,50) = -225.0/4096.0;
-      prolongation[2](39,51) = 675.0/4096.0;
-      prolongation[2](39,52) = -45.0/4096.0;
-      prolongation[2](39,53) = -45.0/4096.0;
-      prolongation[2](39,54) = 135.0/4096.0;
-      prolongation[2](39,55) = 135.0/4096.0;
-      prolongation[2](39,56) = 225.0/4096.0;
-      prolongation[2](39,57) = -675.0/4096.0;
-      prolongation[2](39,58) = 225.0/4096.0;
-      prolongation[2](39,59) = -675.0/4096.0;
-      prolongation[2](39,60) = -675.0/4096.0;
-      prolongation[2](39,61) = 2025.0/4096.0;
-      prolongation[2](39,62) = -675.0/4096.0;
-      prolongation[2](39,63) = 2025.0/4096.0;
-      prolongation[2](40,9) = -5.0/256.0;
-      prolongation[2](40,13) = -5.0/256.0;
-      prolongation[2](40,17) = -1.0/256.0;
-      prolongation[2](40,21) = -1.0/256.0;
-      prolongation[2](40,33) = 45.0/256.0;
-      prolongation[2](40,35) = 45.0/256.0;
-      prolongation[2](40,37) = 9.0/256.0;
-      prolongation[2](40,39) = 9.0/256.0;
-      prolongation[2](40,41) = -15.0/256.0;
-      prolongation[2](40,43) = 5.0/256.0;
-      prolongation[2](40,49) = -15.0/256.0;
-      prolongation[2](40,51) = 5.0/256.0;
-      prolongation[2](40,57) = 135.0/256.0;
-      prolongation[2](40,59) = -45.0/256.0;
-      prolongation[2](40,61) = 135.0/256.0;
-      prolongation[2](40,63) = -45.0/256.0;
-      prolongation[2](41,0) = -5.0/4096.0;
-      prolongation[2](41,1) = -25.0/4096.0;
-      prolongation[2](41,2) = -25.0/4096.0;
-      prolongation[2](41,3) = -5.0/4096.0;
-      prolongation[2](41,4) = -1.0/4096.0;
-      prolongation[2](41,5) = -5.0/4096.0;
-      prolongation[2](41,6) = -5.0/4096.0;
-      prolongation[2](41,7) = -1.0/4096.0;
-      prolongation[2](41,8) = 25.0/4096.0;
-      prolongation[2](41,9) = -75.0/4096.0;
-      prolongation[2](41,10) = 225.0/4096.0;
-      prolongation[2](41,11) = 225.0/4096.0;
-      prolongation[2](41,12) = 25.0/4096.0;
-      prolongation[2](41,13) = -75.0/4096.0;
-      prolongation[2](41,14) = 45.0/4096.0;
-      prolongation[2](41,15) = 45.0/4096.0;
-      prolongation[2](41,16) = 5.0/4096.0;
-      prolongation[2](41,17) = -15.0/4096.0;
-      prolongation[2](41,18) = 45.0/4096.0;
-      prolongation[2](41,19) = 45.0/4096.0;
-      prolongation[2](41,20) = 5.0/4096.0;
-      prolongation[2](41,21) = -15.0/4096.0;
-      prolongation[2](41,22) = 9.0/4096.0;
-      prolongation[2](41,23) = 9.0/4096.0;
-      prolongation[2](41,24) = -15.0/4096.0;
-      prolongation[2](41,25) = 5.0/4096.0;
-      prolongation[2](41,26) = -75.0/4096.0;
-      prolongation[2](41,27) = 25.0/4096.0;
-      prolongation[2](41,28) = -75.0/4096.0;
-      prolongation[2](41,29) = 25.0/4096.0;
-      prolongation[2](41,30) = -15.0/4096.0;
-      prolongation[2](41,31) = 5.0/4096.0;
-      prolongation[2](41,32) = -225.0/4096.0;
-      prolongation[2](41,33) = 675.0/4096.0;
-      prolongation[2](41,34) = -225.0/4096.0;
-      prolongation[2](41,35) = 675.0/4096.0;
-      prolongation[2](41,36) = -45.0/4096.0;
-      prolongation[2](41,37) = 135.0/4096.0;
-      prolongation[2](41,38) = -45.0/4096.0;
-      prolongation[2](41,39) = 135.0/4096.0;
-      prolongation[2](41,40) = 75.0/4096.0;
-      prolongation[2](41,41) = -225.0/4096.0;
-      prolongation[2](41,42) = -25.0/4096.0;
-      prolongation[2](41,43) = 75.0/4096.0;
-      prolongation[2](41,44) = 675.0/4096.0;
-      prolongation[2](41,45) = -225.0/4096.0;
-      prolongation[2](41,46) = 675.0/4096.0;
-      prolongation[2](41,47) = -225.0/4096.0;
-      prolongation[2](41,48) = 75.0/4096.0;
-      prolongation[2](41,49) = -225.0/4096.0;
-      prolongation[2](41,50) = -25.0/4096.0;
-      prolongation[2](41,51) = 75.0/4096.0;
-      prolongation[2](41,52) = 135.0/4096.0;
-      prolongation[2](41,53) = -45.0/4096.0;
-      prolongation[2](41,54) = 135.0/4096.0;
-      prolongation[2](41,55) = -45.0/4096.0;
-      prolongation[2](41,56) = -675.0/4096.0;
-      prolongation[2](41,57) = 2025.0/4096.0;
-      prolongation[2](41,58) = 225.0/4096.0;
-      prolongation[2](41,59) = -675.0/4096.0;
-      prolongation[2](41,60) = -675.0/4096.0;
-      prolongation[2](41,61) = 2025.0/4096.0;
-      prolongation[2](41,62) = 225.0/4096.0;
-      prolongation[2](41,63) = -675.0/4096.0;
-      prolongation[2](42,41) = -1.0/16.0;
-      prolongation[2](42,49) = -1.0/16.0;
-      prolongation[2](42,57) = 9.0/16.0;
-      prolongation[2](42,61) = 9.0/16.0;
-      prolongation[2](43,24) = -1.0/256.0;
-      prolongation[2](43,26) = -5.0/256.0;
-      prolongation[2](43,28) = -5.0/256.0;
-      prolongation[2](43,30) = -1.0/256.0;
-      prolongation[2](43,40) = 5.0/256.0;
-      prolongation[2](43,41) = -15.0/256.0;
-      prolongation[2](43,44) = 45.0/256.0;
-      prolongation[2](43,46) = 45.0/256.0;
-      prolongation[2](43,48) = 5.0/256.0;
-      prolongation[2](43,49) = -15.0/256.0;
-      prolongation[2](43,52) = 9.0/256.0;
-      prolongation[2](43,54) = 9.0/256.0;
-      prolongation[2](43,56) = -45.0/256.0;
-      prolongation[2](43,57) = 135.0/256.0;
-      prolongation[2](43,60) = -45.0/256.0;
-      prolongation[2](43,61) = 135.0/256.0;
-      prolongation[2](44,11) = 5.0/16.0;
-      prolongation[2](44,19) = 1.0/16.0;
-      prolongation[2](44,46) = 15.0/16.0;
-      prolongation[2](44,47) = -5.0/16.0;
-      prolongation[2](45,46) = 1.0;
-      prolongation[2](46,1) = 5.0/256.0;
-      prolongation[2](46,2) = 25.0/256.0;
-      prolongation[2](46,5) = 1.0/256.0;
-      prolongation[2](46,6) = 5.0/256.0;
-      prolongation[2](46,10) = -25.0/256.0;
-      prolongation[2](46,11) = 75.0/256.0;
-      prolongation[2](46,18) = -5.0/256.0;
-      prolongation[2](46,19) = 15.0/256.0;
-      prolongation[2](46,26) = 15.0/256.0;
-      prolongation[2](46,27) = -5.0/256.0;
-      prolongation[2](46,28) = 75.0/256.0;
-      prolongation[2](46,29) = -25.0/256.0;
-      prolongation[2](46,44) = -75.0/256.0;
-      prolongation[2](46,45) = 25.0/256.0;
-      prolongation[2](46,46) = 225.0/256.0;
-      prolongation[2](46,47) = -75.0/256.0;
-      prolongation[2](47,26) = 1.0/16.0;
-      prolongation[2](47,28) = 5.0/16.0;
-      prolongation[2](47,44) = -5.0/16.0;
-      prolongation[2](47,46) = 15.0/16.0;
-      prolongation[2](48,13) = 5.0/16.0;
-      prolongation[2](48,21) = 1.0/16.0;
-      prolongation[2](48,49) = 15.0/16.0;
-      prolongation[2](48,51) = -5.0/16.0;
-      prolongation[2](49,2) = 25.0/256.0;
-      prolongation[2](49,3) = 5.0/256.0;
-      prolongation[2](49,6) = 5.0/256.0;
-      prolongation[2](49,7) = 1.0/256.0;
-      prolongation[2](49,12) = -25.0/256.0;
-      prolongation[2](49,13) = 75.0/256.0;
-      prolongation[2](49,20) = -5.0/256.0;
-      prolongation[2](49,21) = 15.0/256.0;
-      prolongation[2](49,28) = 75.0/256.0;
-      prolongation[2](49,29) = -25.0/256.0;
-      prolongation[2](49,30) = 15.0/256.0;
-      prolongation[2](49,31) = -5.0/256.0;
-      prolongation[2](49,48) = -75.0/256.0;
-      prolongation[2](49,49) = 225.0/256.0;
-      prolongation[2](49,50) = 25.0/256.0;
-      prolongation[2](49,51) = -75.0/256.0;
-      prolongation[2](50,49) = 1.0;
-      prolongation[2](51,28) = 5.0/16.0;
-      prolongation[2](51,30) = 1.0/16.0;
-      prolongation[2](51,48) = -5.0/16.0;
-      prolongation[2](51,49) = 15.0/16.0;
-      prolongation[2](52,11) = -5.0/256.0;
-      prolongation[2](52,15) = -5.0/256.0;
-      prolongation[2](52,19) = -1.0/256.0;
-      prolongation[2](52,23) = -1.0/256.0;
-      prolongation[2](52,34) = 45.0/256.0;
-      prolongation[2](52,35) = 45.0/256.0;
-      prolongation[2](52,38) = 9.0/256.0;
-      prolongation[2](52,39) = 9.0/256.0;
-      prolongation[2](52,46) = -15.0/256.0;
-      prolongation[2](52,47) = 5.0/256.0;
-      prolongation[2](52,54) = -15.0/256.0;
-      prolongation[2](52,55) = 5.0/256.0;
-      prolongation[2](52,60) = 135.0/256.0;
-      prolongation[2](52,61) = 135.0/256.0;
-      prolongation[2](52,62) = -45.0/256.0;
-      prolongation[2](52,63) = -45.0/256.0;
-      prolongation[2](53,46) = -1.0/16.0;
-      prolongation[2](53,54) = -1.0/16.0;
-      prolongation[2](53,60) = 9.0/16.0;
-      prolongation[2](53,61) = 9.0/16.0;
-      prolongation[2](54,0) = -5.0/4096.0;
-      prolongation[2](54,1) = -5.0/4096.0;
-      prolongation[2](54,2) = -25.0/4096.0;
-      prolongation[2](54,3) = -25.0/4096.0;
-      prolongation[2](54,4) = -1.0/4096.0;
-      prolongation[2](54,5) = -1.0/4096.0;
-      prolongation[2](54,6) = -5.0/4096.0;
-      prolongation[2](54,7) = -5.0/4096.0;
-      prolongation[2](54,8) = 45.0/4096.0;
-      prolongation[2](54,9) = 45.0/4096.0;
-      prolongation[2](54,10) = 25.0/4096.0;
-      prolongation[2](54,11) = -75.0/4096.0;
-      prolongation[2](54,12) = 225.0/4096.0;
-      prolongation[2](54,13) = 225.0/4096.0;
-      prolongation[2](54,14) = 25.0/4096.0;
-      prolongation[2](54,15) = -75.0/4096.0;
-      prolongation[2](54,16) = 9.0/4096.0;
-      prolongation[2](54,17) = 9.0/4096.0;
-      prolongation[2](54,18) = 5.0/4096.0;
-      prolongation[2](54,19) = -15.0/4096.0;
-      prolongation[2](54,20) = 45.0/4096.0;
-      prolongation[2](54,21) = 45.0/4096.0;
-      prolongation[2](54,22) = 5.0/4096.0;
-      prolongation[2](54,23) = -15.0/4096.0;
-      prolongation[2](54,24) = -15.0/4096.0;
-      prolongation[2](54,25) = 5.0/4096.0;
-      prolongation[2](54,26) = -15.0/4096.0;
-      prolongation[2](54,27) = 5.0/4096.0;
-      prolongation[2](54,28) = -75.0/4096.0;
-      prolongation[2](54,29) = 25.0/4096.0;
-      prolongation[2](54,30) = -75.0/4096.0;
-      prolongation[2](54,31) = 25.0/4096.0;
-      prolongation[2](54,32) = -225.0/4096.0;
-      prolongation[2](54,33) = -225.0/4096.0;
-      prolongation[2](54,34) = 675.0/4096.0;
-      prolongation[2](54,35) = 675.0/4096.0;
-      prolongation[2](54,36) = -45.0/4096.0;
-      prolongation[2](54,37) = -45.0/4096.0;
-      prolongation[2](54,38) = 135.0/4096.0;
-      prolongation[2](54,39) = 135.0/4096.0;
-      prolongation[2](54,40) = 135.0/4096.0;
-      prolongation[2](54,41) = 135.0/4096.0;
-      prolongation[2](54,42) = -45.0/4096.0;
-      prolongation[2](54,43) = -45.0/4096.0;
-      prolongation[2](54,44) = 75.0/4096.0;
-      prolongation[2](54,45) = -25.0/4096.0;
-      prolongation[2](54,46) = -225.0/4096.0;
-      prolongation[2](54,47) = 75.0/4096.0;
-      prolongation[2](54,48) = 675.0/4096.0;
-      prolongation[2](54,49) = 675.0/4096.0;
-      prolongation[2](54,50) = -225.0/4096.0;
-      prolongation[2](54,51) = -225.0/4096.0;
-      prolongation[2](54,52) = 75.0/4096.0;
-      prolongation[2](54,53) = -25.0/4096.0;
-      prolongation[2](54,54) = -225.0/4096.0;
-      prolongation[2](54,55) = 75.0/4096.0;
-      prolongation[2](54,56) = -675.0/4096.0;
-      prolongation[2](54,57) = -675.0/4096.0;
-      prolongation[2](54,58) = 225.0/4096.0;
-      prolongation[2](54,59) = 225.0/4096.0;
-      prolongation[2](54,60) = 2025.0/4096.0;
-      prolongation[2](54,61) = 2025.0/4096.0;
-      prolongation[2](54,62) = -675.0/4096.0;
-      prolongation[2](54,63) = -675.0/4096.0;
-      prolongation[2](55,24) = -1.0/256.0;
-      prolongation[2](55,26) = -1.0/256.0;
-      prolongation[2](55,28) = -5.0/256.0;
-      prolongation[2](55,30) = -5.0/256.0;
-      prolongation[2](55,40) = 9.0/256.0;
-      prolongation[2](55,41) = 9.0/256.0;
-      prolongation[2](55,44) = 5.0/256.0;
-      prolongation[2](55,46) = -15.0/256.0;
-      prolongation[2](55,48) = 45.0/256.0;
-      prolongation[2](55,49) = 45.0/256.0;
-      prolongation[2](55,52) = 5.0/256.0;
-      prolongation[2](55,54) = -15.0/256.0;
-      prolongation[2](55,56) = -45.0/256.0;
-      prolongation[2](55,57) = -45.0/256.0;
-      prolongation[2](55,60) = 135.0/256.0;
-      prolongation[2](55,61) = 135.0/256.0;
-      prolongation[2](56,35) = 5.0/16.0;
-      prolongation[2](56,39) = 1.0/16.0;
-      prolongation[2](56,61) = 15.0/16.0;
-      prolongation[2](56,63) = -5.0/16.0;
-      prolongation[2](57,11) = 25.0/256.0;
-      prolongation[2](57,15) = 5.0/256.0;
-      prolongation[2](57,19) = 5.0/256.0;
-      prolongation[2](57,23) = 1.0/256.0;
-      prolongation[2](57,34) = -25.0/256.0;
-      prolongation[2](57,35) = 75.0/256.0;
-      prolongation[2](57,38) = -5.0/256.0;
-      prolongation[2](57,39) = 15.0/256.0;
-      prolongation[2](57,46) = 75.0/256.0;
-      prolongation[2](57,47) = -25.0/256.0;
-      prolongation[2](57,54) = 15.0/256.0;
-      prolongation[2](57,55) = -5.0/256.0;
-      prolongation[2](57,60) = -75.0/256.0;
-      prolongation[2](57,61) = 225.0/256.0;
-      prolongation[2](57,62) = 25.0/256.0;
-      prolongation[2](57,63) = -75.0/256.0;
-      prolongation[2](58,61) = 1.0;
-      prolongation[2](59,46) = 5.0/16.0;
-      prolongation[2](59,54) = 1.0/16.0;
-      prolongation[2](59,60) = -5.0/16.0;
-      prolongation[2](59,61) = 15.0/16.0;
-      prolongation[2](60,9) = 5.0/256.0;
-      prolongation[2](60,13) = 25.0/256.0;
-      prolongation[2](60,17) = 1.0/256.0;
-      prolongation[2](60,21) = 5.0/256.0;
-      prolongation[2](60,33) = -25.0/256.0;
-      prolongation[2](60,35) = 75.0/256.0;
-      prolongation[2](60,37) = -5.0/256.0;
-      prolongation[2](60,39) = 15.0/256.0;
-      prolongation[2](60,41) = 15.0/256.0;
-      prolongation[2](60,43) = -5.0/256.0;
-      prolongation[2](60,49) = 75.0/256.0;
-      prolongation[2](60,51) = -25.0/256.0;
-      prolongation[2](60,57) = -75.0/256.0;
-      prolongation[2](60,59) = 25.0/256.0;
-      prolongation[2](60,61) = 225.0/256.0;
-      prolongation[2](60,63) = -75.0/256.0;
-      prolongation[2](61,0) = 5.0/4096.0;
-      prolongation[2](61,1) = 25.0/4096.0;
-      prolongation[2](61,2) = 125.0/4096.0;
-      prolongation[2](61,3) = 25.0/4096.0;
-      prolongation[2](61,4) = 1.0/4096.0;
-      prolongation[2](61,5) = 5.0/4096.0;
-      prolongation[2](61,6) = 25.0/4096.0;
-      prolongation[2](61,7) = 5.0/4096.0;
-      prolongation[2](61,8) = -25.0/4096.0;
-      prolongation[2](61,9) = 75.0/4096.0;
-      prolongation[2](61,10) = -125.0/4096.0;
-      prolongation[2](61,11) = 375.0/4096.0;
-      prolongation[2](61,12) = -125.0/4096.0;
-      prolongation[2](61,13) = 375.0/4096.0;
-      prolongation[2](61,14) = -25.0/4096.0;
-      prolongation[2](61,15) = 75.0/4096.0;
-      prolongation[2](61,16) = -5.0/4096.0;
-      prolongation[2](61,17) = 15.0/4096.0;
-      prolongation[2](61,18) = -25.0/4096.0;
-      prolongation[2](61,19) = 75.0/4096.0;
-      prolongation[2](61,20) = -25.0/4096.0;
-      prolongation[2](61,21) = 75.0/4096.0;
-      prolongation[2](61,22) = -5.0/4096.0;
-      prolongation[2](61,23) = 15.0/4096.0;
-      prolongation[2](61,24) = 15.0/4096.0;
-      prolongation[2](61,25) = -5.0/4096.0;
-      prolongation[2](61,26) = 75.0/4096.0;
-      prolongation[2](61,27) = -25.0/4096.0;
-      prolongation[2](61,28) = 375.0/4096.0;
-      prolongation[2](61,29) = -125.0/4096.0;
-      prolongation[2](61,30) = 75.0/4096.0;
-      prolongation[2](61,31) = -25.0/4096.0;
-      prolongation[2](61,32) = 125.0/4096.0;
-      prolongation[2](61,33) = -375.0/4096.0;
-      prolongation[2](61,34) = -375.0/4096.0;
-      prolongation[2](61,35) = 1125.0/4096.0;
-      prolongation[2](61,36) = 25.0/4096.0;
-      prolongation[2](61,37) = -75.0/4096.0;
-      prolongation[2](61,38) = -75.0/4096.0;
-      prolongation[2](61,39) = 225.0/4096.0;
-      prolongation[2](61,40) = -75.0/4096.0;
-      prolongation[2](61,41) = 225.0/4096.0;
-      prolongation[2](61,42) = 25.0/4096.0;
-      prolongation[2](61,43) = -75.0/4096.0;
-      prolongation[2](61,44) = -375.0/4096.0;
-      prolongation[2](61,45) = 125.0/4096.0;
-      prolongation[2](61,46) = 1125.0/4096.0;
-      prolongation[2](61,47) = -375.0/4096.0;
-      prolongation[2](61,48) = -375.0/4096.0;
-      prolongation[2](61,49) = 1125.0/4096.0;
-      prolongation[2](61,50) = 125.0/4096.0;
-      prolongation[2](61,51) = -375.0/4096.0;
-      prolongation[2](61,52) = -75.0/4096.0;
-      prolongation[2](61,53) = 25.0/4096.0;
-      prolongation[2](61,54) = 225.0/4096.0;
-      prolongation[2](61,55) = -75.0/4096.0;
-      prolongation[2](61,56) = 375.0/4096.0;
-      prolongation[2](61,57) = -1125.0/4096.0;
-      prolongation[2](61,58) = -125.0/4096.0;
-      prolongation[2](61,59) = 375.0/4096.0;
-      prolongation[2](61,60) = -1125.0/4096.0;
-      prolongation[2](61,61) = 3375.0/4096.0;
-      prolongation[2](61,62) = 375.0/4096.0;
-      prolongation[2](61,63) = -1125.0/4096.0;
-      prolongation[2](62,41) = 1.0/16.0;
-      prolongation[2](62,49) = 5.0/16.0;
-      prolongation[2](62,57) = -5.0/16.0;
-      prolongation[2](62,61) = 15.0/16.0;
-      prolongation[2](63,24) = 1.0/256.0;
-      prolongation[2](63,26) = 5.0/256.0;
-      prolongation[2](63,28) = 25.0/256.0;
-      prolongation[2](63,30) = 5.0/256.0;
-      prolongation[2](63,40) = -5.0/256.0;
-      prolongation[2](63,41) = 15.0/256.0;
-      prolongation[2](63,44) = -25.0/256.0;
-      prolongation[2](63,46) = 75.0/256.0;
-      prolongation[2](63,48) = -25.0/256.0;
-      prolongation[2](63,49) = 75.0/256.0;
-      prolongation[2](63,52) = -5.0/256.0;
-      prolongation[2](63,54) = 15.0/256.0;
-      prolongation[2](63,56) = 25.0/256.0;
-      prolongation[2](63,57) = -75.0/256.0;
-      prolongation[2](63,60) = -75.0/256.0;
-      prolongation[2](63,61) = 225.0/256.0;
-      prolongation[3](0,0) = -1.0/16.0;
-      prolongation[3](0,3) = -1.0/16.0;
-      prolongation[3](0,14) = 9.0/16.0;
-      prolongation[3](0,15) = 9.0/16.0;
-      prolongation[3](1,0) = 1.0/256.0;
-      prolongation[3](1,1) = 1.0/256.0;
-      prolongation[3](1,2) = 1.0/256.0;
-      prolongation[3](1,3) = 1.0/256.0;
-      prolongation[3](1,8) = -9.0/256.0;
-      prolongation[3](1,9) = -9.0/256.0;
-      prolongation[3](1,10) = -9.0/256.0;
-      prolongation[3](1,11) = -9.0/256.0;
-      prolongation[3](1,12) = -9.0/256.0;
-      prolongation[3](1,13) = -9.0/256.0;
-      prolongation[3](1,14) = -9.0/256.0;
-      prolongation[3](1,15) = -9.0/256.0;
-      prolongation[3](1,32) = 81.0/256.0;
-      prolongation[3](1,33) = 81.0/256.0;
-      prolongation[3](1,34) = 81.0/256.0;
-      prolongation[3](1,35) = 81.0/256.0;
-      prolongation[3](2,2) = -1.0/16.0;
-      prolongation[3](2,3) = -1.0/16.0;
-      prolongation[3](2,12) = 9.0/16.0;
-      prolongation[3](2,13) = 9.0/16.0;
-      prolongation[3](3,3) = 1.0;
-      prolongation[3](4,0) = 1.0/256.0;
-      prolongation[3](4,3) = 1.0/256.0;
-      prolongation[3](4,4) = 1.0/256.0;
-      prolongation[3](4,7) = 1.0/256.0;
-      prolongation[3](4,14) = -9.0/256.0;
-      prolongation[3](4,15) = -9.0/256.0;
-      prolongation[3](4,22) = -9.0/256.0;
-      prolongation[3](4,23) = -9.0/256.0;
-      prolongation[3](4,24) = -9.0/256.0;
-      prolongation[3](4,25) = -9.0/256.0;
-      prolongation[3](4,30) = -9.0/256.0;
-      prolongation[3](4,31) = -9.0/256.0;
-      prolongation[3](4,52) = 81.0/256.0;
-      prolongation[3](4,53) = 81.0/256.0;
-      prolongation[3](4,54) = 81.0/256.0;
-      prolongation[3](4,55) = 81.0/256.0;
-      prolongation[3](5,0) = -1.0/4096.0;
-      prolongation[3](5,1) = -1.0/4096.0;
-      prolongation[3](5,2) = -1.0/4096.0;
-      prolongation[3](5,3) = -1.0/4096.0;
-      prolongation[3](5,4) = -1.0/4096.0;
-      prolongation[3](5,5) = -1.0/4096.0;
-      prolongation[3](5,6) = -1.0/4096.0;
-      prolongation[3](5,7) = -1.0/4096.0;
-      prolongation[3](5,8) = 9.0/4096.0;
-      prolongation[3](5,9) = 9.0/4096.0;
-      prolongation[3](5,10) = 9.0/4096.0;
-      prolongation[3](5,11) = 9.0/4096.0;
-      prolongation[3](5,12) = 9.0/4096.0;
-      prolongation[3](5,13) = 9.0/4096.0;
-      prolongation[3](5,14) = 9.0/4096.0;
-      prolongation[3](5,15) = 9.0/4096.0;
-      prolongation[3](5,16) = 9.0/4096.0;
-      prolongation[3](5,17) = 9.0/4096.0;
-      prolongation[3](5,18) = 9.0/4096.0;
-      prolongation[3](5,19) = 9.0/4096.0;
-      prolongation[3](5,20) = 9.0/4096.0;
-      prolongation[3](5,21) = 9.0/4096.0;
-      prolongation[3](5,22) = 9.0/4096.0;
-      prolongation[3](5,23) = 9.0/4096.0;
-      prolongation[3](5,24) = 9.0/4096.0;
-      prolongation[3](5,25) = 9.0/4096.0;
-      prolongation[3](5,26) = 9.0/4096.0;
-      prolongation[3](5,27) = 9.0/4096.0;
-      prolongation[3](5,28) = 9.0/4096.0;
-      prolongation[3](5,29) = 9.0/4096.0;
-      prolongation[3](5,30) = 9.0/4096.0;
-      prolongation[3](5,31) = 9.0/4096.0;
-      prolongation[3](5,32) = -81.0/4096.0;
-      prolongation[3](5,33) = -81.0/4096.0;
-      prolongation[3](5,34) = -81.0/4096.0;
-      prolongation[3](5,35) = -81.0/4096.0;
-      prolongation[3](5,36) = -81.0/4096.0;
-      prolongation[3](5,37) = -81.0/4096.0;
-      prolongation[3](5,38) = -81.0/4096.0;
-      prolongation[3](5,39) = -81.0/4096.0;
-      prolongation[3](5,40) = -81.0/4096.0;
-      prolongation[3](5,41) = -81.0/4096.0;
-      prolongation[3](5,42) = -81.0/4096.0;
-      prolongation[3](5,43) = -81.0/4096.0;
-      prolongation[3](5,44) = -81.0/4096.0;
-      prolongation[3](5,45) = -81.0/4096.0;
-      prolongation[3](5,46) = -81.0/4096.0;
-      prolongation[3](5,47) = -81.0/4096.0;
-      prolongation[3](5,48) = -81.0/4096.0;
-      prolongation[3](5,49) = -81.0/4096.0;
-      prolongation[3](5,50) = -81.0/4096.0;
-      prolongation[3](5,51) = -81.0/4096.0;
-      prolongation[3](5,52) = -81.0/4096.0;
-      prolongation[3](5,53) = -81.0/4096.0;
-      prolongation[3](5,54) = -81.0/4096.0;
-      prolongation[3](5,55) = -81.0/4096.0;
-      prolongation[3](5,56) = 729.0/4096.0;
-      prolongation[3](5,57) = 729.0/4096.0;
-      prolongation[3](5,58) = 729.0/4096.0;
-      prolongation[3](5,59) = 729.0/4096.0;
-      prolongation[3](5,60) = 729.0/4096.0;
-      prolongation[3](5,61) = 729.0/4096.0;
-      prolongation[3](5,62) = 729.0/4096.0;
-      prolongation[3](5,63) = 729.0/4096.0;
-      prolongation[3](6,2) = 1.0/256.0;
-      prolongation[3](6,3) = 1.0/256.0;
-      prolongation[3](6,6) = 1.0/256.0;
-      prolongation[3](6,7) = 1.0/256.0;
-      prolongation[3](6,12) = -9.0/256.0;
-      prolongation[3](6,13) = -9.0/256.0;
-      prolongation[3](6,20) = -9.0/256.0;
-      prolongation[3](6,21) = -9.0/256.0;
-      prolongation[3](6,28) = -9.0/256.0;
-      prolongation[3](6,29) = -9.0/256.0;
-      prolongation[3](6,30) = -9.0/256.0;
-      prolongation[3](6,31) = -9.0/256.0;
-      prolongation[3](6,48) = 81.0/256.0;
-      prolongation[3](6,49) = 81.0/256.0;
-      prolongation[3](6,50) = 81.0/256.0;
-      prolongation[3](6,51) = 81.0/256.0;
-      prolongation[3](7,3) = -1.0/16.0;
-      prolongation[3](7,7) = -1.0/16.0;
-      prolongation[3](7,30) = 9.0/16.0;
-      prolongation[3](7,31) = 9.0/16.0;
-      prolongation[3](8,0) = -5.0/256.0;
-      prolongation[3](8,1) = -1.0/256.0;
-      prolongation[3](8,2) = -1.0/256.0;
-      prolongation[3](8,3) = -5.0/256.0;
-      prolongation[3](8,8) = -15.0/256.0;
-      prolongation[3](8,9) = 5.0/256.0;
-      prolongation[3](8,10) = 9.0/256.0;
-      prolongation[3](8,11) = 9.0/256.0;
-      prolongation[3](8,12) = -15.0/256.0;
-      prolongation[3](8,13) = 5.0/256.0;
-      prolongation[3](8,14) = 45.0/256.0;
-      prolongation[3](8,15) = 45.0/256.0;
-      prolongation[3](8,32) = 135.0/256.0;
-      prolongation[3](8,33) = -45.0/256.0;
-      prolongation[3](8,34) = 135.0/256.0;
-      prolongation[3](8,35) = -45.0/256.0;
-      prolongation[3](9,8) = -1.0/16.0;
-      prolongation[3](9,12) = -1.0/16.0;
-      prolongation[3](9,32) = 9.0/16.0;
-      prolongation[3](9,34) = 9.0/16.0;
-      prolongation[3](10,11) = -1.0/16.0;
-      prolongation[3](10,15) = -1.0/16.0;
-      prolongation[3](10,34) = 9.0/16.0;
-      prolongation[3](10,35) = 9.0/16.0;
-      prolongation[3](11,0) = -1.0/256.0;
-      prolongation[3](11,1) = -1.0/256.0;
-      prolongation[3](11,2) = -5.0/256.0;
-      prolongation[3](11,3) = -5.0/256.0;
-      prolongation[3](11,8) = 9.0/256.0;
-      prolongation[3](11,9) = 9.0/256.0;
-      prolongation[3](11,10) = 5.0/256.0;
-      prolongation[3](11,11) = -15.0/256.0;
-      prolongation[3](11,12) = 45.0/256.0;
-      prolongation[3](11,13) = 45.0/256.0;
-      prolongation[3](11,14) = 5.0/256.0;
-      prolongation[3](11,15) = -15.0/256.0;
-      prolongation[3](11,32) = -45.0/256.0;
-      prolongation[3](11,33) = -45.0/256.0;
-      prolongation[3](11,34) = 135.0/256.0;
-      prolongation[3](11,35) = 135.0/256.0;
-      prolongation[3](12,2) = 1.0/16.0;
-      prolongation[3](12,3) = 5.0/16.0;
-      prolongation[3](12,12) = 15.0/16.0;
-      prolongation[3](12,13) = -5.0/16.0;
-      prolongation[3](13,12) = 1.0;
-      prolongation[3](14,15) = 1.0;
-      prolongation[3](15,0) = 1.0/16.0;
-      prolongation[3](15,3) = 5.0/16.0;
-      prolongation[3](15,14) = -5.0/16.0;
-      prolongation[3](15,15) = 15.0/16.0;
-      prolongation[3](16,0) = 5.0/4096.0;
-      prolongation[3](16,1) = 1.0/4096.0;
-      prolongation[3](16,2) = 1.0/4096.0;
-      prolongation[3](16,3) = 5.0/4096.0;
-      prolongation[3](16,4) = 5.0/4096.0;
-      prolongation[3](16,5) = 1.0/4096.0;
-      prolongation[3](16,6) = 1.0/4096.0;
-      prolongation[3](16,7) = 5.0/4096.0;
-      prolongation[3](16,8) = 15.0/4096.0;
-      prolongation[3](16,9) = -5.0/4096.0;
-      prolongation[3](16,10) = -9.0/4096.0;
-      prolongation[3](16,11) = -9.0/4096.0;
-      prolongation[3](16,12) = 15.0/4096.0;
-      prolongation[3](16,13) = -5.0/4096.0;
-      prolongation[3](16,14) = -45.0/4096.0;
-      prolongation[3](16,15) = -45.0/4096.0;
-      prolongation[3](16,16) = 15.0/4096.0;
-      prolongation[3](16,17) = -5.0/4096.0;
-      prolongation[3](16,18) = -9.0/4096.0;
-      prolongation[3](16,19) = -9.0/4096.0;
-      prolongation[3](16,20) = 15.0/4096.0;
-      prolongation[3](16,21) = -5.0/4096.0;
-      prolongation[3](16,22) = -45.0/4096.0;
-      prolongation[3](16,23) = -45.0/4096.0;
-      prolongation[3](16,24) = -45.0/4096.0;
-      prolongation[3](16,25) = -45.0/4096.0;
-      prolongation[3](16,26) = -9.0/4096.0;
-      prolongation[3](16,27) = -9.0/4096.0;
-      prolongation[3](16,28) = -9.0/4096.0;
-      prolongation[3](16,29) = -9.0/4096.0;
-      prolongation[3](16,30) = -45.0/4096.0;
-      prolongation[3](16,31) = -45.0/4096.0;
-      prolongation[3](16,32) = -135.0/4096.0;
-      prolongation[3](16,33) = 45.0/4096.0;
-      prolongation[3](16,34) = -135.0/4096.0;
-      prolongation[3](16,35) = 45.0/4096.0;
-      prolongation[3](16,36) = -135.0/4096.0;
-      prolongation[3](16,37) = 45.0/4096.0;
-      prolongation[3](16,38) = -135.0/4096.0;
-      prolongation[3](16,39) = 45.0/4096.0;
-      prolongation[3](16,40) = -135.0/4096.0;
-      prolongation[3](16,41) = 45.0/4096.0;
-      prolongation[3](16,42) = -135.0/4096.0;
-      prolongation[3](16,43) = 45.0/4096.0;
-      prolongation[3](16,44) = 81.0/4096.0;
-      prolongation[3](16,45) = 81.0/4096.0;
-      prolongation[3](16,46) = 81.0/4096.0;
-      prolongation[3](16,47) = 81.0/4096.0;
-      prolongation[3](16,48) = -135.0/4096.0;
-      prolongation[3](16,49) = 45.0/4096.0;
-      prolongation[3](16,50) = -135.0/4096.0;
-      prolongation[3](16,51) = 45.0/4096.0;
-      prolongation[3](16,52) = 405.0/4096.0;
-      prolongation[3](16,53) = 405.0/4096.0;
-      prolongation[3](16,54) = 405.0/4096.0;
-      prolongation[3](16,55) = 405.0/4096.0;
-      prolongation[3](16,56) = 1215.0/4096.0;
-      prolongation[3](16,57) = -405.0/4096.0;
-      prolongation[3](16,58) = 1215.0/4096.0;
-      prolongation[3](16,59) = -405.0/4096.0;
-      prolongation[3](16,60) = 1215.0/4096.0;
-      prolongation[3](16,61) = -405.0/4096.0;
-      prolongation[3](16,62) = 1215.0/4096.0;
-      prolongation[3](16,63) = -405.0/4096.0;
-      prolongation[3](17,8) = 1.0/256.0;
-      prolongation[3](17,12) = 1.0/256.0;
-      prolongation[3](17,16) = 1.0/256.0;
-      prolongation[3](17,20) = 1.0/256.0;
-      prolongation[3](17,32) = -9.0/256.0;
-      prolongation[3](17,34) = -9.0/256.0;
-      prolongation[3](17,36) = -9.0/256.0;
-      prolongation[3](17,38) = -9.0/256.0;
-      prolongation[3](17,40) = -9.0/256.0;
-      prolongation[3](17,42) = -9.0/256.0;
-      prolongation[3](17,48) = -9.0/256.0;
-      prolongation[3](17,50) = -9.0/256.0;
-      prolongation[3](17,56) = 81.0/256.0;
-      prolongation[3](17,58) = 81.0/256.0;
-      prolongation[3](17,60) = 81.0/256.0;
-      prolongation[3](17,62) = 81.0/256.0;
-      prolongation[3](18,11) = 1.0/256.0;
-      prolongation[3](18,15) = 1.0/256.0;
-      prolongation[3](18,19) = 1.0/256.0;
-      prolongation[3](18,23) = 1.0/256.0;
-      prolongation[3](18,34) = -9.0/256.0;
-      prolongation[3](18,35) = -9.0/256.0;
-      prolongation[3](18,38) = -9.0/256.0;
-      prolongation[3](18,39) = -9.0/256.0;
-      prolongation[3](18,46) = -9.0/256.0;
-      prolongation[3](18,47) = -9.0/256.0;
-      prolongation[3](18,54) = -9.0/256.0;
-      prolongation[3](18,55) = -9.0/256.0;
-      prolongation[3](18,60) = 81.0/256.0;
-      prolongation[3](18,61) = 81.0/256.0;
-      prolongation[3](18,62) = 81.0/256.0;
-      prolongation[3](18,63) = 81.0/256.0;
-      prolongation[3](19,0) = 1.0/4096.0;
-      prolongation[3](19,1) = 1.0/4096.0;
-      prolongation[3](19,2) = 5.0/4096.0;
-      prolongation[3](19,3) = 5.0/4096.0;
-      prolongation[3](19,4) = 1.0/4096.0;
-      prolongation[3](19,5) = 1.0/4096.0;
-      prolongation[3](19,6) = 5.0/4096.0;
-      prolongation[3](19,7) = 5.0/4096.0;
-      prolongation[3](19,8) = -9.0/4096.0;
-      prolongation[3](19,9) = -9.0/4096.0;
-      prolongation[3](19,10) = -5.0/4096.0;
-      prolongation[3](19,11) = 15.0/4096.0;
-      prolongation[3](19,12) = -45.0/4096.0;
-      prolongation[3](19,13) = -45.0/4096.0;
-      prolongation[3](19,14) = -5.0/4096.0;
-      prolongation[3](19,15) = 15.0/4096.0;
-      prolongation[3](19,16) = -9.0/4096.0;
-      prolongation[3](19,17) = -9.0/4096.0;
-      prolongation[3](19,18) = -5.0/4096.0;
-      prolongation[3](19,19) = 15.0/4096.0;
-      prolongation[3](19,20) = -45.0/4096.0;
-      prolongation[3](19,21) = -45.0/4096.0;
-      prolongation[3](19,22) = -5.0/4096.0;
-      prolongation[3](19,23) = 15.0/4096.0;
-      prolongation[3](19,24) = -9.0/4096.0;
-      prolongation[3](19,25) = -9.0/4096.0;
-      prolongation[3](19,26) = -9.0/4096.0;
-      prolongation[3](19,27) = -9.0/4096.0;
-      prolongation[3](19,28) = -45.0/4096.0;
-      prolongation[3](19,29) = -45.0/4096.0;
-      prolongation[3](19,30) = -45.0/4096.0;
-      prolongation[3](19,31) = -45.0/4096.0;
-      prolongation[3](19,32) = 45.0/4096.0;
-      prolongation[3](19,33) = 45.0/4096.0;
-      prolongation[3](19,34) = -135.0/4096.0;
-      prolongation[3](19,35) = -135.0/4096.0;
-      prolongation[3](19,36) = 45.0/4096.0;
-      prolongation[3](19,37) = 45.0/4096.0;
-      prolongation[3](19,38) = -135.0/4096.0;
-      prolongation[3](19,39) = -135.0/4096.0;
-      prolongation[3](19,40) = 81.0/4096.0;
-      prolongation[3](19,41) = 81.0/4096.0;
-      prolongation[3](19,42) = 81.0/4096.0;
-      prolongation[3](19,43) = 81.0/4096.0;
-      prolongation[3](19,44) = 45.0/4096.0;
-      prolongation[3](19,45) = 45.0/4096.0;
-      prolongation[3](19,46) = -135.0/4096.0;
-      prolongation[3](19,47) = -135.0/4096.0;
-      prolongation[3](19,48) = 405.0/4096.0;
-      prolongation[3](19,49) = 405.0/4096.0;
-      prolongation[3](19,50) = 405.0/4096.0;
-      prolongation[3](19,51) = 405.0/4096.0;
-      prolongation[3](19,52) = 45.0/4096.0;
-      prolongation[3](19,53) = 45.0/4096.0;
-      prolongation[3](19,54) = -135.0/4096.0;
-      prolongation[3](19,55) = -135.0/4096.0;
-      prolongation[3](19,56) = -405.0/4096.0;
-      prolongation[3](19,57) = -405.0/4096.0;
-      prolongation[3](19,58) = -405.0/4096.0;
-      prolongation[3](19,59) = -405.0/4096.0;
-      prolongation[3](19,60) = 1215.0/4096.0;
-      prolongation[3](19,61) = 1215.0/4096.0;
-      prolongation[3](19,62) = 1215.0/4096.0;
-      prolongation[3](19,63) = 1215.0/4096.0;
-      prolongation[3](20,2) = -1.0/256.0;
-      prolongation[3](20,3) = -5.0/256.0;
-      prolongation[3](20,6) = -1.0/256.0;
-      prolongation[3](20,7) = -5.0/256.0;
-      prolongation[3](20,12) = -15.0/256.0;
-      prolongation[3](20,13) = 5.0/256.0;
-      prolongation[3](20,20) = -15.0/256.0;
-      prolongation[3](20,21) = 5.0/256.0;
-      prolongation[3](20,28) = 9.0/256.0;
-      prolongation[3](20,29) = 9.0/256.0;
-      prolongation[3](20,30) = 45.0/256.0;
-      prolongation[3](20,31) = 45.0/256.0;
-      prolongation[3](20,48) = 135.0/256.0;
-      prolongation[3](20,49) = -45.0/256.0;
-      prolongation[3](20,50) = 135.0/256.0;
-      prolongation[3](20,51) = -45.0/256.0;
-      prolongation[3](21,12) = -1.0/16.0;
-      prolongation[3](21,20) = -1.0/16.0;
-      prolongation[3](21,48) = 9.0/16.0;
-      prolongation[3](21,50) = 9.0/16.0;
-      prolongation[3](22,15) = -1.0/16.0;
-      prolongation[3](22,23) = -1.0/16.0;
-      prolongation[3](22,54) = 9.0/16.0;
-      prolongation[3](22,55) = 9.0/16.0;
-      prolongation[3](23,0) = -1.0/256.0;
-      prolongation[3](23,3) = -5.0/256.0;
-      prolongation[3](23,4) = -1.0/256.0;
-      prolongation[3](23,7) = -5.0/256.0;
-      prolongation[3](23,14) = 5.0/256.0;
-      prolongation[3](23,15) = -15.0/256.0;
-      prolongation[3](23,22) = 5.0/256.0;
-      prolongation[3](23,23) = -15.0/256.0;
-      prolongation[3](23,24) = 9.0/256.0;
-      prolongation[3](23,25) = 9.0/256.0;
-      prolongation[3](23,30) = 45.0/256.0;
-      prolongation[3](23,31) = 45.0/256.0;
-      prolongation[3](23,52) = -45.0/256.0;
-      prolongation[3](23,53) = -45.0/256.0;
-      prolongation[3](23,54) = 135.0/256.0;
-      prolongation[3](23,55) = 135.0/256.0;
-      prolongation[3](24,0) = -5.0/256.0;
-      prolongation[3](24,3) = -5.0/256.0;
-      prolongation[3](24,4) = -1.0/256.0;
-      prolongation[3](24,7) = -1.0/256.0;
-      prolongation[3](24,14) = 45.0/256.0;
-      prolongation[3](24,15) = 45.0/256.0;
-      prolongation[3](24,22) = 9.0/256.0;
-      prolongation[3](24,23) = 9.0/256.0;
-      prolongation[3](24,24) = -15.0/256.0;
-      prolongation[3](24,25) = 5.0/256.0;
-      prolongation[3](24,30) = -15.0/256.0;
-      prolongation[3](24,31) = 5.0/256.0;
-      prolongation[3](24,52) = 135.0/256.0;
-      prolongation[3](24,53) = -45.0/256.0;
-      prolongation[3](24,54) = 135.0/256.0;
-      prolongation[3](24,55) = -45.0/256.0;
-      prolongation[3](25,24) = -1.0/16.0;
-      prolongation[3](25,30) = -1.0/16.0;
-      prolongation[3](25,52) = 9.0/16.0;
-      prolongation[3](25,54) = 9.0/16.0;
-      prolongation[3](26,0) = 5.0/4096.0;
-      prolongation[3](26,1) = 5.0/4096.0;
-      prolongation[3](26,2) = 5.0/4096.0;
-      prolongation[3](26,3) = 5.0/4096.0;
-      prolongation[3](26,4) = 1.0/4096.0;
-      prolongation[3](26,5) = 1.0/4096.0;
-      prolongation[3](26,6) = 1.0/4096.0;
-      prolongation[3](26,7) = 1.0/4096.0;
-      prolongation[3](26,8) = -45.0/4096.0;
-      prolongation[3](26,9) = -45.0/4096.0;
-      prolongation[3](26,10) = -45.0/4096.0;
-      prolongation[3](26,11) = -45.0/4096.0;
-      prolongation[3](26,12) = -45.0/4096.0;
-      prolongation[3](26,13) = -45.0/4096.0;
-      prolongation[3](26,14) = -45.0/4096.0;
-      prolongation[3](26,15) = -45.0/4096.0;
-      prolongation[3](26,16) = -9.0/4096.0;
-      prolongation[3](26,17) = -9.0/4096.0;
-      prolongation[3](26,18) = -9.0/4096.0;
-      prolongation[3](26,19) = -9.0/4096.0;
-      prolongation[3](26,20) = -9.0/4096.0;
-      prolongation[3](26,21) = -9.0/4096.0;
-      prolongation[3](26,22) = -9.0/4096.0;
-      prolongation[3](26,23) = -9.0/4096.0;
-      prolongation[3](26,24) = 15.0/4096.0;
-      prolongation[3](26,25) = -5.0/4096.0;
-      prolongation[3](26,26) = 15.0/4096.0;
-      prolongation[3](26,27) = -5.0/4096.0;
-      prolongation[3](26,28) = 15.0/4096.0;
-      prolongation[3](26,29) = -5.0/4096.0;
-      prolongation[3](26,30) = 15.0/4096.0;
-      prolongation[3](26,31) = -5.0/4096.0;
-      prolongation[3](26,32) = 405.0/4096.0;
-      prolongation[3](26,33) = 405.0/4096.0;
-      prolongation[3](26,34) = 405.0/4096.0;
-      prolongation[3](26,35) = 405.0/4096.0;
-      prolongation[3](26,36) = 81.0/4096.0;
-      prolongation[3](26,37) = 81.0/4096.0;
-      prolongation[3](26,38) = 81.0/4096.0;
-      prolongation[3](26,39) = 81.0/4096.0;
-      prolongation[3](26,40) = -135.0/4096.0;
-      prolongation[3](26,41) = -135.0/4096.0;
-      prolongation[3](26,42) = 45.0/4096.0;
-      prolongation[3](26,43) = 45.0/4096.0;
-      prolongation[3](26,44) = -135.0/4096.0;
-      prolongation[3](26,45) = 45.0/4096.0;
-      prolongation[3](26,46) = -135.0/4096.0;
-      prolongation[3](26,47) = 45.0/4096.0;
-      prolongation[3](26,48) = -135.0/4096.0;
-      prolongation[3](26,49) = -135.0/4096.0;
-      prolongation[3](26,50) = 45.0/4096.0;
-      prolongation[3](26,51) = 45.0/4096.0;
-      prolongation[3](26,52) = -135.0/4096.0;
-      prolongation[3](26,53) = 45.0/4096.0;
-      prolongation[3](26,54) = -135.0/4096.0;
-      prolongation[3](26,55) = 45.0/4096.0;
-      prolongation[3](26,56) = 1215.0/4096.0;
-      prolongation[3](26,57) = 1215.0/4096.0;
-      prolongation[3](26,58) = -405.0/4096.0;
-      prolongation[3](26,59) = -405.0/4096.0;
-      prolongation[3](26,60) = 1215.0/4096.0;
-      prolongation[3](26,61) = 1215.0/4096.0;
-      prolongation[3](26,62) = -405.0/4096.0;
-      prolongation[3](26,63) = -405.0/4096.0;
-      prolongation[3](27,24) = 1.0/256.0;
-      prolongation[3](27,26) = 1.0/256.0;
-      prolongation[3](27,28) = 1.0/256.0;
-      prolongation[3](27,30) = 1.0/256.0;
-      prolongation[3](27,40) = -9.0/256.0;
-      prolongation[3](27,41) = -9.0/256.0;
-      prolongation[3](27,44) = -9.0/256.0;
-      prolongation[3](27,46) = -9.0/256.0;
-      prolongation[3](27,48) = -9.0/256.0;
-      prolongation[3](27,49) = -9.0/256.0;
-      prolongation[3](27,52) = -9.0/256.0;
-      prolongation[3](27,54) = -9.0/256.0;
-      prolongation[3](27,56) = 81.0/256.0;
-      prolongation[3](27,57) = 81.0/256.0;
-      prolongation[3](27,60) = 81.0/256.0;
-      prolongation[3](27,61) = 81.0/256.0;
-      prolongation[3](28,2) = -5.0/256.0;
-      prolongation[3](28,3) = -5.0/256.0;
-      prolongation[3](28,6) = -1.0/256.0;
-      prolongation[3](28,7) = -1.0/256.0;
-      prolongation[3](28,12) = 45.0/256.0;
-      prolongation[3](28,13) = 45.0/256.0;
-      prolongation[3](28,20) = 9.0/256.0;
-      prolongation[3](28,21) = 9.0/256.0;
-      prolongation[3](28,28) = -15.0/256.0;
-      prolongation[3](28,29) = 5.0/256.0;
-      prolongation[3](28,30) = -15.0/256.0;
-      prolongation[3](28,31) = 5.0/256.0;
-      prolongation[3](28,48) = 135.0/256.0;
-      prolongation[3](28,49) = 135.0/256.0;
-      prolongation[3](28,50) = -45.0/256.0;
-      prolongation[3](28,51) = -45.0/256.0;
-      prolongation[3](29,28) = -1.0/16.0;
-      prolongation[3](29,30) = -1.0/16.0;
-      prolongation[3](29,48) = 9.0/16.0;
-      prolongation[3](29,49) = 9.0/16.0;
-      prolongation[3](30,3) = 5.0/16.0;
-      prolongation[3](30,7) = 1.0/16.0;
-      prolongation[3](30,30) = 15.0/16.0;
-      prolongation[3](30,31) = -5.0/16.0;
-      prolongation[3](31,30) = 1.0;
-      prolongation[3](32,11) = 1.0/16.0;
-      prolongation[3](32,15) = 5.0/16.0;
-      prolongation[3](32,34) = 15.0/16.0;
-      prolongation[3](32,35) = -5.0/16.0;
-      prolongation[3](33,34) = 1.0;
-      prolongation[3](34,0) = 5.0/256.0;
-      prolongation[3](34,1) = 1.0/256.0;
-      prolongation[3](34,2) = 5.0/256.0;
-      prolongation[3](34,3) = 25.0/256.0;
-      prolongation[3](34,8) = 15.0/256.0;
-      prolongation[3](34,9) = -5.0/256.0;
-      prolongation[3](34,10) = -5.0/256.0;
-      prolongation[3](34,11) = 15.0/256.0;
-      prolongation[3](34,12) = 75.0/256.0;
-      prolongation[3](34,13) = -25.0/256.0;
-      prolongation[3](34,14) = -25.0/256.0;
-      prolongation[3](34,15) = 75.0/256.0;
-      prolongation[3](34,32) = -75.0/256.0;
-      prolongation[3](34,33) = 25.0/256.0;
-      prolongation[3](34,34) = 225.0/256.0;
-      prolongation[3](34,35) = -75.0/256.0;
-      prolongation[3](35,8) = 1.0/16.0;
-      prolongation[3](35,12) = 5.0/16.0;
-      prolongation[3](35,32) = -5.0/16.0;
-      prolongation[3](35,34) = 15.0/16.0;
-      prolongation[3](36,11) = -1.0/256.0;
-      prolongation[3](36,15) = -5.0/256.0;
-      prolongation[3](36,19) = -1.0/256.0;
-      prolongation[3](36,23) = -5.0/256.0;
-      prolongation[3](36,34) = -15.0/256.0;
-      prolongation[3](36,35) = 5.0/256.0;
-      prolongation[3](36,38) = -15.0/256.0;
-      prolongation[3](36,39) = 5.0/256.0;
-      prolongation[3](36,46) = 9.0/256.0;
-      prolongation[3](36,47) = 9.0/256.0;
-      prolongation[3](36,54) = 45.0/256.0;
-      prolongation[3](36,55) = 45.0/256.0;
-      prolongation[3](36,60) = 135.0/256.0;
-      prolongation[3](36,61) = -45.0/256.0;
-      prolongation[3](36,62) = 135.0/256.0;
-      prolongation[3](36,63) = -45.0/256.0;
-      prolongation[3](37,34) = -1.0/16.0;
-      prolongation[3](37,38) = -1.0/16.0;
-      prolongation[3](37,60) = 9.0/16.0;
-      prolongation[3](37,62) = 9.0/16.0;
-      prolongation[3](38,0) = -5.0/4096.0;
-      prolongation[3](38,1) = -1.0/4096.0;
-      prolongation[3](38,2) = -5.0/4096.0;
-      prolongation[3](38,3) = -25.0/4096.0;
-      prolongation[3](38,4) = -5.0/4096.0;
-      prolongation[3](38,5) = -1.0/4096.0;
-      prolongation[3](38,6) = -5.0/4096.0;
-      prolongation[3](38,7) = -25.0/4096.0;
-      prolongation[3](38,8) = -15.0/4096.0;
-      prolongation[3](38,9) = 5.0/4096.0;
-      prolongation[3](38,10) = 5.0/4096.0;
-      prolongation[3](38,11) = -15.0/4096.0;
-      prolongation[3](38,12) = -75.0/4096.0;
-      prolongation[3](38,13) = 25.0/4096.0;
-      prolongation[3](38,14) = 25.0/4096.0;
-      prolongation[3](38,15) = -75.0/4096.0;
-      prolongation[3](38,16) = -15.0/4096.0;
-      prolongation[3](38,17) = 5.0/4096.0;
-      prolongation[3](38,18) = 5.0/4096.0;
-      prolongation[3](38,19) = -15.0/4096.0;
-      prolongation[3](38,20) = -75.0/4096.0;
-      prolongation[3](38,21) = 25.0/4096.0;
-      prolongation[3](38,22) = 25.0/4096.0;
-      prolongation[3](38,23) = -75.0/4096.0;
-      prolongation[3](38,24) = 45.0/4096.0;
-      prolongation[3](38,25) = 45.0/4096.0;
-      prolongation[3](38,26) = 9.0/4096.0;
-      prolongation[3](38,27) = 9.0/4096.0;
-      prolongation[3](38,28) = 45.0/4096.0;
-      prolongation[3](38,29) = 45.0/4096.0;
-      prolongation[3](38,30) = 225.0/4096.0;
-      prolongation[3](38,31) = 225.0/4096.0;
-      prolongation[3](38,32) = 75.0/4096.0;
-      prolongation[3](38,33) = -25.0/4096.0;
-      prolongation[3](38,34) = -225.0/4096.0;
-      prolongation[3](38,35) = 75.0/4096.0;
-      prolongation[3](38,36) = 75.0/4096.0;
-      prolongation[3](38,37) = -25.0/4096.0;
-      prolongation[3](38,38) = -225.0/4096.0;
-      prolongation[3](38,39) = 75.0/4096.0;
-      prolongation[3](38,40) = 135.0/4096.0;
-      prolongation[3](38,41) = -45.0/4096.0;
-      prolongation[3](38,42) = 135.0/4096.0;
-      prolongation[3](38,43) = -45.0/4096.0;
-      prolongation[3](38,44) = -45.0/4096.0;
-      prolongation[3](38,45) = -45.0/4096.0;
-      prolongation[3](38,46) = 135.0/4096.0;
-      prolongation[3](38,47) = 135.0/4096.0;
-      prolongation[3](38,48) = 675.0/4096.0;
-      prolongation[3](38,49) = -225.0/4096.0;
-      prolongation[3](38,50) = 675.0/4096.0;
-      prolongation[3](38,51) = -225.0/4096.0;
-      prolongation[3](38,52) = -225.0/4096.0;
-      prolongation[3](38,53) = -225.0/4096.0;
-      prolongation[3](38,54) = 675.0/4096.0;
-      prolongation[3](38,55) = 675.0/4096.0;
-      prolongation[3](38,56) = -675.0/4096.0;
-      prolongation[3](38,57) = 225.0/4096.0;
-      prolongation[3](38,58) = -675.0/4096.0;
-      prolongation[3](38,59) = 225.0/4096.0;
-      prolongation[3](38,60) = 2025.0/4096.0;
-      prolongation[3](38,61) = -675.0/4096.0;
-      prolongation[3](38,62) = 2025.0/4096.0;
-      prolongation[3](38,63) = -675.0/4096.0;
-      prolongation[3](39,8) = -1.0/256.0;
-      prolongation[3](39,12) = -5.0/256.0;
-      prolongation[3](39,16) = -1.0/256.0;
-      prolongation[3](39,20) = -5.0/256.0;
-      prolongation[3](39,32) = 5.0/256.0;
-      prolongation[3](39,34) = -15.0/256.0;
-      prolongation[3](39,36) = 5.0/256.0;
-      prolongation[3](39,38) = -15.0/256.0;
-      prolongation[3](39,40) = 9.0/256.0;
-      prolongation[3](39,42) = 9.0/256.0;
-      prolongation[3](39,48) = 45.0/256.0;
-      prolongation[3](39,50) = 45.0/256.0;
-      prolongation[3](39,56) = -45.0/256.0;
-      prolongation[3](39,58) = -45.0/256.0;
-      prolongation[3](39,60) = 135.0/256.0;
-      prolongation[3](39,62) = 135.0/256.0;
-      prolongation[3](40,0) = -25.0/4096.0;
-      prolongation[3](40,1) = -5.0/4096.0;
-      prolongation[3](40,2) = -5.0/4096.0;
-      prolongation[3](40,3) = -25.0/4096.0;
-      prolongation[3](40,4) = -5.0/4096.0;
-      prolongation[3](40,5) = -1.0/4096.0;
-      prolongation[3](40,6) = -1.0/4096.0;
-      prolongation[3](40,7) = -5.0/4096.0;
-      prolongation[3](40,8) = -75.0/4096.0;
-      prolongation[3](40,9) = 25.0/4096.0;
-      prolongation[3](40,10) = 45.0/4096.0;
-      prolongation[3](40,11) = 45.0/4096.0;
-      prolongation[3](40,12) = -75.0/4096.0;
-      prolongation[3](40,13) = 25.0/4096.0;
-      prolongation[3](40,14) = 225.0/4096.0;
-      prolongation[3](40,15) = 225.0/4096.0;
-      prolongation[3](40,16) = -15.0/4096.0;
-      prolongation[3](40,17) = 5.0/4096.0;
-      prolongation[3](40,18) = 9.0/4096.0;
-      prolongation[3](40,19) = 9.0/4096.0;
-      prolongation[3](40,20) = -15.0/4096.0;
-      prolongation[3](40,21) = 5.0/4096.0;
-      prolongation[3](40,22) = 45.0/4096.0;
-      prolongation[3](40,23) = 45.0/4096.0;
-      prolongation[3](40,24) = -75.0/4096.0;
-      prolongation[3](40,25) = 25.0/4096.0;
-      prolongation[3](40,26) = -15.0/4096.0;
-      prolongation[3](40,27) = 5.0/4096.0;
-      prolongation[3](40,28) = -15.0/4096.0;
-      prolongation[3](40,29) = 5.0/4096.0;
-      prolongation[3](40,30) = -75.0/4096.0;
-      prolongation[3](40,31) = 25.0/4096.0;
-      prolongation[3](40,32) = 675.0/4096.0;
-      prolongation[3](40,33) = -225.0/4096.0;
-      prolongation[3](40,34) = 675.0/4096.0;
-      prolongation[3](40,35) = -225.0/4096.0;
-      prolongation[3](40,36) = 135.0/4096.0;
-      prolongation[3](40,37) = -45.0/4096.0;
-      prolongation[3](40,38) = 135.0/4096.0;
-      prolongation[3](40,39) = -45.0/4096.0;
-      prolongation[3](40,40) = -225.0/4096.0;
-      prolongation[3](40,41) = 75.0/4096.0;
-      prolongation[3](40,42) = 75.0/4096.0;
-      prolongation[3](40,43) = -25.0/4096.0;
-      prolongation[3](40,44) = 135.0/4096.0;
-      prolongation[3](40,45) = -45.0/4096.0;
-      prolongation[3](40,46) = 135.0/4096.0;
-      prolongation[3](40,47) = -45.0/4096.0;
-      prolongation[3](40,48) = -225.0/4096.0;
-      prolongation[3](40,49) = 75.0/4096.0;
-      prolongation[3](40,50) = 75.0/4096.0;
-      prolongation[3](40,51) = -25.0/4096.0;
-      prolongation[3](40,52) = 675.0/4096.0;
-      prolongation[3](40,53) = -225.0/4096.0;
-      prolongation[3](40,54) = 675.0/4096.0;
-      prolongation[3](40,55) = -225.0/4096.0;
-      prolongation[3](40,56) = 2025.0/4096.0;
-      prolongation[3](40,57) = -675.0/4096.0;
-      prolongation[3](40,58) = -675.0/4096.0;
-      prolongation[3](40,59) = 225.0/4096.0;
-      prolongation[3](40,60) = 2025.0/4096.0;
-      prolongation[3](40,61) = -675.0/4096.0;
-      prolongation[3](40,62) = -675.0/4096.0;
-      prolongation[3](40,63) = 225.0/4096.0;
-      prolongation[3](41,8) = -5.0/256.0;
-      prolongation[3](41,12) = -5.0/256.0;
-      prolongation[3](41,16) = -1.0/256.0;
-      prolongation[3](41,20) = -1.0/256.0;
-      prolongation[3](41,32) = 45.0/256.0;
-      prolongation[3](41,34) = 45.0/256.0;
-      prolongation[3](41,36) = 9.0/256.0;
-      prolongation[3](41,38) = 9.0/256.0;
-      prolongation[3](41,40) = -15.0/256.0;
-      prolongation[3](41,42) = 5.0/256.0;
-      prolongation[3](41,48) = -15.0/256.0;
-      prolongation[3](41,50) = 5.0/256.0;
-      prolongation[3](41,56) = 135.0/256.0;
-      prolongation[3](41,58) = -45.0/256.0;
-      prolongation[3](41,60) = 135.0/256.0;
-      prolongation[3](41,62) = -45.0/256.0;
-      prolongation[3](42,24) = -5.0/256.0;
-      prolongation[3](42,26) = -1.0/256.0;
-      prolongation[3](42,28) = -1.0/256.0;
-      prolongation[3](42,30) = -5.0/256.0;
-      prolongation[3](42,40) = -15.0/256.0;
-      prolongation[3](42,41) = 5.0/256.0;
-      prolongation[3](42,44) = 9.0/256.0;
-      prolongation[3](42,46) = 9.0/256.0;
-      prolongation[3](42,48) = -15.0/256.0;
-      prolongation[3](42,49) = 5.0/256.0;
-      prolongation[3](42,52) = 45.0/256.0;
-      prolongation[3](42,54) = 45.0/256.0;
-      prolongation[3](42,56) = 135.0/256.0;
-      prolongation[3](42,57) = -45.0/256.0;
-      prolongation[3](42,60) = 135.0/256.0;
-      prolongation[3](42,61) = -45.0/256.0;
-      prolongation[3](43,40) = -1.0/16.0;
-      prolongation[3](43,48) = -1.0/16.0;
-      prolongation[3](43,56) = 9.0/16.0;
-      prolongation[3](43,60) = 9.0/16.0;
-      prolongation[3](44,11) = -5.0/256.0;
-      prolongation[3](44,15) = -5.0/256.0;
-      prolongation[3](44,19) = -1.0/256.0;
-      prolongation[3](44,23) = -1.0/256.0;
-      prolongation[3](44,34) = 45.0/256.0;
-      prolongation[3](44,35) = 45.0/256.0;
-      prolongation[3](44,38) = 9.0/256.0;
-      prolongation[3](44,39) = 9.0/256.0;
-      prolongation[3](44,46) = -15.0/256.0;
-      prolongation[3](44,47) = 5.0/256.0;
-      prolongation[3](44,54) = -15.0/256.0;
-      prolongation[3](44,55) = 5.0/256.0;
-      prolongation[3](44,60) = 135.0/256.0;
-      prolongation[3](44,61) = 135.0/256.0;
-      prolongation[3](44,62) = -45.0/256.0;
-      prolongation[3](44,63) = -45.0/256.0;
-      prolongation[3](45,46) = -1.0/16.0;
-      prolongation[3](45,54) = -1.0/16.0;
-      prolongation[3](45,60) = 9.0/16.0;
-      prolongation[3](45,61) = 9.0/16.0;
-      prolongation[3](46,0) = -5.0/4096.0;
-      prolongation[3](46,1) = -5.0/4096.0;
-      prolongation[3](46,2) = -25.0/4096.0;
-      prolongation[3](46,3) = -25.0/4096.0;
-      prolongation[3](46,4) = -1.0/4096.0;
-      prolongation[3](46,5) = -1.0/4096.0;
-      prolongation[3](46,6) = -5.0/4096.0;
-      prolongation[3](46,7) = -5.0/4096.0;
-      prolongation[3](46,8) = 45.0/4096.0;
-      prolongation[3](46,9) = 45.0/4096.0;
-      prolongation[3](46,10) = 25.0/4096.0;
-      prolongation[3](46,11) = -75.0/4096.0;
-      prolongation[3](46,12) = 225.0/4096.0;
-      prolongation[3](46,13) = 225.0/4096.0;
-      prolongation[3](46,14) = 25.0/4096.0;
-      prolongation[3](46,15) = -75.0/4096.0;
-      prolongation[3](46,16) = 9.0/4096.0;
-      prolongation[3](46,17) = 9.0/4096.0;
-      prolongation[3](46,18) = 5.0/4096.0;
-      prolongation[3](46,19) = -15.0/4096.0;
-      prolongation[3](46,20) = 45.0/4096.0;
-      prolongation[3](46,21) = 45.0/4096.0;
-      prolongation[3](46,22) = 5.0/4096.0;
-      prolongation[3](46,23) = -15.0/4096.0;
-      prolongation[3](46,24) = -15.0/4096.0;
-      prolongation[3](46,25) = 5.0/4096.0;
-      prolongation[3](46,26) = -15.0/4096.0;
-      prolongation[3](46,27) = 5.0/4096.0;
-      prolongation[3](46,28) = -75.0/4096.0;
-      prolongation[3](46,29) = 25.0/4096.0;
-      prolongation[3](46,30) = -75.0/4096.0;
-      prolongation[3](46,31) = 25.0/4096.0;
-      prolongation[3](46,32) = -225.0/4096.0;
-      prolongation[3](46,33) = -225.0/4096.0;
-      prolongation[3](46,34) = 675.0/4096.0;
-      prolongation[3](46,35) = 675.0/4096.0;
-      prolongation[3](46,36) = -45.0/4096.0;
-      prolongation[3](46,37) = -45.0/4096.0;
-      prolongation[3](46,38) = 135.0/4096.0;
-      prolongation[3](46,39) = 135.0/4096.0;
-      prolongation[3](46,40) = 135.0/4096.0;
-      prolongation[3](46,41) = 135.0/4096.0;
-      prolongation[3](46,42) = -45.0/4096.0;
-      prolongation[3](46,43) = -45.0/4096.0;
-      prolongation[3](46,44) = 75.0/4096.0;
-      prolongation[3](46,45) = -25.0/4096.0;
-      prolongation[3](46,46) = -225.0/4096.0;
-      prolongation[3](46,47) = 75.0/4096.0;
-      prolongation[3](46,48) = 675.0/4096.0;
-      prolongation[3](46,49) = 675.0/4096.0;
-      prolongation[3](46,50) = -225.0/4096.0;
-      prolongation[3](46,51) = -225.0/4096.0;
-      prolongation[3](46,52) = 75.0/4096.0;
-      prolongation[3](46,53) = -25.0/4096.0;
-      prolongation[3](46,54) = -225.0/4096.0;
-      prolongation[3](46,55) = 75.0/4096.0;
-      prolongation[3](46,56) = -675.0/4096.0;
-      prolongation[3](46,57) = -675.0/4096.0;
-      prolongation[3](46,58) = 225.0/4096.0;
-      prolongation[3](46,59) = 225.0/4096.0;
-      prolongation[3](46,60) = 2025.0/4096.0;
-      prolongation[3](46,61) = 2025.0/4096.0;
-      prolongation[3](46,62) = -675.0/4096.0;
-      prolongation[3](46,63) = -675.0/4096.0;
-      prolongation[3](47,24) = -1.0/256.0;
-      prolongation[3](47,26) = -1.0/256.0;
-      prolongation[3](47,28) = -5.0/256.0;
-      prolongation[3](47,30) = -5.0/256.0;
-      prolongation[3](47,40) = 9.0/256.0;
-      prolongation[3](47,41) = 9.0/256.0;
-      prolongation[3](47,44) = 5.0/256.0;
-      prolongation[3](47,46) = -15.0/256.0;
-      prolongation[3](47,48) = 45.0/256.0;
-      prolongation[3](47,49) = 45.0/256.0;
-      prolongation[3](47,52) = 5.0/256.0;
-      prolongation[3](47,54) = -15.0/256.0;
-      prolongation[3](47,56) = -45.0/256.0;
-      prolongation[3](47,57) = -45.0/256.0;
-      prolongation[3](47,60) = 135.0/256.0;
-      prolongation[3](47,61) = 135.0/256.0;
-      prolongation[3](48,2) = 5.0/256.0;
-      prolongation[3](48,3) = 25.0/256.0;
-      prolongation[3](48,6) = 1.0/256.0;
-      prolongation[3](48,7) = 5.0/256.0;
-      prolongation[3](48,12) = 75.0/256.0;
-      prolongation[3](48,13) = -25.0/256.0;
-      prolongation[3](48,20) = 15.0/256.0;
-      prolongation[3](48,21) = -5.0/256.0;
-      prolongation[3](48,28) = 15.0/256.0;
-      prolongation[3](48,29) = -5.0/256.0;
-      prolongation[3](48,30) = 75.0/256.0;
-      prolongation[3](48,31) = -25.0/256.0;
-      prolongation[3](48,48) = 225.0/256.0;
-      prolongation[3](48,49) = -75.0/256.0;
-      prolongation[3](48,50) = -75.0/256.0;
-      prolongation[3](48,51) = 25.0/256.0;
-      prolongation[3](49,12) = 5.0/16.0;
-      prolongation[3](49,20) = 1.0/16.0;
-      prolongation[3](49,48) = 15.0/16.0;
-      prolongation[3](49,50) = -5.0/16.0;
-      prolongation[3](50,28) = 1.0/16.0;
-      prolongation[3](50,30) = 5.0/16.0;
-      prolongation[3](50,48) = 15.0/16.0;
-      prolongation[3](50,49) = -5.0/16.0;
-      prolongation[3](51,48) = 1.0;
-      prolongation[3](52,15) = 5.0/16.0;
-      prolongation[3](52,23) = 1.0/16.0;
-      prolongation[3](52,54) = 15.0/16.0;
-      prolongation[3](52,55) = -5.0/16.0;
-      prolongation[3](53,54) = 1.0;
-      prolongation[3](54,0) = 5.0/256.0;
-      prolongation[3](54,3) = 25.0/256.0;
-      prolongation[3](54,4) = 1.0/256.0;
-      prolongation[3](54,7) = 5.0/256.0;
-      prolongation[3](54,14) = -25.0/256.0;
-      prolongation[3](54,15) = 75.0/256.0;
-      prolongation[3](54,22) = -5.0/256.0;
-      prolongation[3](54,23) = 15.0/256.0;
-      prolongation[3](54,24) = 15.0/256.0;
-      prolongation[3](54,25) = -5.0/256.0;
-      prolongation[3](54,30) = 75.0/256.0;
-      prolongation[3](54,31) = -25.0/256.0;
-      prolongation[3](54,52) = -75.0/256.0;
-      prolongation[3](54,53) = 25.0/256.0;
-      prolongation[3](54,54) = 225.0/256.0;
-      prolongation[3](54,55) = -75.0/256.0;
-      prolongation[3](55,24) = 1.0/16.0;
-      prolongation[3](55,30) = 5.0/16.0;
-      prolongation[3](55,52) = -5.0/16.0;
-      prolongation[3](55,54) = 15.0/16.0;
-      prolongation[3](56,11) = 5.0/256.0;
-      prolongation[3](56,15) = 25.0/256.0;
-      prolongation[3](56,19) = 1.0/256.0;
-      prolongation[3](56,23) = 5.0/256.0;
-      prolongation[3](56,34) = 75.0/256.0;
-      prolongation[3](56,35) = -25.0/256.0;
-      prolongation[3](56,38) = 15.0/256.0;
-      prolongation[3](56,39) = -5.0/256.0;
-      prolongation[3](56,46) = 15.0/256.0;
-      prolongation[3](56,47) = -5.0/256.0;
-      prolongation[3](56,54) = 75.0/256.0;
-      prolongation[3](56,55) = -25.0/256.0;
-      prolongation[3](56,60) = 225.0/256.0;
-      prolongation[3](56,61) = -75.0/256.0;
-      prolongation[3](56,62) = -75.0/256.0;
-      prolongation[3](56,63) = 25.0/256.0;
-      prolongation[3](57,34) = 5.0/16.0;
-      prolongation[3](57,38) = 1.0/16.0;
-      prolongation[3](57,60) = 15.0/16.0;
-      prolongation[3](57,62) = -5.0/16.0;
-      prolongation[3](58,46) = 1.0/16.0;
-      prolongation[3](58,54) = 5.0/16.0;
-      prolongation[3](58,60) = 15.0/16.0;
-      prolongation[3](58,61) = -5.0/16.0;
-      prolongation[3](59,60) = 1.0;
-      prolongation[3](60,0) = 25.0/4096.0;
-      prolongation[3](60,1) = 5.0/4096.0;
-      prolongation[3](60,2) = 25.0/4096.0;
-      prolongation[3](60,3) = 125.0/4096.0;
-      prolongation[3](60,4) = 5.0/4096.0;
-      prolongation[3](60,5) = 1.0/4096.0;
-      prolongation[3](60,6) = 5.0/4096.0;
-      prolongation[3](60,7) = 25.0/4096.0;
-      prolongation[3](60,8) = 75.0/4096.0;
-      prolongation[3](60,9) = -25.0/4096.0;
-      prolongation[3](60,10) = -25.0/4096.0;
-      prolongation[3](60,11) = 75.0/4096.0;
-      prolongation[3](60,12) = 375.0/4096.0;
-      prolongation[3](60,13) = -125.0/4096.0;
-      prolongation[3](60,14) = -125.0/4096.0;
-      prolongation[3](60,15) = 375.0/4096.0;
-      prolongation[3](60,16) = 15.0/4096.0;
-      prolongation[3](60,17) = -5.0/4096.0;
-      prolongation[3](60,18) = -5.0/4096.0;
-      prolongation[3](60,19) = 15.0/4096.0;
-      prolongation[3](60,20) = 75.0/4096.0;
-      prolongation[3](60,21) = -25.0/4096.0;
-      prolongation[3](60,22) = -25.0/4096.0;
-      prolongation[3](60,23) = 75.0/4096.0;
-      prolongation[3](60,24) = 75.0/4096.0;
-      prolongation[3](60,25) = -25.0/4096.0;
-      prolongation[3](60,26) = 15.0/4096.0;
-      prolongation[3](60,27) = -5.0/4096.0;
-      prolongation[3](60,28) = 75.0/4096.0;
-      prolongation[3](60,29) = -25.0/4096.0;
-      prolongation[3](60,30) = 375.0/4096.0;
-      prolongation[3](60,31) = -125.0/4096.0;
-      prolongation[3](60,32) = -375.0/4096.0;
-      prolongation[3](60,33) = 125.0/4096.0;
-      prolongation[3](60,34) = 1125.0/4096.0;
-      prolongation[3](60,35) = -375.0/4096.0;
-      prolongation[3](60,36) = -75.0/4096.0;
-      prolongation[3](60,37) = 25.0/4096.0;
-      prolongation[3](60,38) = 225.0/4096.0;
-      prolongation[3](60,39) = -75.0/4096.0;
-      prolongation[3](60,40) = 225.0/4096.0;
-      prolongation[3](60,41) = -75.0/4096.0;
-      prolongation[3](60,42) = -75.0/4096.0;
-      prolongation[3](60,43) = 25.0/4096.0;
-      prolongation[3](60,44) = -75.0/4096.0;
-      prolongation[3](60,45) = 25.0/4096.0;
-      prolongation[3](60,46) = 225.0/4096.0;
-      prolongation[3](60,47) = -75.0/4096.0;
-      prolongation[3](60,48) = 1125.0/4096.0;
-      prolongation[3](60,49) = -375.0/4096.0;
-      prolongation[3](60,50) = -375.0/4096.0;
-      prolongation[3](60,51) = 125.0/4096.0;
-      prolongation[3](60,52) = -375.0/4096.0;
-      prolongation[3](60,53) = 125.0/4096.0;
-      prolongation[3](60,54) = 1125.0/4096.0;
-      prolongation[3](60,55) = -375.0/4096.0;
-      prolongation[3](60,56) = -1125.0/4096.0;
-      prolongation[3](60,57) = 375.0/4096.0;
-      prolongation[3](60,58) = 375.0/4096.0;
-      prolongation[3](60,59) = -125.0/4096.0;
-      prolongation[3](60,60) = 3375.0/4096.0;
-      prolongation[3](60,61) = -1125.0/4096.0;
-      prolongation[3](60,62) = -1125.0/4096.0;
-      prolongation[3](60,63) = 375.0/4096.0;
-      prolongation[3](61,8) = 5.0/256.0;
-      prolongation[3](61,12) = 25.0/256.0;
-      prolongation[3](61,16) = 1.0/256.0;
-      prolongation[3](61,20) = 5.0/256.0;
-      prolongation[3](61,32) = -25.0/256.0;
-      prolongation[3](61,34) = 75.0/256.0;
-      prolongation[3](61,36) = -5.0/256.0;
-      prolongation[3](61,38) = 15.0/256.0;
-      prolongation[3](61,40) = 15.0/256.0;
-      prolongation[3](61,42) = -5.0/256.0;
-      prolongation[3](61,48) = 75.0/256.0;
-      prolongation[3](61,50) = -25.0/256.0;
-      prolongation[3](61,56) = -75.0/256.0;
-      prolongation[3](61,58) = 25.0/256.0;
-      prolongation[3](61,60) = 225.0/256.0;
-      prolongation[3](61,62) = -75.0/256.0;
-      prolongation[3](62,24) = 5.0/256.0;
-      prolongation[3](62,26) = 1.0/256.0;
-      prolongation[3](62,28) = 5.0/256.0;
-      prolongation[3](62,30) = 25.0/256.0;
-      prolongation[3](62,40) = 15.0/256.0;
-      prolongation[3](62,41) = -5.0/256.0;
-      prolongation[3](62,44) = -5.0/256.0;
-      prolongation[3](62,46) = 15.0/256.0;
-      prolongation[3](62,48) = 75.0/256.0;
-      prolongation[3](62,49) = -25.0/256.0;
-      prolongation[3](62,52) = -25.0/256.0;
-      prolongation[3](62,54) = 75.0/256.0;
-      prolongation[3](62,56) = -75.0/256.0;
-      prolongation[3](62,57) = 25.0/256.0;
-      prolongation[3](62,60) = 225.0/256.0;
-      prolongation[3](62,61) = -75.0/256.0;
-      prolongation[3](63,40) = 1.0/16.0;
-      prolongation[3](63,48) = 5.0/16.0;
-      prolongation[3](63,56) = -5.0/16.0;
-      prolongation[3](63,60) = 15.0/16.0;
-      prolongation[4](0,0) = -1.0/16.0;
-      prolongation[4](0,4) = -1.0/16.0;
-      prolongation[4](0,24) = 9.0/16.0;
-      prolongation[4](0,25) = 9.0/16.0;
-      prolongation[4](1,0) = 1.0/256.0;
-      prolongation[4](1,1) = 1.0/256.0;
-      prolongation[4](1,4) = 1.0/256.0;
-      prolongation[4](1,5) = 1.0/256.0;
-      prolongation[4](1,8) = -9.0/256.0;
-      prolongation[4](1,9) = -9.0/256.0;
-      prolongation[4](1,16) = -9.0/256.0;
-      prolongation[4](1,17) = -9.0/256.0;
-      prolongation[4](1,24) = -9.0/256.0;
-      prolongation[4](1,25) = -9.0/256.0;
-      prolongation[4](1,26) = -9.0/256.0;
-      prolongation[4](1,27) = -9.0/256.0;
-      prolongation[4](1,40) = 81.0/256.0;
-      prolongation[4](1,41) = 81.0/256.0;
-      prolongation[4](1,42) = 81.0/256.0;
-      prolongation[4](1,43) = 81.0/256.0;
-      prolongation[4](2,0) = -1.0/4096.0;
-      prolongation[4](2,1) = -1.0/4096.0;
-      prolongation[4](2,2) = -1.0/4096.0;
-      prolongation[4](2,3) = -1.0/4096.0;
-      prolongation[4](2,4) = -1.0/4096.0;
-      prolongation[4](2,5) = -1.0/4096.0;
-      prolongation[4](2,6) = -1.0/4096.0;
-      prolongation[4](2,7) = -1.0/4096.0;
-      prolongation[4](2,8) = 9.0/4096.0;
-      prolongation[4](2,9) = 9.0/4096.0;
-      prolongation[4](2,10) = 9.0/4096.0;
-      prolongation[4](2,11) = 9.0/4096.0;
-      prolongation[4](2,12) = 9.0/4096.0;
-      prolongation[4](2,13) = 9.0/4096.0;
-      prolongation[4](2,14) = 9.0/4096.0;
-      prolongation[4](2,15) = 9.0/4096.0;
-      prolongation[4](2,16) = 9.0/4096.0;
-      prolongation[4](2,17) = 9.0/4096.0;
-      prolongation[4](2,18) = 9.0/4096.0;
-      prolongation[4](2,19) = 9.0/4096.0;
-      prolongation[4](2,20) = 9.0/4096.0;
-      prolongation[4](2,21) = 9.0/4096.0;
-      prolongation[4](2,22) = 9.0/4096.0;
-      prolongation[4](2,23) = 9.0/4096.0;
-      prolongation[4](2,24) = 9.0/4096.0;
-      prolongation[4](2,25) = 9.0/4096.0;
-      prolongation[4](2,26) = 9.0/4096.0;
-      prolongation[4](2,27) = 9.0/4096.0;
-      prolongation[4](2,28) = 9.0/4096.0;
-      prolongation[4](2,29) = 9.0/4096.0;
-      prolongation[4](2,30) = 9.0/4096.0;
-      prolongation[4](2,31) = 9.0/4096.0;
-      prolongation[4](2,32) = -81.0/4096.0;
-      prolongation[4](2,33) = -81.0/4096.0;
-      prolongation[4](2,34) = -81.0/4096.0;
-      prolongation[4](2,35) = -81.0/4096.0;
-      prolongation[4](2,36) = -81.0/4096.0;
-      prolongation[4](2,37) = -81.0/4096.0;
-      prolongation[4](2,38) = -81.0/4096.0;
-      prolongation[4](2,39) = -81.0/4096.0;
-      prolongation[4](2,40) = -81.0/4096.0;
-      prolongation[4](2,41) = -81.0/4096.0;
-      prolongation[4](2,42) = -81.0/4096.0;
-      prolongation[4](2,43) = -81.0/4096.0;
-      prolongation[4](2,44) = -81.0/4096.0;
-      prolongation[4](2,45) = -81.0/4096.0;
-      prolongation[4](2,46) = -81.0/4096.0;
-      prolongation[4](2,47) = -81.0/4096.0;
-      prolongation[4](2,48) = -81.0/4096.0;
-      prolongation[4](2,49) = -81.0/4096.0;
-      prolongation[4](2,50) = -81.0/4096.0;
-      prolongation[4](2,51) = -81.0/4096.0;
-      prolongation[4](2,52) = -81.0/4096.0;
-      prolongation[4](2,53) = -81.0/4096.0;
-      prolongation[4](2,54) = -81.0/4096.0;
-      prolongation[4](2,55) = -81.0/4096.0;
-      prolongation[4](2,56) = 729.0/4096.0;
-      prolongation[4](2,57) = 729.0/4096.0;
-      prolongation[4](2,58) = 729.0/4096.0;
-      prolongation[4](2,59) = 729.0/4096.0;
-      prolongation[4](2,60) = 729.0/4096.0;
-      prolongation[4](2,61) = 729.0/4096.0;
-      prolongation[4](2,62) = 729.0/4096.0;
-      prolongation[4](2,63) = 729.0/4096.0;
-      prolongation[4](3,0) = 1.0/256.0;
-      prolongation[4](3,3) = 1.0/256.0;
-      prolongation[4](3,4) = 1.0/256.0;
-      prolongation[4](3,7) = 1.0/256.0;
-      prolongation[4](3,14) = -9.0/256.0;
-      prolongation[4](3,15) = -9.0/256.0;
-      prolongation[4](3,22) = -9.0/256.0;
-      prolongation[4](3,23) = -9.0/256.0;
-      prolongation[4](3,24) = -9.0/256.0;
-      prolongation[4](3,25) = -9.0/256.0;
-      prolongation[4](3,30) = -9.0/256.0;
-      prolongation[4](3,31) = -9.0/256.0;
-      prolongation[4](3,52) = 81.0/256.0;
-      prolongation[4](3,53) = 81.0/256.0;
-      prolongation[4](3,54) = 81.0/256.0;
-      prolongation[4](3,55) = 81.0/256.0;
-      prolongation[4](4,4) = 1.0;
-      prolongation[4](5,4) = -1.0/16.0;
-      prolongation[4](5,5) = -1.0/16.0;
-      prolongation[4](5,16) = 9.0/16.0;
-      prolongation[4](5,17) = 9.0/16.0;
-      prolongation[4](6,4) = 1.0/256.0;
-      prolongation[4](6,5) = 1.0/256.0;
-      prolongation[4](6,6) = 1.0/256.0;
-      prolongation[4](6,7) = 1.0/256.0;
-      prolongation[4](6,16) = -9.0/256.0;
-      prolongation[4](6,17) = -9.0/256.0;
-      prolongation[4](6,18) = -9.0/256.0;
-      prolongation[4](6,19) = -9.0/256.0;
-      prolongation[4](6,20) = -9.0/256.0;
-      prolongation[4](6,21) = -9.0/256.0;
-      prolongation[4](6,22) = -9.0/256.0;
-      prolongation[4](6,23) = -9.0/256.0;
-      prolongation[4](6,36) = 81.0/256.0;
-      prolongation[4](6,37) = 81.0/256.0;
-      prolongation[4](6,38) = 81.0/256.0;
-      prolongation[4](6,39) = 81.0/256.0;
-      prolongation[4](7,4) = -1.0/16.0;
-      prolongation[4](7,7) = -1.0/16.0;
-      prolongation[4](7,22) = 9.0/16.0;
-      prolongation[4](7,23) = 9.0/16.0;
-      prolongation[4](8,0) = -5.0/256.0;
-      prolongation[4](8,1) = -1.0/256.0;
-      prolongation[4](8,4) = -5.0/256.0;
-      prolongation[4](8,5) = -1.0/256.0;
-      prolongation[4](8,8) = -15.0/256.0;
-      prolongation[4](8,9) = 5.0/256.0;
-      prolongation[4](8,16) = -15.0/256.0;
-      prolongation[4](8,17) = 5.0/256.0;
-      prolongation[4](8,24) = 45.0/256.0;
-      prolongation[4](8,25) = 45.0/256.0;
-      prolongation[4](8,26) = 9.0/256.0;
-      prolongation[4](8,27) = 9.0/256.0;
-      prolongation[4](8,40) = 135.0/256.0;
-      prolongation[4](8,41) = -45.0/256.0;
-      prolongation[4](8,42) = 135.0/256.0;
-      prolongation[4](8,43) = -45.0/256.0;
-      prolongation[4](9,8) = -1.0/16.0;
-      prolongation[4](9,16) = -1.0/16.0;
-      prolongation[4](9,40) = 9.0/16.0;
-      prolongation[4](9,42) = 9.0/16.0;
-      prolongation[4](10,0) = 5.0/4096.0;
-      prolongation[4](10,1) = 5.0/4096.0;
-      prolongation[4](10,2) = 1.0/4096.0;
-      prolongation[4](10,3) = 1.0/4096.0;
-      prolongation[4](10,4) = 5.0/4096.0;
-      prolongation[4](10,5) = 5.0/4096.0;
-      prolongation[4](10,6) = 1.0/4096.0;
-      prolongation[4](10,7) = 1.0/4096.0;
-      prolongation[4](10,8) = -45.0/4096.0;
-      prolongation[4](10,9) = -45.0/4096.0;
-      prolongation[4](10,10) = 15.0/4096.0;
-      prolongation[4](10,11) = -5.0/4096.0;
-      prolongation[4](10,12) = -9.0/4096.0;
-      prolongation[4](10,13) = -9.0/4096.0;
-      prolongation[4](10,14) = 15.0/4096.0;
-      prolongation[4](10,15) = -5.0/4096.0;
-      prolongation[4](10,16) = -45.0/4096.0;
-      prolongation[4](10,17) = -45.0/4096.0;
-      prolongation[4](10,18) = 15.0/4096.0;
-      prolongation[4](10,19) = -5.0/4096.0;
-      prolongation[4](10,20) = -9.0/4096.0;
-      prolongation[4](10,21) = -9.0/4096.0;
-      prolongation[4](10,22) = 15.0/4096.0;
-      prolongation[4](10,23) = -5.0/4096.0;
-      prolongation[4](10,24) = -45.0/4096.0;
-      prolongation[4](10,25) = -45.0/4096.0;
-      prolongation[4](10,26) = -45.0/4096.0;
-      prolongation[4](10,27) = -45.0/4096.0;
-      prolongation[4](10,28) = -9.0/4096.0;
-      prolongation[4](10,29) = -9.0/4096.0;
-      prolongation[4](10,30) = -9.0/4096.0;
-      prolongation[4](10,31) = -9.0/4096.0;
-      prolongation[4](10,32) = -135.0/4096.0;
-      prolongation[4](10,33) = -135.0/4096.0;
-      prolongation[4](10,34) = 45.0/4096.0;
-      prolongation[4](10,35) = 45.0/4096.0;
-      prolongation[4](10,36) = -135.0/4096.0;
-      prolongation[4](10,37) = -135.0/4096.0;
-      prolongation[4](10,38) = 45.0/4096.0;
-      prolongation[4](10,39) = 45.0/4096.0;
-      prolongation[4](10,40) = 405.0/4096.0;
-      prolongation[4](10,41) = 405.0/4096.0;
-      prolongation[4](10,42) = 405.0/4096.0;
-      prolongation[4](10,43) = 405.0/4096.0;
-      prolongation[4](10,44) = -135.0/4096.0;
-      prolongation[4](10,45) = -135.0/4096.0;
-      prolongation[4](10,46) = 45.0/4096.0;
-      prolongation[4](10,47) = 45.0/4096.0;
-      prolongation[4](10,48) = 81.0/4096.0;
-      prolongation[4](10,49) = 81.0/4096.0;
-      prolongation[4](10,50) = 81.0/4096.0;
-      prolongation[4](10,51) = 81.0/4096.0;
-      prolongation[4](10,52) = -135.0/4096.0;
-      prolongation[4](10,53) = -135.0/4096.0;
-      prolongation[4](10,54) = 45.0/4096.0;
-      prolongation[4](10,55) = 45.0/4096.0;
-      prolongation[4](10,56) = 1215.0/4096.0;
-      prolongation[4](10,57) = 1215.0/4096.0;
-      prolongation[4](10,58) = 1215.0/4096.0;
-      prolongation[4](10,59) = 1215.0/4096.0;
-      prolongation[4](10,60) = -405.0/4096.0;
-      prolongation[4](10,61) = -405.0/4096.0;
-      prolongation[4](10,62) = -405.0/4096.0;
-      prolongation[4](10,63) = -405.0/4096.0;
-      prolongation[4](11,10) = 1.0/256.0;
-      prolongation[4](11,14) = 1.0/256.0;
-      prolongation[4](11,18) = 1.0/256.0;
-      prolongation[4](11,22) = 1.0/256.0;
-      prolongation[4](11,32) = -9.0/256.0;
-      prolongation[4](11,33) = -9.0/256.0;
-      prolongation[4](11,36) = -9.0/256.0;
-      prolongation[4](11,37) = -9.0/256.0;
-      prolongation[4](11,44) = -9.0/256.0;
-      prolongation[4](11,45) = -9.0/256.0;
-      prolongation[4](11,52) = -9.0/256.0;
-      prolongation[4](11,53) = -9.0/256.0;
-      prolongation[4](11,56) = 81.0/256.0;
-      prolongation[4](11,57) = 81.0/256.0;
-      prolongation[4](11,58) = 81.0/256.0;
-      prolongation[4](11,59) = 81.0/256.0;
-      prolongation[4](12,0) = 5.0/4096.0;
-      prolongation[4](12,1) = 1.0/4096.0;
-      prolongation[4](12,2) = 1.0/4096.0;
-      prolongation[4](12,3) = 5.0/4096.0;
-      prolongation[4](12,4) = 5.0/4096.0;
-      prolongation[4](12,5) = 1.0/4096.0;
-      prolongation[4](12,6) = 1.0/4096.0;
-      prolongation[4](12,7) = 5.0/4096.0;
-      prolongation[4](12,8) = 15.0/4096.0;
-      prolongation[4](12,9) = -5.0/4096.0;
-      prolongation[4](12,10) = -9.0/4096.0;
-      prolongation[4](12,11) = -9.0/4096.0;
-      prolongation[4](12,12) = 15.0/4096.0;
-      prolongation[4](12,13) = -5.0/4096.0;
-      prolongation[4](12,14) = -45.0/4096.0;
-      prolongation[4](12,15) = -45.0/4096.0;
-      prolongation[4](12,16) = 15.0/4096.0;
-      prolongation[4](12,17) = -5.0/4096.0;
-      prolongation[4](12,18) = -9.0/4096.0;
-      prolongation[4](12,19) = -9.0/4096.0;
-      prolongation[4](12,20) = 15.0/4096.0;
-      prolongation[4](12,21) = -5.0/4096.0;
-      prolongation[4](12,22) = -45.0/4096.0;
-      prolongation[4](12,23) = -45.0/4096.0;
-      prolongation[4](12,24) = -45.0/4096.0;
-      prolongation[4](12,25) = -45.0/4096.0;
-      prolongation[4](12,26) = -9.0/4096.0;
-      prolongation[4](12,27) = -9.0/4096.0;
-      prolongation[4](12,28) = -9.0/4096.0;
-      prolongation[4](12,29) = -9.0/4096.0;
-      prolongation[4](12,30) = -45.0/4096.0;
-      prolongation[4](12,31) = -45.0/4096.0;
-      prolongation[4](12,32) = -135.0/4096.0;
-      prolongation[4](12,33) = 45.0/4096.0;
-      prolongation[4](12,34) = -135.0/4096.0;
-      prolongation[4](12,35) = 45.0/4096.0;
-      prolongation[4](12,36) = -135.0/4096.0;
-      prolongation[4](12,37) = 45.0/4096.0;
-      prolongation[4](12,38) = -135.0/4096.0;
-      prolongation[4](12,39) = 45.0/4096.0;
-      prolongation[4](12,40) = -135.0/4096.0;
-      prolongation[4](12,41) = 45.0/4096.0;
-      prolongation[4](12,42) = -135.0/4096.0;
-      prolongation[4](12,43) = 45.0/4096.0;
-      prolongation[4](12,44) = 81.0/4096.0;
-      prolongation[4](12,45) = 81.0/4096.0;
-      prolongation[4](12,46) = 81.0/4096.0;
-      prolongation[4](12,47) = 81.0/4096.0;
-      prolongation[4](12,48) = -135.0/4096.0;
-      prolongation[4](12,49) = 45.0/4096.0;
-      prolongation[4](12,50) = -135.0/4096.0;
-      prolongation[4](12,51) = 45.0/4096.0;
-      prolongation[4](12,52) = 405.0/4096.0;
-      prolongation[4](12,53) = 405.0/4096.0;
-      prolongation[4](12,54) = 405.0/4096.0;
-      prolongation[4](12,55) = 405.0/4096.0;
-      prolongation[4](12,56) = 1215.0/4096.0;
-      prolongation[4](12,57) = -405.0/4096.0;
-      prolongation[4](12,58) = 1215.0/4096.0;
-      prolongation[4](12,59) = -405.0/4096.0;
-      prolongation[4](12,60) = 1215.0/4096.0;
-      prolongation[4](12,61) = -405.0/4096.0;
-      prolongation[4](12,62) = 1215.0/4096.0;
-      prolongation[4](12,63) = -405.0/4096.0;
-      prolongation[4](13,8) = 1.0/256.0;
-      prolongation[4](13,12) = 1.0/256.0;
-      prolongation[4](13,16) = 1.0/256.0;
-      prolongation[4](13,20) = 1.0/256.0;
-      prolongation[4](13,32) = -9.0/256.0;
-      prolongation[4](13,34) = -9.0/256.0;
-      prolongation[4](13,36) = -9.0/256.0;
-      prolongation[4](13,38) = -9.0/256.0;
-      prolongation[4](13,40) = -9.0/256.0;
-      prolongation[4](13,42) = -9.0/256.0;
-      prolongation[4](13,48) = -9.0/256.0;
-      prolongation[4](13,50) = -9.0/256.0;
-      prolongation[4](13,56) = 81.0/256.0;
-      prolongation[4](13,58) = 81.0/256.0;
-      prolongation[4](13,60) = 81.0/256.0;
-      prolongation[4](13,62) = 81.0/256.0;
-      prolongation[4](14,0) = -5.0/256.0;
-      prolongation[4](14,3) = -1.0/256.0;
-      prolongation[4](14,4) = -5.0/256.0;
-      prolongation[4](14,7) = -1.0/256.0;
-      prolongation[4](14,14) = -15.0/256.0;
-      prolongation[4](14,15) = 5.0/256.0;
-      prolongation[4](14,22) = -15.0/256.0;
-      prolongation[4](14,23) = 5.0/256.0;
-      prolongation[4](14,24) = 45.0/256.0;
-      prolongation[4](14,25) = 45.0/256.0;
-      prolongation[4](14,30) = 9.0/256.0;
-      prolongation[4](14,31) = 9.0/256.0;
-      prolongation[4](14,52) = 135.0/256.0;
-      prolongation[4](14,53) = 135.0/256.0;
-      prolongation[4](14,54) = -45.0/256.0;
-      prolongation[4](14,55) = -45.0/256.0;
-      prolongation[4](15,14) = -1.0/16.0;
-      prolongation[4](15,22) = -1.0/16.0;
-      prolongation[4](15,52) = 9.0/16.0;
-      prolongation[4](15,53) = 9.0/16.0;
-      prolongation[4](16,4) = 5.0/16.0;
-      prolongation[4](16,5) = 1.0/16.0;
-      prolongation[4](16,16) = 15.0/16.0;
-      prolongation[4](16,17) = -5.0/16.0;
-      prolongation[4](17,16) = 1.0;
-      prolongation[4](18,4) = -5.0/256.0;
-      prolongation[4](18,5) = -5.0/256.0;
-      prolongation[4](18,6) = -1.0/256.0;
-      prolongation[4](18,7) = -1.0/256.0;
-      prolongation[4](18,16) = 45.0/256.0;
-      prolongation[4](18,17) = 45.0/256.0;
-      prolongation[4](18,18) = -15.0/256.0;
-      prolongation[4](18,19) = 5.0/256.0;
-      prolongation[4](18,20) = 9.0/256.0;
-      prolongation[4](18,21) = 9.0/256.0;
-      prolongation[4](18,22) = -15.0/256.0;
-      prolongation[4](18,23) = 5.0/256.0;
-      prolongation[4](18,36) = 135.0/256.0;
-      prolongation[4](18,37) = 135.0/256.0;
-      prolongation[4](18,38) = -45.0/256.0;
-      prolongation[4](18,39) = -45.0/256.0;
-      prolongation[4](19,18) = -1.0/16.0;
-      prolongation[4](19,22) = -1.0/16.0;
-      prolongation[4](19,36) = 9.0/16.0;
-      prolongation[4](19,37) = 9.0/16.0;
-      prolongation[4](20,4) = -5.0/256.0;
-      prolongation[4](20,5) = -1.0/256.0;
-      prolongation[4](20,6) = -1.0/256.0;
-      prolongation[4](20,7) = -5.0/256.0;
-      prolongation[4](20,16) = -15.0/256.0;
-      prolongation[4](20,17) = 5.0/256.0;
-      prolongation[4](20,18) = 9.0/256.0;
-      prolongation[4](20,19) = 9.0/256.0;
-      prolongation[4](20,20) = -15.0/256.0;
-      prolongation[4](20,21) = 5.0/256.0;
-      prolongation[4](20,22) = 45.0/256.0;
-      prolongation[4](20,23) = 45.0/256.0;
-      prolongation[4](20,36) = 135.0/256.0;
-      prolongation[4](20,37) = -45.0/256.0;
-      prolongation[4](20,38) = 135.0/256.0;
-      prolongation[4](20,39) = -45.0/256.0;
-      prolongation[4](21,16) = -1.0/16.0;
-      prolongation[4](21,20) = -1.0/16.0;
-      prolongation[4](21,36) = 9.0/16.0;
-      prolongation[4](21,38) = 9.0/16.0;
-      prolongation[4](22,4) = 5.0/16.0;
-      prolongation[4](22,7) = 1.0/16.0;
-      prolongation[4](22,22) = 15.0/16.0;
-      prolongation[4](22,23) = -5.0/16.0;
-      prolongation[4](23,22) = 1.0;
-      prolongation[4](24,25) = 1.0;
-      prolongation[4](25,0) = 1.0/16.0;
-      prolongation[4](25,4) = 5.0/16.0;
-      prolongation[4](25,24) = -5.0/16.0;
-      prolongation[4](25,25) = 15.0/16.0;
-      prolongation[4](26,25) = -1.0/16.0;
-      prolongation[4](26,27) = -1.0/16.0;
-      prolongation[4](26,42) = 9.0/16.0;
-      prolongation[4](26,43) = 9.0/16.0;
-      prolongation[4](27,0) = -1.0/256.0;
-      prolongation[4](27,1) = -1.0/256.0;
-      prolongation[4](27,4) = -5.0/256.0;
-      prolongation[4](27,5) = -5.0/256.0;
-      prolongation[4](27,8) = 9.0/256.0;
-      prolongation[4](27,9) = 9.0/256.0;
-      prolongation[4](27,16) = 45.0/256.0;
-      prolongation[4](27,17) = 45.0/256.0;
-      prolongation[4](27,24) = 5.0/256.0;
-      prolongation[4](27,25) = -15.0/256.0;
-      prolongation[4](27,26) = 5.0/256.0;
-      prolongation[4](27,27) = -15.0/256.0;
-      prolongation[4](27,40) = -45.0/256.0;
-      prolongation[4](27,41) = -45.0/256.0;
-      prolongation[4](27,42) = 135.0/256.0;
-      prolongation[4](27,43) = 135.0/256.0;
-      prolongation[4](28,25) = 1.0/256.0;
-      prolongation[4](28,27) = 1.0/256.0;
-      prolongation[4](28,29) = 1.0/256.0;
-      prolongation[4](28,31) = 1.0/256.0;
-      prolongation[4](28,42) = -9.0/256.0;
-      prolongation[4](28,43) = -9.0/256.0;
-      prolongation[4](28,45) = -9.0/256.0;
-      prolongation[4](28,47) = -9.0/256.0;
-      prolongation[4](28,50) = -9.0/256.0;
-      prolongation[4](28,51) = -9.0/256.0;
-      prolongation[4](28,53) = -9.0/256.0;
-      prolongation[4](28,55) = -9.0/256.0;
-      prolongation[4](28,58) = 81.0/256.0;
-      prolongation[4](28,59) = 81.0/256.0;
-      prolongation[4](28,62) = 81.0/256.0;
-      prolongation[4](28,63) = 81.0/256.0;
-      prolongation[4](29,0) = 1.0/4096.0;
-      prolongation[4](29,1) = 1.0/4096.0;
-      prolongation[4](29,2) = 1.0/4096.0;
-      prolongation[4](29,3) = 1.0/4096.0;
-      prolongation[4](29,4) = 5.0/4096.0;
-      prolongation[4](29,5) = 5.0/4096.0;
-      prolongation[4](29,6) = 5.0/4096.0;
-      prolongation[4](29,7) = 5.0/4096.0;
-      prolongation[4](29,8) = -9.0/4096.0;
-      prolongation[4](29,9) = -9.0/4096.0;
-      prolongation[4](29,10) = -9.0/4096.0;
-      prolongation[4](29,11) = -9.0/4096.0;
-      prolongation[4](29,12) = -9.0/4096.0;
-      prolongation[4](29,13) = -9.0/4096.0;
-      prolongation[4](29,14) = -9.0/4096.0;
-      prolongation[4](29,15) = -9.0/4096.0;
-      prolongation[4](29,16) = -45.0/4096.0;
-      prolongation[4](29,17) = -45.0/4096.0;
-      prolongation[4](29,18) = -45.0/4096.0;
-      prolongation[4](29,19) = -45.0/4096.0;
-      prolongation[4](29,20) = -45.0/4096.0;
-      prolongation[4](29,21) = -45.0/4096.0;
-      prolongation[4](29,22) = -45.0/4096.0;
-      prolongation[4](29,23) = -45.0/4096.0;
-      prolongation[4](29,24) = -5.0/4096.0;
-      prolongation[4](29,25) = 15.0/4096.0;
-      prolongation[4](29,26) = -5.0/4096.0;
-      prolongation[4](29,27) = 15.0/4096.0;
-      prolongation[4](29,28) = -5.0/4096.0;
-      prolongation[4](29,29) = 15.0/4096.0;
-      prolongation[4](29,30) = -5.0/4096.0;
-      prolongation[4](29,31) = 15.0/4096.0;
-      prolongation[4](29,32) = 81.0/4096.0;
-      prolongation[4](29,33) = 81.0/4096.0;
-      prolongation[4](29,34) = 81.0/4096.0;
-      prolongation[4](29,35) = 81.0/4096.0;
-      prolongation[4](29,36) = 405.0/4096.0;
-      prolongation[4](29,37) = 405.0/4096.0;
-      prolongation[4](29,38) = 405.0/4096.0;
-      prolongation[4](29,39) = 405.0/4096.0;
-      prolongation[4](29,40) = 45.0/4096.0;
-      prolongation[4](29,41) = 45.0/4096.0;
-      prolongation[4](29,42) = -135.0/4096.0;
-      prolongation[4](29,43) = -135.0/4096.0;
-      prolongation[4](29,44) = 45.0/4096.0;
-      prolongation[4](29,45) = -135.0/4096.0;
-      prolongation[4](29,46) = 45.0/4096.0;
-      prolongation[4](29,47) = -135.0/4096.0;
-      prolongation[4](29,48) = 45.0/4096.0;
-      prolongation[4](29,49) = 45.0/4096.0;
-      prolongation[4](29,50) = -135.0/4096.0;
-      prolongation[4](29,51) = -135.0/4096.0;
-      prolongation[4](29,52) = 45.0/4096.0;
-      prolongation[4](29,53) = -135.0/4096.0;
-      prolongation[4](29,54) = 45.0/4096.0;
-      prolongation[4](29,55) = -135.0/4096.0;
-      prolongation[4](29,56) = -405.0/4096.0;
-      prolongation[4](29,57) = -405.0/4096.0;
-      prolongation[4](29,58) = 1215.0/4096.0;
-      prolongation[4](29,59) = 1215.0/4096.0;
-      prolongation[4](29,60) = -405.0/4096.0;
-      prolongation[4](29,61) = -405.0/4096.0;
-      prolongation[4](29,62) = 1215.0/4096.0;
-      prolongation[4](29,63) = 1215.0/4096.0;
-      prolongation[4](30,25) = -1.0/16.0;
-      prolongation[4](30,31) = -1.0/16.0;
-      prolongation[4](30,53) = 9.0/16.0;
-      prolongation[4](30,55) = 9.0/16.0;
-      prolongation[4](31,0) = -1.0/256.0;
-      prolongation[4](31,3) = -1.0/256.0;
-      prolongation[4](31,4) = -5.0/256.0;
-      prolongation[4](31,7) = -5.0/256.0;
-      prolongation[4](31,14) = 9.0/256.0;
-      prolongation[4](31,15) = 9.0/256.0;
-      prolongation[4](31,22) = 45.0/256.0;
-      prolongation[4](31,23) = 45.0/256.0;
-      prolongation[4](31,24) = 5.0/256.0;
-      prolongation[4](31,25) = -15.0/256.0;
-      prolongation[4](31,30) = 5.0/256.0;
-      prolongation[4](31,31) = -15.0/256.0;
-      prolongation[4](31,52) = -45.0/256.0;
-      prolongation[4](31,53) = 135.0/256.0;
-      prolongation[4](31,54) = -45.0/256.0;
-      prolongation[4](31,55) = 135.0/256.0;
-      prolongation[4](32,0) = -25.0/4096.0;
-      prolongation[4](32,1) = -5.0/4096.0;
-      prolongation[4](32,2) = -1.0/4096.0;
-      prolongation[4](32,3) = -5.0/4096.0;
-      prolongation[4](32,4) = -25.0/4096.0;
-      prolongation[4](32,5) = -5.0/4096.0;
-      prolongation[4](32,6) = -1.0/4096.0;
-      prolongation[4](32,7) = -5.0/4096.0;
-      prolongation[4](32,8) = -75.0/4096.0;
-      prolongation[4](32,9) = 25.0/4096.0;
-      prolongation[4](32,10) = -15.0/4096.0;
-      prolongation[4](32,11) = 5.0/4096.0;
-      prolongation[4](32,12) = -15.0/4096.0;
-      prolongation[4](32,13) = 5.0/4096.0;
-      prolongation[4](32,14) = -75.0/4096.0;
-      prolongation[4](32,15) = 25.0/4096.0;
-      prolongation[4](32,16) = -75.0/4096.0;
-      prolongation[4](32,17) = 25.0/4096.0;
-      prolongation[4](32,18) = -15.0/4096.0;
-      prolongation[4](32,19) = 5.0/4096.0;
-      prolongation[4](32,20) = -15.0/4096.0;
-      prolongation[4](32,21) = 5.0/4096.0;
-      prolongation[4](32,22) = -75.0/4096.0;
-      prolongation[4](32,23) = 25.0/4096.0;
-      prolongation[4](32,24) = 225.0/4096.0;
-      prolongation[4](32,25) = 225.0/4096.0;
-      prolongation[4](32,26) = 45.0/4096.0;
-      prolongation[4](32,27) = 45.0/4096.0;
-      prolongation[4](32,28) = 9.0/4096.0;
-      prolongation[4](32,29) = 9.0/4096.0;
-      prolongation[4](32,30) = 45.0/4096.0;
-      prolongation[4](32,31) = 45.0/4096.0;
-      prolongation[4](32,32) = -225.0/4096.0;
-      prolongation[4](32,33) = 75.0/4096.0;
-      prolongation[4](32,34) = 75.0/4096.0;
-      prolongation[4](32,35) = -25.0/4096.0;
-      prolongation[4](32,36) = -225.0/4096.0;
-      prolongation[4](32,37) = 75.0/4096.0;
-      prolongation[4](32,38) = 75.0/4096.0;
-      prolongation[4](32,39) = -25.0/4096.0;
-      prolongation[4](32,40) = 675.0/4096.0;
-      prolongation[4](32,41) = -225.0/4096.0;
-      prolongation[4](32,42) = 675.0/4096.0;
-      prolongation[4](32,43) = -225.0/4096.0;
-      prolongation[4](32,44) = 135.0/4096.0;
-      prolongation[4](32,45) = 135.0/4096.0;
-      prolongation[4](32,46) = -45.0/4096.0;
-      prolongation[4](32,47) = -45.0/4096.0;
-      prolongation[4](32,48) = 135.0/4096.0;
-      prolongation[4](32,49) = -45.0/4096.0;
-      prolongation[4](32,50) = 135.0/4096.0;
-      prolongation[4](32,51) = -45.0/4096.0;
-      prolongation[4](32,52) = 675.0/4096.0;
-      prolongation[4](32,53) = 675.0/4096.0;
-      prolongation[4](32,54) = -225.0/4096.0;
-      prolongation[4](32,55) = -225.0/4096.0;
-      prolongation[4](32,56) = 2025.0/4096.0;
-      prolongation[4](32,57) = -675.0/4096.0;
-      prolongation[4](32,58) = 2025.0/4096.0;
-      prolongation[4](32,59) = -675.0/4096.0;
-      prolongation[4](32,60) = -675.0/4096.0;
-      prolongation[4](32,61) = 225.0/4096.0;
-      prolongation[4](32,62) = -675.0/4096.0;
-      prolongation[4](32,63) = 225.0/4096.0;
-      prolongation[4](33,8) = -5.0/256.0;
-      prolongation[4](33,12) = -1.0/256.0;
-      prolongation[4](33,16) = -5.0/256.0;
-      prolongation[4](33,20) = -1.0/256.0;
-      prolongation[4](33,32) = -15.0/256.0;
-      prolongation[4](33,34) = 5.0/256.0;
-      prolongation[4](33,36) = -15.0/256.0;
-      prolongation[4](33,38) = 5.0/256.0;
-      prolongation[4](33,40) = 45.0/256.0;
-      prolongation[4](33,42) = 45.0/256.0;
-      prolongation[4](33,48) = 9.0/256.0;
-      prolongation[4](33,50) = 9.0/256.0;
-      prolongation[4](33,56) = 135.0/256.0;
-      prolongation[4](33,58) = 135.0/256.0;
-      prolongation[4](33,60) = -45.0/256.0;
-      prolongation[4](33,62) = -45.0/256.0;
-      prolongation[4](34,10) = -1.0/256.0;
-      prolongation[4](34,14) = -5.0/256.0;
-      prolongation[4](34,18) = -1.0/256.0;
-      prolongation[4](34,22) = -5.0/256.0;
-      prolongation[4](34,32) = -15.0/256.0;
-      prolongation[4](34,33) = 5.0/256.0;
-      prolongation[4](34,36) = -15.0/256.0;
-      prolongation[4](34,37) = 5.0/256.0;
-      prolongation[4](34,44) = 9.0/256.0;
-      prolongation[4](34,45) = 9.0/256.0;
-      prolongation[4](34,52) = 45.0/256.0;
-      prolongation[4](34,53) = 45.0/256.0;
-      prolongation[4](34,56) = 135.0/256.0;
-      prolongation[4](34,57) = -45.0/256.0;
-      prolongation[4](34,58) = 135.0/256.0;
-      prolongation[4](34,59) = -45.0/256.0;
-      prolongation[4](35,32) = -1.0/16.0;
-      prolongation[4](35,36) = -1.0/16.0;
-      prolongation[4](35,56) = 9.0/16.0;
-      prolongation[4](35,58) = 9.0/16.0;
-      prolongation[4](36,4) = 25.0/256.0;
-      prolongation[4](36,5) = 5.0/256.0;
-      prolongation[4](36,6) = 1.0/256.0;
-      prolongation[4](36,7) = 5.0/256.0;
-      prolongation[4](36,16) = 75.0/256.0;
-      prolongation[4](36,17) = -25.0/256.0;
-      prolongation[4](36,18) = 15.0/256.0;
-      prolongation[4](36,19) = -5.0/256.0;
-      prolongation[4](36,20) = 15.0/256.0;
-      prolongation[4](36,21) = -5.0/256.0;
-      prolongation[4](36,22) = 75.0/256.0;
-      prolongation[4](36,23) = -25.0/256.0;
-      prolongation[4](36,36) = 225.0/256.0;
-      prolongation[4](36,37) = -75.0/256.0;
-      prolongation[4](36,38) = -75.0/256.0;
-      prolongation[4](36,39) = 25.0/256.0;
-      prolongation[4](37,16) = 5.0/16.0;
-      prolongation[4](37,20) = 1.0/16.0;
-      prolongation[4](37,36) = 15.0/16.0;
-      prolongation[4](37,38) = -5.0/16.0;
-      prolongation[4](38,18) = 1.0/16.0;
-      prolongation[4](38,22) = 5.0/16.0;
-      prolongation[4](38,36) = 15.0/16.0;
-      prolongation[4](38,37) = -5.0/16.0;
-      prolongation[4](39,36) = 1.0;
-      prolongation[4](40,25) = 5.0/16.0;
-      prolongation[4](40,27) = 1.0/16.0;
-      prolongation[4](40,42) = 15.0/16.0;
-      prolongation[4](40,43) = -5.0/16.0;
-      prolongation[4](41,42) = 1.0;
-      prolongation[4](42,0) = 5.0/256.0;
-      prolongation[4](42,1) = 1.0/256.0;
-      prolongation[4](42,4) = 25.0/256.0;
-      prolongation[4](42,5) = 5.0/256.0;
-      prolongation[4](42,8) = 15.0/256.0;
-      prolongation[4](42,9) = -5.0/256.0;
-      prolongation[4](42,16) = 75.0/256.0;
-      prolongation[4](42,17) = -25.0/256.0;
-      prolongation[4](42,24) = -25.0/256.0;
-      prolongation[4](42,25) = 75.0/256.0;
-      prolongation[4](42,26) = -5.0/256.0;
-      prolongation[4](42,27) = 15.0/256.0;
-      prolongation[4](42,40) = -75.0/256.0;
-      prolongation[4](42,41) = 25.0/256.0;
-      prolongation[4](42,42) = 225.0/256.0;
-      prolongation[4](42,43) = -75.0/256.0;
-      prolongation[4](43,8) = 1.0/16.0;
-      prolongation[4](43,16) = 5.0/16.0;
-      prolongation[4](43,40) = -5.0/16.0;
-      prolongation[4](43,42) = 15.0/16.0;
-      prolongation[4](44,25) = -5.0/256.0;
-      prolongation[4](44,27) = -5.0/256.0;
-      prolongation[4](44,29) = -1.0/256.0;
-      prolongation[4](44,31) = -1.0/256.0;
-      prolongation[4](44,42) = 45.0/256.0;
-      prolongation[4](44,43) = 45.0/256.0;
-      prolongation[4](44,45) = -15.0/256.0;
-      prolongation[4](44,47) = 5.0/256.0;
-      prolongation[4](44,50) = 9.0/256.0;
-      prolongation[4](44,51) = 9.0/256.0;
-      prolongation[4](44,53) = -15.0/256.0;
-      prolongation[4](44,55) = 5.0/256.0;
-      prolongation[4](44,58) = 135.0/256.0;
-      prolongation[4](44,59) = 135.0/256.0;
-      prolongation[4](44,62) = -45.0/256.0;
-      prolongation[4](44,63) = -45.0/256.0;
-      prolongation[4](45,0) = -5.0/4096.0;
-      prolongation[4](45,1) = -5.0/4096.0;
-      prolongation[4](45,2) = -1.0/4096.0;
-      prolongation[4](45,3) = -1.0/4096.0;
-      prolongation[4](45,4) = -25.0/4096.0;
-      prolongation[4](45,5) = -25.0/4096.0;
-      prolongation[4](45,6) = -5.0/4096.0;
-      prolongation[4](45,7) = -5.0/4096.0;
-      prolongation[4](45,8) = 45.0/4096.0;
-      prolongation[4](45,9) = 45.0/4096.0;
-      prolongation[4](45,10) = -15.0/4096.0;
-      prolongation[4](45,11) = 5.0/4096.0;
-      prolongation[4](45,12) = 9.0/4096.0;
-      prolongation[4](45,13) = 9.0/4096.0;
-      prolongation[4](45,14) = -15.0/4096.0;
-      prolongation[4](45,15) = 5.0/4096.0;
-      prolongation[4](45,16) = 225.0/4096.0;
-      prolongation[4](45,17) = 225.0/4096.0;
-      prolongation[4](45,18) = -75.0/4096.0;
-      prolongation[4](45,19) = 25.0/4096.0;
-      prolongation[4](45,20) = 45.0/4096.0;
-      prolongation[4](45,21) = 45.0/4096.0;
-      prolongation[4](45,22) = -75.0/4096.0;
-      prolongation[4](45,23) = 25.0/4096.0;
-      prolongation[4](45,24) = 25.0/4096.0;
-      prolongation[4](45,25) = -75.0/4096.0;
-      prolongation[4](45,26) = 25.0/4096.0;
-      prolongation[4](45,27) = -75.0/4096.0;
-      prolongation[4](45,28) = 5.0/4096.0;
-      prolongation[4](45,29) = -15.0/4096.0;
-      prolongation[4](45,30) = 5.0/4096.0;
-      prolongation[4](45,31) = -15.0/4096.0;
-      prolongation[4](45,32) = 135.0/4096.0;
-      prolongation[4](45,33) = 135.0/4096.0;
-      prolongation[4](45,34) = -45.0/4096.0;
-      prolongation[4](45,35) = -45.0/4096.0;
-      prolongation[4](45,36) = 675.0/4096.0;
-      prolongation[4](45,37) = 675.0/4096.0;
-      prolongation[4](45,38) = -225.0/4096.0;
-      prolongation[4](45,39) = -225.0/4096.0;
-      prolongation[4](45,40) = -225.0/4096.0;
-      prolongation[4](45,41) = -225.0/4096.0;
-      prolongation[4](45,42) = 675.0/4096.0;
-      prolongation[4](45,43) = 675.0/4096.0;
-      prolongation[4](45,44) = 75.0/4096.0;
-      prolongation[4](45,45) = -225.0/4096.0;
-      prolongation[4](45,46) = -25.0/4096.0;
-      prolongation[4](45,47) = 75.0/4096.0;
-      prolongation[4](45,48) = -45.0/4096.0;
-      prolongation[4](45,49) = -45.0/4096.0;
-      prolongation[4](45,50) = 135.0/4096.0;
-      prolongation[4](45,51) = 135.0/4096.0;
-      prolongation[4](45,52) = 75.0/4096.0;
-      prolongation[4](45,53) = -225.0/4096.0;
-      prolongation[4](45,54) = -25.0/4096.0;
-      prolongation[4](45,55) = 75.0/4096.0;
-      prolongation[4](45,56) = -675.0/4096.0;
-      prolongation[4](45,57) = -675.0/4096.0;
-      prolongation[4](45,58) = 2025.0/4096.0;
-      prolongation[4](45,59) = 2025.0/4096.0;
-      prolongation[4](45,60) = 225.0/4096.0;
-      prolongation[4](45,61) = 225.0/4096.0;
-      prolongation[4](45,62) = -675.0/4096.0;
-      prolongation[4](45,63) = -675.0/4096.0;
-      prolongation[4](46,45) = -1.0/16.0;
-      prolongation[4](46,53) = -1.0/16.0;
-      prolongation[4](46,58) = 9.0/16.0;
-      prolongation[4](46,59) = 9.0/16.0;
-      prolongation[4](47,10) = -1.0/256.0;
-      prolongation[4](47,14) = -1.0/256.0;
-      prolongation[4](47,18) = -5.0/256.0;
-      prolongation[4](47,22) = -5.0/256.0;
-      prolongation[4](47,32) = 9.0/256.0;
-      prolongation[4](47,33) = 9.0/256.0;
-      prolongation[4](47,36) = 45.0/256.0;
-      prolongation[4](47,37) = 45.0/256.0;
-      prolongation[4](47,44) = 5.0/256.0;
-      prolongation[4](47,45) = -15.0/256.0;
-      prolongation[4](47,52) = 5.0/256.0;
-      prolongation[4](47,53) = -15.0/256.0;
-      prolongation[4](47,56) = -45.0/256.0;
-      prolongation[4](47,57) = -45.0/256.0;
-      prolongation[4](47,58) = 135.0/256.0;
-      prolongation[4](47,59) = 135.0/256.0;
-      prolongation[4](48,25) = -5.0/256.0;
-      prolongation[4](48,27) = -1.0/256.0;
-      prolongation[4](48,29) = -1.0/256.0;
-      prolongation[4](48,31) = -5.0/256.0;
-      prolongation[4](48,42) = -15.0/256.0;
-      prolongation[4](48,43) = 5.0/256.0;
-      prolongation[4](48,45) = 9.0/256.0;
-      prolongation[4](48,47) = 9.0/256.0;
-      prolongation[4](48,50) = -15.0/256.0;
-      prolongation[4](48,51) = 5.0/256.0;
-      prolongation[4](48,53) = 45.0/256.0;
-      prolongation[4](48,55) = 45.0/256.0;
-      prolongation[4](48,58) = 135.0/256.0;
-      prolongation[4](48,59) = -45.0/256.0;
-      prolongation[4](48,62) = 135.0/256.0;
-      prolongation[4](48,63) = -45.0/256.0;
-      prolongation[4](49,42) = -1.0/16.0;
-      prolongation[4](49,50) = -1.0/16.0;
-      prolongation[4](49,58) = 9.0/16.0;
-      prolongation[4](49,62) = 9.0/16.0;
-      prolongation[4](50,0) = -5.0/4096.0;
-      prolongation[4](50,1) = -1.0/4096.0;
-      prolongation[4](50,2) = -1.0/4096.0;
-      prolongation[4](50,3) = -5.0/4096.0;
-      prolongation[4](50,4) = -25.0/4096.0;
-      prolongation[4](50,5) = -5.0/4096.0;
-      prolongation[4](50,6) = -5.0/4096.0;
-      prolongation[4](50,7) = -25.0/4096.0;
-      prolongation[4](50,8) = -15.0/4096.0;
-      prolongation[4](50,9) = 5.0/4096.0;
-      prolongation[4](50,10) = 9.0/4096.0;
-      prolongation[4](50,11) = 9.0/4096.0;
-      prolongation[4](50,12) = -15.0/4096.0;
-      prolongation[4](50,13) = 5.0/4096.0;
-      prolongation[4](50,14) = 45.0/4096.0;
-      prolongation[4](50,15) = 45.0/4096.0;
-      prolongation[4](50,16) = -75.0/4096.0;
-      prolongation[4](50,17) = 25.0/4096.0;
-      prolongation[4](50,18) = 45.0/4096.0;
-      prolongation[4](50,19) = 45.0/4096.0;
-      prolongation[4](50,20) = -75.0/4096.0;
-      prolongation[4](50,21) = 25.0/4096.0;
-      prolongation[4](50,22) = 225.0/4096.0;
-      prolongation[4](50,23) = 225.0/4096.0;
-      prolongation[4](50,24) = 25.0/4096.0;
-      prolongation[4](50,25) = -75.0/4096.0;
-      prolongation[4](50,26) = 5.0/4096.0;
-      prolongation[4](50,27) = -15.0/4096.0;
-      prolongation[4](50,28) = 5.0/4096.0;
-      prolongation[4](50,29) = -15.0/4096.0;
-      prolongation[4](50,30) = 25.0/4096.0;
-      prolongation[4](50,31) = -75.0/4096.0;
-      prolongation[4](50,32) = 135.0/4096.0;
-      prolongation[4](50,33) = -45.0/4096.0;
-      prolongation[4](50,34) = 135.0/4096.0;
-      prolongation[4](50,35) = -45.0/4096.0;
-      prolongation[4](50,36) = 675.0/4096.0;
-      prolongation[4](50,37) = -225.0/4096.0;
-      prolongation[4](50,38) = 675.0/4096.0;
-      prolongation[4](50,39) = -225.0/4096.0;
-      prolongation[4](50,40) = 75.0/4096.0;
-      prolongation[4](50,41) = -25.0/4096.0;
-      prolongation[4](50,42) = -225.0/4096.0;
-      prolongation[4](50,43) = 75.0/4096.0;
-      prolongation[4](50,44) = -45.0/4096.0;
-      prolongation[4](50,45) = 135.0/4096.0;
-      prolongation[4](50,46) = -45.0/4096.0;
-      prolongation[4](50,47) = 135.0/4096.0;
-      prolongation[4](50,48) = 75.0/4096.0;
-      prolongation[4](50,49) = -25.0/4096.0;
-      prolongation[4](50,50) = -225.0/4096.0;
-      prolongation[4](50,51) = 75.0/4096.0;
-      prolongation[4](50,52) = -225.0/4096.0;
-      prolongation[4](50,53) = 675.0/4096.0;
-      prolongation[4](50,54) = -225.0/4096.0;
-      prolongation[4](50,55) = 675.0/4096.0;
-      prolongation[4](50,56) = -675.0/4096.0;
-      prolongation[4](50,57) = 225.0/4096.0;
-      prolongation[4](50,58) = 2025.0/4096.0;
-      prolongation[4](50,59) = -675.0/4096.0;
-      prolongation[4](50,60) = -675.0/4096.0;
-      prolongation[4](50,61) = 225.0/4096.0;
-      prolongation[4](50,62) = 2025.0/4096.0;
-      prolongation[4](50,63) = -675.0/4096.0;
-      prolongation[4](51,8) = -1.0/256.0;
-      prolongation[4](51,12) = -1.0/256.0;
-      prolongation[4](51,16) = -5.0/256.0;
-      prolongation[4](51,20) = -5.0/256.0;
-      prolongation[4](51,32) = 9.0/256.0;
-      prolongation[4](51,34) = 9.0/256.0;
-      prolongation[4](51,36) = 45.0/256.0;
-      prolongation[4](51,38) = 45.0/256.0;
-      prolongation[4](51,40) = 5.0/256.0;
-      prolongation[4](51,42) = -15.0/256.0;
-      prolongation[4](51,48) = 5.0/256.0;
-      prolongation[4](51,50) = -15.0/256.0;
-      prolongation[4](51,56) = -45.0/256.0;
-      prolongation[4](51,58) = 135.0/256.0;
-      prolongation[4](51,60) = -45.0/256.0;
-      prolongation[4](51,62) = 135.0/256.0;
-      prolongation[4](52,25) = 5.0/16.0;
-      prolongation[4](52,31) = 1.0/16.0;
-      prolongation[4](52,53) = 15.0/16.0;
-      prolongation[4](52,55) = -5.0/16.0;
-      prolongation[4](53,0) = 5.0/256.0;
-      prolongation[4](53,3) = 1.0/256.0;
-      prolongation[4](53,4) = 25.0/256.0;
-      prolongation[4](53,7) = 5.0/256.0;
-      prolongation[4](53,14) = 15.0/256.0;
-      prolongation[4](53,15) = -5.0/256.0;
-      prolongation[4](53,22) = 75.0/256.0;
-      prolongation[4](53,23) = -25.0/256.0;
-      prolongation[4](53,24) = -25.0/256.0;
-      prolongation[4](53,25) = 75.0/256.0;
-      prolongation[4](53,30) = -5.0/256.0;
-      prolongation[4](53,31) = 15.0/256.0;
-      prolongation[4](53,52) = -75.0/256.0;
-      prolongation[4](53,53) = 225.0/256.0;
-      prolongation[4](53,54) = 25.0/256.0;
-      prolongation[4](53,55) = -75.0/256.0;
-      prolongation[4](54,53) = 1.0;
-      prolongation[4](55,14) = 1.0/16.0;
-      prolongation[4](55,22) = 5.0/16.0;
-      prolongation[4](55,52) = -5.0/16.0;
-      prolongation[4](55,53) = 15.0/16.0;
-      prolongation[4](56,25) = 25.0/256.0;
-      prolongation[4](56,27) = 5.0/256.0;
-      prolongation[4](56,29) = 1.0/256.0;
-      prolongation[4](56,31) = 5.0/256.0;
-      prolongation[4](56,42) = 75.0/256.0;
-      prolongation[4](56,43) = -25.0/256.0;
-      prolongation[4](56,45) = 15.0/256.0;
-      prolongation[4](56,47) = -5.0/256.0;
-      prolongation[4](56,50) = 15.0/256.0;
-      prolongation[4](56,51) = -5.0/256.0;
-      prolongation[4](56,53) = 75.0/256.0;
-      prolongation[4](56,55) = -25.0/256.0;
-      prolongation[4](56,58) = 225.0/256.0;
-      prolongation[4](56,59) = -75.0/256.0;
-      prolongation[4](56,62) = -75.0/256.0;
-      prolongation[4](56,63) = 25.0/256.0;
-      prolongation[4](57,42) = 5.0/16.0;
-      prolongation[4](57,50) = 1.0/16.0;
-      prolongation[4](57,58) = 15.0/16.0;
-      prolongation[4](57,62) = -5.0/16.0;
-      prolongation[4](58,0) = 25.0/4096.0;
-      prolongation[4](58,1) = 5.0/4096.0;
-      prolongation[4](58,2) = 1.0/4096.0;
-      prolongation[4](58,3) = 5.0/4096.0;
-      prolongation[4](58,4) = 125.0/4096.0;
-      prolongation[4](58,5) = 25.0/4096.0;
-      prolongation[4](58,6) = 5.0/4096.0;
-      prolongation[4](58,7) = 25.0/4096.0;
-      prolongation[4](58,8) = 75.0/4096.0;
-      prolongation[4](58,9) = -25.0/4096.0;
-      prolongation[4](58,10) = 15.0/4096.0;
-      prolongation[4](58,11) = -5.0/4096.0;
-      prolongation[4](58,12) = 15.0/4096.0;
-      prolongation[4](58,13) = -5.0/4096.0;
-      prolongation[4](58,14) = 75.0/4096.0;
-      prolongation[4](58,15) = -25.0/4096.0;
-      prolongation[4](58,16) = 375.0/4096.0;
-      prolongation[4](58,17) = -125.0/4096.0;
-      prolongation[4](58,18) = 75.0/4096.0;
-      prolongation[4](58,19) = -25.0/4096.0;
-      prolongation[4](58,20) = 75.0/4096.0;
-      prolongation[4](58,21) = -25.0/4096.0;
-      prolongation[4](58,22) = 375.0/4096.0;
-      prolongation[4](58,23) = -125.0/4096.0;
-      prolongation[4](58,24) = -125.0/4096.0;
-      prolongation[4](58,25) = 375.0/4096.0;
-      prolongation[4](58,26) = -25.0/4096.0;
-      prolongation[4](58,27) = 75.0/4096.0;
-      prolongation[4](58,28) = -5.0/4096.0;
-      prolongation[4](58,29) = 15.0/4096.0;
-      prolongation[4](58,30) = -25.0/4096.0;
-      prolongation[4](58,31) = 75.0/4096.0;
-      prolongation[4](58,32) = 225.0/4096.0;
-      prolongation[4](58,33) = -75.0/4096.0;
-      prolongation[4](58,34) = -75.0/4096.0;
-      prolongation[4](58,35) = 25.0/4096.0;
-      prolongation[4](58,36) = 1125.0/4096.0;
-      prolongation[4](58,37) = -375.0/4096.0;
-      prolongation[4](58,38) = -375.0/4096.0;
-      prolongation[4](58,39) = 125.0/4096.0;
-      prolongation[4](58,40) = -375.0/4096.0;
-      prolongation[4](58,41) = 125.0/4096.0;
-      prolongation[4](58,42) = 1125.0/4096.0;
-      prolongation[4](58,43) = -375.0/4096.0;
-      prolongation[4](58,44) = -75.0/4096.0;
-      prolongation[4](58,45) = 225.0/4096.0;
-      prolongation[4](58,46) = 25.0/4096.0;
-      prolongation[4](58,47) = -75.0/4096.0;
-      prolongation[4](58,48) = -75.0/4096.0;
-      prolongation[4](58,49) = 25.0/4096.0;
-      prolongation[4](58,50) = 225.0/4096.0;
-      prolongation[4](58,51) = -75.0/4096.0;
-      prolongation[4](58,52) = -375.0/4096.0;
-      prolongation[4](58,53) = 1125.0/4096.0;
-      prolongation[4](58,54) = 125.0/4096.0;
-      prolongation[4](58,55) = -375.0/4096.0;
-      prolongation[4](58,56) = -1125.0/4096.0;
-      prolongation[4](58,57) = 375.0/4096.0;
-      prolongation[4](58,58) = 3375.0/4096.0;
-      prolongation[4](58,59) = -1125.0/4096.0;
-      prolongation[4](58,60) = 375.0/4096.0;
-      prolongation[4](58,61) = -125.0/4096.0;
-      prolongation[4](58,62) = -1125.0/4096.0;
-      prolongation[4](58,63) = 375.0/4096.0;
-      prolongation[4](59,8) = 5.0/256.0;
-      prolongation[4](59,12) = 1.0/256.0;
-      prolongation[4](59,16) = 25.0/256.0;
-      prolongation[4](59,20) = 5.0/256.0;
-      prolongation[4](59,32) = 15.0/256.0;
-      prolongation[4](59,34) = -5.0/256.0;
-      prolongation[4](59,36) = 75.0/256.0;
-      prolongation[4](59,38) = -25.0/256.0;
-      prolongation[4](59,40) = -25.0/256.0;
-      prolongation[4](59,42) = 75.0/256.0;
-      prolongation[4](59,48) = -5.0/256.0;
-      prolongation[4](59,50) = 15.0/256.0;
-      prolongation[4](59,56) = -75.0/256.0;
-      prolongation[4](59,58) = 225.0/256.0;
-      prolongation[4](59,60) = 25.0/256.0;
-      prolongation[4](59,62) = -75.0/256.0;
-      prolongation[4](60,45) = 1.0/16.0;
-      prolongation[4](60,53) = 5.0/16.0;
-      prolongation[4](60,58) = 15.0/16.0;
-      prolongation[4](60,59) = -5.0/16.0;
-      prolongation[4](61,58) = 1.0;
-      prolongation[4](62,10) = 1.0/256.0;
-      prolongation[4](62,14) = 5.0/256.0;
-      prolongation[4](62,18) = 5.0/256.0;
-      prolongation[4](62,22) = 25.0/256.0;
-      prolongation[4](62,32) = 15.0/256.0;
-      prolongation[4](62,33) = -5.0/256.0;
-      prolongation[4](62,36) = 75.0/256.0;
-      prolongation[4](62,37) = -25.0/256.0;
-      prolongation[4](62,44) = -5.0/256.0;
-      prolongation[4](62,45) = 15.0/256.0;
-      prolongation[4](62,52) = -25.0/256.0;
-      prolongation[4](62,53) = 75.0/256.0;
-      prolongation[4](62,56) = -75.0/256.0;
-      prolongation[4](62,57) = 25.0/256.0;
-      prolongation[4](62,58) = 225.0/256.0;
-      prolongation[4](62,59) = -75.0/256.0;
-      prolongation[4](63,32) = 1.0/16.0;
-      prolongation[4](63,36) = 5.0/16.0;
-      prolongation[4](63,56) = -5.0/16.0;
-      prolongation[4](63,58) = 15.0/16.0;
-      prolongation[5](0,0) = 1.0/256.0;
-      prolongation[5](0,1) = 1.0/256.0;
-      prolongation[5](0,4) = 1.0/256.0;
-      prolongation[5](0,5) = 1.0/256.0;
-      prolongation[5](0,8) = -9.0/256.0;
-      prolongation[5](0,9) = -9.0/256.0;
-      prolongation[5](0,16) = -9.0/256.0;
-      prolongation[5](0,17) = -9.0/256.0;
-      prolongation[5](0,24) = -9.0/256.0;
-      prolongation[5](0,25) = -9.0/256.0;
-      prolongation[5](0,26) = -9.0/256.0;
-      prolongation[5](0,27) = -9.0/256.0;
-      prolongation[5](0,40) = 81.0/256.0;
-      prolongation[5](0,41) = 81.0/256.0;
-      prolongation[5](0,42) = 81.0/256.0;
-      prolongation[5](0,43) = 81.0/256.0;
-      prolongation[5](1,1) = -1.0/16.0;
-      prolongation[5](1,5) = -1.0/16.0;
-      prolongation[5](1,26) = 9.0/16.0;
-      prolongation[5](1,27) = 9.0/16.0;
-      prolongation[5](2,1) = 1.0/256.0;
-      prolongation[5](2,2) = 1.0/256.0;
-      prolongation[5](2,5) = 1.0/256.0;
-      prolongation[5](2,6) = 1.0/256.0;
-      prolongation[5](2,10) = -9.0/256.0;
-      prolongation[5](2,11) = -9.0/256.0;
-      prolongation[5](2,18) = -9.0/256.0;
-      prolongation[5](2,19) = -9.0/256.0;
-      prolongation[5](2,26) = -9.0/256.0;
-      prolongation[5](2,27) = -9.0/256.0;
-      prolongation[5](2,28) = -9.0/256.0;
-      prolongation[5](2,29) = -9.0/256.0;
-      prolongation[5](2,44) = 81.0/256.0;
-      prolongation[5](2,45) = 81.0/256.0;
-      prolongation[5](2,46) = 81.0/256.0;
-      prolongation[5](2,47) = 81.0/256.0;
-      prolongation[5](3,0) = -1.0/4096.0;
-      prolongation[5](3,1) = -1.0/4096.0;
-      prolongation[5](3,2) = -1.0/4096.0;
-      prolongation[5](3,3) = -1.0/4096.0;
-      prolongation[5](3,4) = -1.0/4096.0;
-      prolongation[5](3,5) = -1.0/4096.0;
-      prolongation[5](3,6) = -1.0/4096.0;
-      prolongation[5](3,7) = -1.0/4096.0;
-      prolongation[5](3,8) = 9.0/4096.0;
-      prolongation[5](3,9) = 9.0/4096.0;
-      prolongation[5](3,10) = 9.0/4096.0;
-      prolongation[5](3,11) = 9.0/4096.0;
-      prolongation[5](3,12) = 9.0/4096.0;
-      prolongation[5](3,13) = 9.0/4096.0;
-      prolongation[5](3,14) = 9.0/4096.0;
-      prolongation[5](3,15) = 9.0/4096.0;
-      prolongation[5](3,16) = 9.0/4096.0;
-      prolongation[5](3,17) = 9.0/4096.0;
-      prolongation[5](3,18) = 9.0/4096.0;
-      prolongation[5](3,19) = 9.0/4096.0;
-      prolongation[5](3,20) = 9.0/4096.0;
-      prolongation[5](3,21) = 9.0/4096.0;
-      prolongation[5](3,22) = 9.0/4096.0;
-      prolongation[5](3,23) = 9.0/4096.0;
-      prolongation[5](3,24) = 9.0/4096.0;
-      prolongation[5](3,25) = 9.0/4096.0;
-      prolongation[5](3,26) = 9.0/4096.0;
-      prolongation[5](3,27) = 9.0/4096.0;
-      prolongation[5](3,28) = 9.0/4096.0;
-      prolongation[5](3,29) = 9.0/4096.0;
-      prolongation[5](3,30) = 9.0/4096.0;
-      prolongation[5](3,31) = 9.0/4096.0;
-      prolongation[5](3,32) = -81.0/4096.0;
-      prolongation[5](3,33) = -81.0/4096.0;
-      prolongation[5](3,34) = -81.0/4096.0;
-      prolongation[5](3,35) = -81.0/4096.0;
-      prolongation[5](3,36) = -81.0/4096.0;
-      prolongation[5](3,37) = -81.0/4096.0;
-      prolongation[5](3,38) = -81.0/4096.0;
-      prolongation[5](3,39) = -81.0/4096.0;
-      prolongation[5](3,40) = -81.0/4096.0;
-      prolongation[5](3,41) = -81.0/4096.0;
-      prolongation[5](3,42) = -81.0/4096.0;
-      prolongation[5](3,43) = -81.0/4096.0;
-      prolongation[5](3,44) = -81.0/4096.0;
-      prolongation[5](3,45) = -81.0/4096.0;
-      prolongation[5](3,46) = -81.0/4096.0;
-      prolongation[5](3,47) = -81.0/4096.0;
-      prolongation[5](3,48) = -81.0/4096.0;
-      prolongation[5](3,49) = -81.0/4096.0;
-      prolongation[5](3,50) = -81.0/4096.0;
-      prolongation[5](3,51) = -81.0/4096.0;
-      prolongation[5](3,52) = -81.0/4096.0;
-      prolongation[5](3,53) = -81.0/4096.0;
-      prolongation[5](3,54) = -81.0/4096.0;
-      prolongation[5](3,55) = -81.0/4096.0;
-      prolongation[5](3,56) = 729.0/4096.0;
-      prolongation[5](3,57) = 729.0/4096.0;
-      prolongation[5](3,58) = 729.0/4096.0;
-      prolongation[5](3,59) = 729.0/4096.0;
-      prolongation[5](3,60) = 729.0/4096.0;
-      prolongation[5](3,61) = 729.0/4096.0;
-      prolongation[5](3,62) = 729.0/4096.0;
-      prolongation[5](3,63) = 729.0/4096.0;
-      prolongation[5](4,4) = -1.0/16.0;
-      prolongation[5](4,5) = -1.0/16.0;
-      prolongation[5](4,16) = 9.0/16.0;
-      prolongation[5](4,17) = 9.0/16.0;
-      prolongation[5](5,5) = 1.0;
-      prolongation[5](6,5) = -1.0/16.0;
-      prolongation[5](6,6) = -1.0/16.0;
-      prolongation[5](6,18) = 9.0/16.0;
-      prolongation[5](6,19) = 9.0/16.0;
-      prolongation[5](7,4) = 1.0/256.0;
-      prolongation[5](7,5) = 1.0/256.0;
-      prolongation[5](7,6) = 1.0/256.0;
-      prolongation[5](7,7) = 1.0/256.0;
-      prolongation[5](7,16) = -9.0/256.0;
-      prolongation[5](7,17) = -9.0/256.0;
-      prolongation[5](7,18) = -9.0/256.0;
-      prolongation[5](7,19) = -9.0/256.0;
-      prolongation[5](7,20) = -9.0/256.0;
-      prolongation[5](7,21) = -9.0/256.0;
-      prolongation[5](7,22) = -9.0/256.0;
-      prolongation[5](7,23) = -9.0/256.0;
-      prolongation[5](7,36) = 81.0/256.0;
-      prolongation[5](7,37) = 81.0/256.0;
-      prolongation[5](7,38) = 81.0/256.0;
-      prolongation[5](7,39) = 81.0/256.0;
-      prolongation[5](8,9) = -1.0/16.0;
-      prolongation[5](8,17) = -1.0/16.0;
-      prolongation[5](8,41) = 9.0/16.0;
-      prolongation[5](8,43) = 9.0/16.0;
-      prolongation[5](9,0) = -1.0/256.0;
-      prolongation[5](9,1) = -5.0/256.0;
-      prolongation[5](9,4) = -1.0/256.0;
-      prolongation[5](9,5) = -5.0/256.0;
-      prolongation[5](9,8) = 5.0/256.0;
-      prolongation[5](9,9) = -15.0/256.0;
-      prolongation[5](9,16) = 5.0/256.0;
-      prolongation[5](9,17) = -15.0/256.0;
-      prolongation[5](9,24) = 9.0/256.0;
-      prolongation[5](9,25) = 9.0/256.0;
-      prolongation[5](9,26) = 45.0/256.0;
-      prolongation[5](9,27) = 45.0/256.0;
-      prolongation[5](9,40) = -45.0/256.0;
-      prolongation[5](9,41) = 135.0/256.0;
-      prolongation[5](9,42) = -45.0/256.0;
-      prolongation[5](9,43) = 135.0/256.0;
-      prolongation[5](10,1) = -5.0/256.0;
-      prolongation[5](10,2) = -1.0/256.0;
-      prolongation[5](10,5) = -5.0/256.0;
-      prolongation[5](10,6) = -1.0/256.0;
-      prolongation[5](10,10) = -15.0/256.0;
-      prolongation[5](10,11) = 5.0/256.0;
-      prolongation[5](10,18) = -15.0/256.0;
-      prolongation[5](10,19) = 5.0/256.0;
-      prolongation[5](10,26) = 45.0/256.0;
-      prolongation[5](10,27) = 45.0/256.0;
-      prolongation[5](10,28) = 9.0/256.0;
-      prolongation[5](10,29) = 9.0/256.0;
-      prolongation[5](10,44) = 135.0/256.0;
-      prolongation[5](10,45) = 135.0/256.0;
-      prolongation[5](10,46) = -45.0/256.0;
-      prolongation[5](10,47) = -45.0/256.0;
-      prolongation[5](11,10) = -1.0/16.0;
-      prolongation[5](11,18) = -1.0/16.0;
-      prolongation[5](11,44) = 9.0/16.0;
-      prolongation[5](11,45) = 9.0/16.0;
-      prolongation[5](12,9) = 1.0/256.0;
-      prolongation[5](12,13) = 1.0/256.0;
-      prolongation[5](12,17) = 1.0/256.0;
-      prolongation[5](12,21) = 1.0/256.0;
-      prolongation[5](12,33) = -9.0/256.0;
-      prolongation[5](12,35) = -9.0/256.0;
-      prolongation[5](12,37) = -9.0/256.0;
-      prolongation[5](12,39) = -9.0/256.0;
-      prolongation[5](12,41) = -9.0/256.0;
-      prolongation[5](12,43) = -9.0/256.0;
-      prolongation[5](12,49) = -9.0/256.0;
-      prolongation[5](12,51) = -9.0/256.0;
-      prolongation[5](12,57) = 81.0/256.0;
-      prolongation[5](12,59) = 81.0/256.0;
-      prolongation[5](12,61) = 81.0/256.0;
-      prolongation[5](12,63) = 81.0/256.0;
-      prolongation[5](13,0) = 1.0/4096.0;
-      prolongation[5](13,1) = 5.0/4096.0;
-      prolongation[5](13,2) = 5.0/4096.0;
-      prolongation[5](13,3) = 1.0/4096.0;
-      prolongation[5](13,4) = 1.0/4096.0;
-      prolongation[5](13,5) = 5.0/4096.0;
-      prolongation[5](13,6) = 5.0/4096.0;
-      prolongation[5](13,7) = 1.0/4096.0;
-      prolongation[5](13,8) = -5.0/4096.0;
-      prolongation[5](13,9) = 15.0/4096.0;
-      prolongation[5](13,10) = -45.0/4096.0;
-      prolongation[5](13,11) = -45.0/4096.0;
-      prolongation[5](13,12) = -5.0/4096.0;
-      prolongation[5](13,13) = 15.0/4096.0;
-      prolongation[5](13,14) = -9.0/4096.0;
-      prolongation[5](13,15) = -9.0/4096.0;
-      prolongation[5](13,16) = -5.0/4096.0;
-      prolongation[5](13,17) = 15.0/4096.0;
-      prolongation[5](13,18) = -45.0/4096.0;
-      prolongation[5](13,19) = -45.0/4096.0;
-      prolongation[5](13,20) = -5.0/4096.0;
-      prolongation[5](13,21) = 15.0/4096.0;
-      prolongation[5](13,22) = -9.0/4096.0;
-      prolongation[5](13,23) = -9.0/4096.0;
-      prolongation[5](13,24) = -9.0/4096.0;
-      prolongation[5](13,25) = -9.0/4096.0;
-      prolongation[5](13,26) = -45.0/4096.0;
-      prolongation[5](13,27) = -45.0/4096.0;
-      prolongation[5](13,28) = -45.0/4096.0;
-      prolongation[5](13,29) = -45.0/4096.0;
-      prolongation[5](13,30) = -9.0/4096.0;
-      prolongation[5](13,31) = -9.0/4096.0;
-      prolongation[5](13,32) = 45.0/4096.0;
-      prolongation[5](13,33) = -135.0/4096.0;
-      prolongation[5](13,34) = 45.0/4096.0;
-      prolongation[5](13,35) = -135.0/4096.0;
-      prolongation[5](13,36) = 45.0/4096.0;
-      prolongation[5](13,37) = -135.0/4096.0;
-      prolongation[5](13,38) = 45.0/4096.0;
-      prolongation[5](13,39) = -135.0/4096.0;
-      prolongation[5](13,40) = 45.0/4096.0;
-      prolongation[5](13,41) = -135.0/4096.0;
-      prolongation[5](13,42) = 45.0/4096.0;
-      prolongation[5](13,43) = -135.0/4096.0;
-      prolongation[5](13,44) = 405.0/4096.0;
-      prolongation[5](13,45) = 405.0/4096.0;
-      prolongation[5](13,46) = 405.0/4096.0;
-      prolongation[5](13,47) = 405.0/4096.0;
-      prolongation[5](13,48) = 45.0/4096.0;
-      prolongation[5](13,49) = -135.0/4096.0;
-      prolongation[5](13,50) = 45.0/4096.0;
-      prolongation[5](13,51) = -135.0/4096.0;
-      prolongation[5](13,52) = 81.0/4096.0;
-      prolongation[5](13,53) = 81.0/4096.0;
-      prolongation[5](13,54) = 81.0/4096.0;
-      prolongation[5](13,55) = 81.0/4096.0;
-      prolongation[5](13,56) = -405.0/4096.0;
-      prolongation[5](13,57) = 1215.0/4096.0;
-      prolongation[5](13,58) = -405.0/4096.0;
-      prolongation[5](13,59) = 1215.0/4096.0;
-      prolongation[5](13,60) = -405.0/4096.0;
-      prolongation[5](13,61) = 1215.0/4096.0;
-      prolongation[5](13,62) = -405.0/4096.0;
-      prolongation[5](13,63) = 1215.0/4096.0;
-      prolongation[5](14,0) = 5.0/4096.0;
-      prolongation[5](14,1) = 5.0/4096.0;
-      prolongation[5](14,2) = 1.0/4096.0;
-      prolongation[5](14,3) = 1.0/4096.0;
-      prolongation[5](14,4) = 5.0/4096.0;
-      prolongation[5](14,5) = 5.0/4096.0;
-      prolongation[5](14,6) = 1.0/4096.0;
-      prolongation[5](14,7) = 1.0/4096.0;
-      prolongation[5](14,8) = -45.0/4096.0;
-      prolongation[5](14,9) = -45.0/4096.0;
-      prolongation[5](14,10) = 15.0/4096.0;
-      prolongation[5](14,11) = -5.0/4096.0;
-      prolongation[5](14,12) = -9.0/4096.0;
-      prolongation[5](14,13) = -9.0/4096.0;
-      prolongation[5](14,14) = 15.0/4096.0;
-      prolongation[5](14,15) = -5.0/4096.0;
-      prolongation[5](14,16) = -45.0/4096.0;
-      prolongation[5](14,17) = -45.0/4096.0;
-      prolongation[5](14,18) = 15.0/4096.0;
-      prolongation[5](14,19) = -5.0/4096.0;
-      prolongation[5](14,20) = -9.0/4096.0;
-      prolongation[5](14,21) = -9.0/4096.0;
-      prolongation[5](14,22) = 15.0/4096.0;
-      prolongation[5](14,23) = -5.0/4096.0;
-      prolongation[5](14,24) = -45.0/4096.0;
-      prolongation[5](14,25) = -45.0/4096.0;
-      prolongation[5](14,26) = -45.0/4096.0;
-      prolongation[5](14,27) = -45.0/4096.0;
-      prolongation[5](14,28) = -9.0/4096.0;
-      prolongation[5](14,29) = -9.0/4096.0;
-      prolongation[5](14,30) = -9.0/4096.0;
-      prolongation[5](14,31) = -9.0/4096.0;
-      prolongation[5](14,32) = -135.0/4096.0;
-      prolongation[5](14,33) = -135.0/4096.0;
-      prolongation[5](14,34) = 45.0/4096.0;
-      prolongation[5](14,35) = 45.0/4096.0;
-      prolongation[5](14,36) = -135.0/4096.0;
-      prolongation[5](14,37) = -135.0/4096.0;
-      prolongation[5](14,38) = 45.0/4096.0;
-      prolongation[5](14,39) = 45.0/4096.0;
-      prolongation[5](14,40) = 405.0/4096.0;
-      prolongation[5](14,41) = 405.0/4096.0;
-      prolongation[5](14,42) = 405.0/4096.0;
-      prolongation[5](14,43) = 405.0/4096.0;
-      prolongation[5](14,44) = -135.0/4096.0;
-      prolongation[5](14,45) = -135.0/4096.0;
-      prolongation[5](14,46) = 45.0/4096.0;
-      prolongation[5](14,47) = 45.0/4096.0;
-      prolongation[5](14,48) = 81.0/4096.0;
-      prolongation[5](14,49) = 81.0/4096.0;
-      prolongation[5](14,50) = 81.0/4096.0;
-      prolongation[5](14,51) = 81.0/4096.0;
-      prolongation[5](14,52) = -135.0/4096.0;
-      prolongation[5](14,53) = -135.0/4096.0;
-      prolongation[5](14,54) = 45.0/4096.0;
-      prolongation[5](14,55) = 45.0/4096.0;
-      prolongation[5](14,56) = 1215.0/4096.0;
-      prolongation[5](14,57) = 1215.0/4096.0;
-      prolongation[5](14,58) = 1215.0/4096.0;
-      prolongation[5](14,59) = 1215.0/4096.0;
-      prolongation[5](14,60) = -405.0/4096.0;
-      prolongation[5](14,61) = -405.0/4096.0;
-      prolongation[5](14,62) = -405.0/4096.0;
-      prolongation[5](14,63) = -405.0/4096.0;
-      prolongation[5](15,10) = 1.0/256.0;
-      prolongation[5](15,14) = 1.0/256.0;
-      prolongation[5](15,18) = 1.0/256.0;
-      prolongation[5](15,22) = 1.0/256.0;
-      prolongation[5](15,32) = -9.0/256.0;
-      prolongation[5](15,33) = -9.0/256.0;
-      prolongation[5](15,36) = -9.0/256.0;
-      prolongation[5](15,37) = -9.0/256.0;
-      prolongation[5](15,44) = -9.0/256.0;
-      prolongation[5](15,45) = -9.0/256.0;
-      prolongation[5](15,52) = -9.0/256.0;
-      prolongation[5](15,53) = -9.0/256.0;
-      prolongation[5](15,56) = 81.0/256.0;
-      prolongation[5](15,57) = 81.0/256.0;
-      prolongation[5](15,58) = 81.0/256.0;
-      prolongation[5](15,59) = 81.0/256.0;
-      prolongation[5](16,17) = 1.0;
-      prolongation[5](17,4) = 1.0/16.0;
-      prolongation[5](17,5) = 5.0/16.0;
-      prolongation[5](17,16) = -5.0/16.0;
-      prolongation[5](17,17) = 15.0/16.0;
-      prolongation[5](18,5) = 5.0/16.0;
-      prolongation[5](18,6) = 1.0/16.0;
-      prolongation[5](18,18) = 15.0/16.0;
-      prolongation[5](18,19) = -5.0/16.0;
-      prolongation[5](19,18) = 1.0;
-      prolongation[5](20,17) = -1.0/16.0;
-      prolongation[5](20,21) = -1.0/16.0;
-      prolongation[5](20,37) = 9.0/16.0;
-      prolongation[5](20,39) = 9.0/16.0;
-      prolongation[5](21,4) = -1.0/256.0;
-      prolongation[5](21,5) = -5.0/256.0;
-      prolongation[5](21,6) = -5.0/256.0;
-      prolongation[5](21,7) = -1.0/256.0;
-      prolongation[5](21,16) = 5.0/256.0;
-      prolongation[5](21,17) = -15.0/256.0;
-      prolongation[5](21,18) = 45.0/256.0;
-      prolongation[5](21,19) = 45.0/256.0;
-      prolongation[5](21,20) = 5.0/256.0;
-      prolongation[5](21,21) = -15.0/256.0;
-      prolongation[5](21,22) = 9.0/256.0;
-      prolongation[5](21,23) = 9.0/256.0;
-      prolongation[5](21,36) = -45.0/256.0;
-      prolongation[5](21,37) = 135.0/256.0;
-      prolongation[5](21,38) = -45.0/256.0;
-      prolongation[5](21,39) = 135.0/256.0;
-      prolongation[5](22,4) = -5.0/256.0;
-      prolongation[5](22,5) = -5.0/256.0;
-      prolongation[5](22,6) = -1.0/256.0;
-      prolongation[5](22,7) = -1.0/256.0;
-      prolongation[5](22,16) = 45.0/256.0;
-      prolongation[5](22,17) = 45.0/256.0;
-      prolongation[5](22,18) = -15.0/256.0;
-      prolongation[5](22,19) = 5.0/256.0;
-      prolongation[5](22,20) = 9.0/256.0;
-      prolongation[5](22,21) = 9.0/256.0;
-      prolongation[5](22,22) = -15.0/256.0;
-      prolongation[5](22,23) = 5.0/256.0;
-      prolongation[5](22,36) = 135.0/256.0;
-      prolongation[5](22,37) = 135.0/256.0;
-      prolongation[5](22,38) = -45.0/256.0;
-      prolongation[5](22,39) = -45.0/256.0;
-      prolongation[5](23,18) = -1.0/16.0;
-      prolongation[5](23,22) = -1.0/16.0;
-      prolongation[5](23,36) = 9.0/16.0;
-      prolongation[5](23,37) = 9.0/16.0;
-      prolongation[5](24,25) = -1.0/16.0;
-      prolongation[5](24,27) = -1.0/16.0;
-      prolongation[5](24,42) = 9.0/16.0;
-      prolongation[5](24,43) = 9.0/16.0;
-      prolongation[5](25,0) = -1.0/256.0;
-      prolongation[5](25,1) = -1.0/256.0;
-      prolongation[5](25,4) = -5.0/256.0;
-      prolongation[5](25,5) = -5.0/256.0;
-      prolongation[5](25,8) = 9.0/256.0;
-      prolongation[5](25,9) = 9.0/256.0;
-      prolongation[5](25,16) = 45.0/256.0;
-      prolongation[5](25,17) = 45.0/256.0;
-      prolongation[5](25,24) = 5.0/256.0;
-      prolongation[5](25,25) = -15.0/256.0;
-      prolongation[5](25,26) = 5.0/256.0;
-      prolongation[5](25,27) = -15.0/256.0;
-      prolongation[5](25,40) = -45.0/256.0;
-      prolongation[5](25,41) = -45.0/256.0;
-      prolongation[5](25,42) = 135.0/256.0;
-      prolongation[5](25,43) = 135.0/256.0;
-      prolongation[5](26,27) = 1.0;
-      prolongation[5](27,1) = 1.0/16.0;
-      prolongation[5](27,5) = 5.0/16.0;
-      prolongation[5](27,26) = -5.0/16.0;
-      prolongation[5](27,27) = 15.0/16.0;
-      prolongation[5](28,27) = -1.0/16.0;
-      prolongation[5](28,29) = -1.0/16.0;
-      prolongation[5](28,45) = 9.0/16.0;
-      prolongation[5](28,47) = 9.0/16.0;
-      prolongation[5](29,1) = -1.0/256.0;
-      prolongation[5](29,2) = -1.0/256.0;
-      prolongation[5](29,5) = -5.0/256.0;
-      prolongation[5](29,6) = -5.0/256.0;
-      prolongation[5](29,10) = 9.0/256.0;
-      prolongation[5](29,11) = 9.0/256.0;
-      prolongation[5](29,18) = 45.0/256.0;
-      prolongation[5](29,19) = 45.0/256.0;
-      prolongation[5](29,26) = 5.0/256.0;
-      prolongation[5](29,27) = -15.0/256.0;
-      prolongation[5](29,28) = 5.0/256.0;
-      prolongation[5](29,29) = -15.0/256.0;
-      prolongation[5](29,44) = -45.0/256.0;
-      prolongation[5](29,45) = 135.0/256.0;
-      prolongation[5](29,46) = -45.0/256.0;
-      prolongation[5](29,47) = 135.0/256.0;
-      prolongation[5](30,25) = 1.0/256.0;
-      prolongation[5](30,27) = 1.0/256.0;
-      prolongation[5](30,29) = 1.0/256.0;
-      prolongation[5](30,31) = 1.0/256.0;
-      prolongation[5](30,42) = -9.0/256.0;
-      prolongation[5](30,43) = -9.0/256.0;
-      prolongation[5](30,45) = -9.0/256.0;
-      prolongation[5](30,47) = -9.0/256.0;
-      prolongation[5](30,50) = -9.0/256.0;
-      prolongation[5](30,51) = -9.0/256.0;
-      prolongation[5](30,53) = -9.0/256.0;
-      prolongation[5](30,55) = -9.0/256.0;
-      prolongation[5](30,58) = 81.0/256.0;
-      prolongation[5](30,59) = 81.0/256.0;
-      prolongation[5](30,62) = 81.0/256.0;
-      prolongation[5](30,63) = 81.0/256.0;
-      prolongation[5](31,0) = 1.0/4096.0;
-      prolongation[5](31,1) = 1.0/4096.0;
-      prolongation[5](31,2) = 1.0/4096.0;
-      prolongation[5](31,3) = 1.0/4096.0;
-      prolongation[5](31,4) = 5.0/4096.0;
-      prolongation[5](31,5) = 5.0/4096.0;
-      prolongation[5](31,6) = 5.0/4096.0;
-      prolongation[5](31,7) = 5.0/4096.0;
-      prolongation[5](31,8) = -9.0/4096.0;
-      prolongation[5](31,9) = -9.0/4096.0;
-      prolongation[5](31,10) = -9.0/4096.0;
-      prolongation[5](31,11) = -9.0/4096.0;
-      prolongation[5](31,12) = -9.0/4096.0;
-      prolongation[5](31,13) = -9.0/4096.0;
-      prolongation[5](31,14) = -9.0/4096.0;
-      prolongation[5](31,15) = -9.0/4096.0;
-      prolongation[5](31,16) = -45.0/4096.0;
-      prolongation[5](31,17) = -45.0/4096.0;
-      prolongation[5](31,18) = -45.0/4096.0;
-      prolongation[5](31,19) = -45.0/4096.0;
-      prolongation[5](31,20) = -45.0/4096.0;
-      prolongation[5](31,21) = -45.0/4096.0;
-      prolongation[5](31,22) = -45.0/4096.0;
-      prolongation[5](31,23) = -45.0/4096.0;
-      prolongation[5](31,24) = -5.0/4096.0;
-      prolongation[5](31,25) = 15.0/4096.0;
-      prolongation[5](31,26) = -5.0/4096.0;
-      prolongation[5](31,27) = 15.0/4096.0;
-      prolongation[5](31,28) = -5.0/4096.0;
-      prolongation[5](31,29) = 15.0/4096.0;
-      prolongation[5](31,30) = -5.0/4096.0;
-      prolongation[5](31,31) = 15.0/4096.0;
-      prolongation[5](31,32) = 81.0/4096.0;
-      prolongation[5](31,33) = 81.0/4096.0;
-      prolongation[5](31,34) = 81.0/4096.0;
-      prolongation[5](31,35) = 81.0/4096.0;
-      prolongation[5](31,36) = 405.0/4096.0;
-      prolongation[5](31,37) = 405.0/4096.0;
-      prolongation[5](31,38) = 405.0/4096.0;
-      prolongation[5](31,39) = 405.0/4096.0;
-      prolongation[5](31,40) = 45.0/4096.0;
-      prolongation[5](31,41) = 45.0/4096.0;
-      prolongation[5](31,42) = -135.0/4096.0;
-      prolongation[5](31,43) = -135.0/4096.0;
-      prolongation[5](31,44) = 45.0/4096.0;
-      prolongation[5](31,45) = -135.0/4096.0;
-      prolongation[5](31,46) = 45.0/4096.0;
-      prolongation[5](31,47) = -135.0/4096.0;
-      prolongation[5](31,48) = 45.0/4096.0;
-      prolongation[5](31,49) = 45.0/4096.0;
-      prolongation[5](31,50) = -135.0/4096.0;
-      prolongation[5](31,51) = -135.0/4096.0;
-      prolongation[5](31,52) = 45.0/4096.0;
-      prolongation[5](31,53) = -135.0/4096.0;
-      prolongation[5](31,54) = 45.0/4096.0;
-      prolongation[5](31,55) = -135.0/4096.0;
-      prolongation[5](31,56) = -405.0/4096.0;
-      prolongation[5](31,57) = -405.0/4096.0;
-      prolongation[5](31,58) = 1215.0/4096.0;
-      prolongation[5](31,59) = 1215.0/4096.0;
-      prolongation[5](31,60) = -405.0/4096.0;
-      prolongation[5](31,61) = -405.0/4096.0;
-      prolongation[5](31,62) = 1215.0/4096.0;
-      prolongation[5](31,63) = 1215.0/4096.0;
-      prolongation[5](32,9) = -5.0/256.0;
-      prolongation[5](32,13) = -1.0/256.0;
-      prolongation[5](32,17) = -5.0/256.0;
-      prolongation[5](32,21) = -1.0/256.0;
-      prolongation[5](32,33) = -15.0/256.0;
-      prolongation[5](32,35) = 5.0/256.0;
-      prolongation[5](32,37) = -15.0/256.0;
-      prolongation[5](32,39) = 5.0/256.0;
-      prolongation[5](32,41) = 45.0/256.0;
-      prolongation[5](32,43) = 45.0/256.0;
-      prolongation[5](32,49) = 9.0/256.0;
-      prolongation[5](32,51) = 9.0/256.0;
-      prolongation[5](32,57) = 135.0/256.0;
-      prolongation[5](32,59) = 135.0/256.0;
-      prolongation[5](32,61) = -45.0/256.0;
-      prolongation[5](32,63) = -45.0/256.0;
-      prolongation[5](33,0) = -5.0/4096.0;
-      prolongation[5](33,1) = -25.0/4096.0;
-      prolongation[5](33,2) = -5.0/4096.0;
-      prolongation[5](33,3) = -1.0/4096.0;
-      prolongation[5](33,4) = -5.0/4096.0;
-      prolongation[5](33,5) = -25.0/4096.0;
-      prolongation[5](33,6) = -5.0/4096.0;
-      prolongation[5](33,7) = -1.0/4096.0;
-      prolongation[5](33,8) = 25.0/4096.0;
-      prolongation[5](33,9) = -75.0/4096.0;
-      prolongation[5](33,10) = -75.0/4096.0;
-      prolongation[5](33,11) = 25.0/4096.0;
-      prolongation[5](33,12) = 5.0/4096.0;
-      prolongation[5](33,13) = -15.0/4096.0;
-      prolongation[5](33,14) = -15.0/4096.0;
-      prolongation[5](33,15) = 5.0/4096.0;
-      prolongation[5](33,16) = 25.0/4096.0;
-      prolongation[5](33,17) = -75.0/4096.0;
-      prolongation[5](33,18) = -75.0/4096.0;
-      prolongation[5](33,19) = 25.0/4096.0;
-      prolongation[5](33,20) = 5.0/4096.0;
-      prolongation[5](33,21) = -15.0/4096.0;
-      prolongation[5](33,22) = -15.0/4096.0;
-      prolongation[5](33,23) = 5.0/4096.0;
-      prolongation[5](33,24) = 45.0/4096.0;
-      prolongation[5](33,25) = 45.0/4096.0;
-      prolongation[5](33,26) = 225.0/4096.0;
-      prolongation[5](33,27) = 225.0/4096.0;
-      prolongation[5](33,28) = 45.0/4096.0;
-      prolongation[5](33,29) = 45.0/4096.0;
-      prolongation[5](33,30) = 9.0/4096.0;
-      prolongation[5](33,31) = 9.0/4096.0;
-      prolongation[5](33,32) = 75.0/4096.0;
-      prolongation[5](33,33) = -225.0/4096.0;
-      prolongation[5](33,34) = -25.0/4096.0;
-      prolongation[5](33,35) = 75.0/4096.0;
-      prolongation[5](33,36) = 75.0/4096.0;
-      prolongation[5](33,37) = -225.0/4096.0;
-      prolongation[5](33,38) = -25.0/4096.0;
-      prolongation[5](33,39) = 75.0/4096.0;
-      prolongation[5](33,40) = -225.0/4096.0;
-      prolongation[5](33,41) = 675.0/4096.0;
-      prolongation[5](33,42) = -225.0/4096.0;
-      prolongation[5](33,43) = 675.0/4096.0;
-      prolongation[5](33,44) = 675.0/4096.0;
-      prolongation[5](33,45) = 675.0/4096.0;
-      prolongation[5](33,46) = -225.0/4096.0;
-      prolongation[5](33,47) = -225.0/4096.0;
-      prolongation[5](33,48) = -45.0/4096.0;
-      prolongation[5](33,49) = 135.0/4096.0;
-      prolongation[5](33,50) = -45.0/4096.0;
-      prolongation[5](33,51) = 135.0/4096.0;
-      prolongation[5](33,52) = 135.0/4096.0;
-      prolongation[5](33,53) = 135.0/4096.0;
-      prolongation[5](33,54) = -45.0/4096.0;
-      prolongation[5](33,55) = -45.0/4096.0;
-      prolongation[5](33,56) = -675.0/4096.0;
-      prolongation[5](33,57) = 2025.0/4096.0;
-      prolongation[5](33,58) = -675.0/4096.0;
+  prolongation[0](0,0) = 1.0;
+  prolongation[0](1,0) = -1.0/16.0;
+  prolongation[0](1,1) = -1.0/16.0;
+  prolongation[0](1,8) = 9.0/16.0;
+  prolongation[0](1,9) = 9.0/16.0;
+  prolongation[0](2,0) = 1.0/256.0;
+  prolongation[0](2,1) = 1.0/256.0;
+  prolongation[0](2,2) = 1.0/256.0;
+  prolongation[0](2,3) = 1.0/256.0;
+  prolongation[0](2,8) = -9.0/256.0;
+  prolongation[0](2,9) = -9.0/256.0;
+  prolongation[0](2,10) = -9.0/256.0;
+  prolongation[0](2,11) = -9.0/256.0;
+  prolongation[0](2,12) = -9.0/256.0;
+  prolongation[0](2,13) = -9.0/256.0;
+  prolongation[0](2,14) = -9.0/256.0;
+  prolongation[0](2,15) = -9.0/256.0;
+  prolongation[0](2,32) = 81.0/256.0;
+  prolongation[0](2,33) = 81.0/256.0;
+  prolongation[0](2,34) = 81.0/256.0;
+  prolongation[0](2,35) = 81.0/256.0;
+  prolongation[0](3,0) = -1.0/16.0;
+  prolongation[0](3,3) = -1.0/16.0;
+  prolongation[0](3,14) = 9.0/16.0;
+  prolongation[0](3,15) = 9.0/16.0;
+  prolongation[0](4,0) = -1.0/16.0;
+  prolongation[0](4,4) = -1.0/16.0;
+  prolongation[0](4,24) = 9.0/16.0;
+  prolongation[0](4,25) = 9.0/16.0;
+  prolongation[0](5,0) = 1.0/256.0;
+  prolongation[0](5,1) = 1.0/256.0;
+  prolongation[0](5,4) = 1.0/256.0;
+  prolongation[0](5,5) = 1.0/256.0;
+  prolongation[0](5,8) = -9.0/256.0;
+  prolongation[0](5,9) = -9.0/256.0;
+  prolongation[0](5,16) = -9.0/256.0;
+  prolongation[0](5,17) = -9.0/256.0;
+  prolongation[0](5,24) = -9.0/256.0;
+  prolongation[0](5,25) = -9.0/256.0;
+  prolongation[0](5,26) = -9.0/256.0;
+  prolongation[0](5,27) = -9.0/256.0;
+  prolongation[0](5,40) = 81.0/256.0;
+  prolongation[0](5,41) = 81.0/256.0;
+  prolongation[0](5,42) = 81.0/256.0;
+  prolongation[0](5,43) = 81.0/256.0;
+  prolongation[0](6,0) = -1.0/4096.0;
+  prolongation[0](6,1) = -1.0/4096.0;
+  prolongation[0](6,2) = -1.0/4096.0;
+  prolongation[0](6,3) = -1.0/4096.0;
+  prolongation[0](6,4) = -1.0/4096.0;
+  prolongation[0](6,5) = -1.0/4096.0;
+  prolongation[0](6,6) = -1.0/4096.0;
+  prolongation[0](6,7) = -1.0/4096.0;
+  prolongation[0](6,8) = 9.0/4096.0;
+  prolongation[0](6,9) = 9.0/4096.0;
+  prolongation[0](6,10) = 9.0/4096.0;
+  prolongation[0](6,11) = 9.0/4096.0;
+  prolongation[0](6,12) = 9.0/4096.0;
+  prolongation[0](6,13) = 9.0/4096.0;
+  prolongation[0](6,14) = 9.0/4096.0;
+  prolongation[0](6,15) = 9.0/4096.0;
+  prolongation[0](6,16) = 9.0/4096.0;
+  prolongation[0](6,17) = 9.0/4096.0;
+  prolongation[0](6,18) = 9.0/4096.0;
+  prolongation[0](6,19) = 9.0/4096.0;
+  prolongation[0](6,20) = 9.0/4096.0;
+  prolongation[0](6,21) = 9.0/4096.0;
+  prolongation[0](6,22) = 9.0/4096.0;
+  prolongation[0](6,23) = 9.0/4096.0;
+  prolongation[0](6,24) = 9.0/4096.0;
+  prolongation[0](6,25) = 9.0/4096.0;
+  prolongation[0](6,26) = 9.0/4096.0;
+  prolongation[0](6,27) = 9.0/4096.0;
+  prolongation[0](6,28) = 9.0/4096.0;
+  prolongation[0](6,29) = 9.0/4096.0;
+  prolongation[0](6,30) = 9.0/4096.0;
+  prolongation[0](6,31) = 9.0/4096.0;
+  prolongation[0](6,32) = -81.0/4096.0;
+  prolongation[0](6,33) = -81.0/4096.0;
+  prolongation[0](6,34) = -81.0/4096.0;
+  prolongation[0](6,35) = -81.0/4096.0;
+  prolongation[0](6,36) = -81.0/4096.0;
+  prolongation[0](6,37) = -81.0/4096.0;
+  prolongation[0](6,38) = -81.0/4096.0;
+  prolongation[0](6,39) = -81.0/4096.0;
+  prolongation[0](6,40) = -81.0/4096.0;
+  prolongation[0](6,41) = -81.0/4096.0;
+  prolongation[0](6,42) = -81.0/4096.0;
+  prolongation[0](6,43) = -81.0/4096.0;
+  prolongation[0](6,44) = -81.0/4096.0;
+  prolongation[0](6,45) = -81.0/4096.0;
+  prolongation[0](6,46) = -81.0/4096.0;
+  prolongation[0](6,47) = -81.0/4096.0;
+  prolongation[0](6,48) = -81.0/4096.0;
+  prolongation[0](6,49) = -81.0/4096.0;
+  prolongation[0](6,50) = -81.0/4096.0;
+  prolongation[0](6,51) = -81.0/4096.0;
+  prolongation[0](6,52) = -81.0/4096.0;
+  prolongation[0](6,53) = -81.0/4096.0;
+  prolongation[0](6,54) = -81.0/4096.0;
+  prolongation[0](6,55) = -81.0/4096.0;
+  prolongation[0](6,56) = 729.0/4096.0;
+  prolongation[0](6,57) = 729.0/4096.0;
+  prolongation[0](6,58) = 729.0/4096.0;
+  prolongation[0](6,59) = 729.0/4096.0;
+  prolongation[0](6,60) = 729.0/4096.0;
+  prolongation[0](6,61) = 729.0/4096.0;
+  prolongation[0](6,62) = 729.0/4096.0;
+  prolongation[0](6,63) = 729.0/4096.0;
+  prolongation[0](7,0) = 1.0/256.0;
+  prolongation[0](7,3) = 1.0/256.0;
+  prolongation[0](7,4) = 1.0/256.0;
+  prolongation[0](7,7) = 1.0/256.0;
+  prolongation[0](7,14) = -9.0/256.0;
+  prolongation[0](7,15) = -9.0/256.0;
+  prolongation[0](7,22) = -9.0/256.0;
+  prolongation[0](7,23) = -9.0/256.0;
+  prolongation[0](7,24) = -9.0/256.0;
+  prolongation[0](7,25) = -9.0/256.0;
+  prolongation[0](7,30) = -9.0/256.0;
+  prolongation[0](7,31) = -9.0/256.0;
+  prolongation[0](7,52) = 81.0/256.0;
+  prolongation[0](7,53) = 81.0/256.0;
+  prolongation[0](7,54) = 81.0/256.0;
+  prolongation[0](7,55) = 81.0/256.0;
+  prolongation[0](8,0) = 5.0/16.0;
+  prolongation[0](8,1) = 1.0/16.0;
+  prolongation[0](8,8) = 15.0/16.0;
+  prolongation[0](8,9) = -5.0/16.0;
+  prolongation[0](9,8) = 1.0;
+  prolongation[0](10,0) = -5.0/256.0;
+  prolongation[0](10,1) = -5.0/256.0;
+  prolongation[0](10,2) = -1.0/256.0;
+  prolongation[0](10,3) = -1.0/256.0;
+  prolongation[0](10,8) = 45.0/256.0;
+  prolongation[0](10,9) = 45.0/256.0;
+  prolongation[0](10,10) = -15.0/256.0;
+  prolongation[0](10,11) = 5.0/256.0;
+  prolongation[0](10,12) = 9.0/256.0;
+  prolongation[0](10,13) = 9.0/256.0;
+  prolongation[0](10,14) = -15.0/256.0;
+  prolongation[0](10,15) = 5.0/256.0;
+  prolongation[0](10,32) = 135.0/256.0;
+  prolongation[0](10,33) = 135.0/256.0;
+  prolongation[0](10,34) = -45.0/256.0;
+  prolongation[0](10,35) = -45.0/256.0;
+  prolongation[0](11,10) = -1.0/16.0;
+  prolongation[0](11,14) = -1.0/16.0;
+  prolongation[0](11,32) = 9.0/16.0;
+  prolongation[0](11,33) = 9.0/16.0;
+  prolongation[0](12,0) = -5.0/256.0;
+  prolongation[0](12,1) = -1.0/256.0;
+  prolongation[0](12,2) = -1.0/256.0;
+  prolongation[0](12,3) = -5.0/256.0;
+  prolongation[0](12,8) = -15.0/256.0;
+  prolongation[0](12,9) = 5.0/256.0;
+  prolongation[0](12,10) = 9.0/256.0;
+  prolongation[0](12,11) = 9.0/256.0;
+  prolongation[0](12,12) = -15.0/256.0;
+  prolongation[0](12,13) = 5.0/256.0;
+  prolongation[0](12,14) = 45.0/256.0;
+  prolongation[0](12,15) = 45.0/256.0;
+  prolongation[0](12,32) = 135.0/256.0;
+  prolongation[0](12,33) = -45.0/256.0;
+  prolongation[0](12,34) = 135.0/256.0;
+  prolongation[0](12,35) = -45.0/256.0;
+  prolongation[0](13,8) = -1.0/16.0;
+  prolongation[0](13,12) = -1.0/16.0;
+  prolongation[0](13,32) = 9.0/16.0;
+  prolongation[0](13,34) = 9.0/16.0;
+  prolongation[0](14,0) = 5.0/16.0;
+  prolongation[0](14,3) = 1.0/16.0;
+  prolongation[0](14,14) = 15.0/16.0;
+  prolongation[0](14,15) = -5.0/16.0;
+  prolongation[0](15,14) = 1.0;
+  prolongation[0](16,0) = -5.0/256.0;
+  prolongation[0](16,1) = -1.0/256.0;
+  prolongation[0](16,4) = -5.0/256.0;
+  prolongation[0](16,5) = -1.0/256.0;
+  prolongation[0](16,8) = -15.0/256.0;
+  prolongation[0](16,9) = 5.0/256.0;
+  prolongation[0](16,16) = -15.0/256.0;
+  prolongation[0](16,17) = 5.0/256.0;
+  prolongation[0](16,24) = 45.0/256.0;
+  prolongation[0](16,25) = 45.0/256.0;
+  prolongation[0](16,26) = 9.0/256.0;
+  prolongation[0](16,27) = 9.0/256.0;
+  prolongation[0](16,40) = 135.0/256.0;
+  prolongation[0](16,41) = -45.0/256.0;
+  prolongation[0](16,42) = 135.0/256.0;
+  prolongation[0](16,43) = -45.0/256.0;
+  prolongation[0](17,8) = -1.0/16.0;
+  prolongation[0](17,16) = -1.0/16.0;
+  prolongation[0](17,40) = 9.0/16.0;
+  prolongation[0](17,42) = 9.0/16.0;
+  prolongation[0](18,0) = 5.0/4096.0;
+  prolongation[0](18,1) = 5.0/4096.0;
+  prolongation[0](18,2) = 1.0/4096.0;
+  prolongation[0](18,3) = 1.0/4096.0;
+  prolongation[0](18,4) = 5.0/4096.0;
+  prolongation[0](18,5) = 5.0/4096.0;
+  prolongation[0](18,6) = 1.0/4096.0;
+  prolongation[0](18,7) = 1.0/4096.0;
+  prolongation[0](18,8) = -45.0/4096.0;
+  prolongation[0](18,9) = -45.0/4096.0;
+  prolongation[0](18,10) = 15.0/4096.0;
+  prolongation[0](18,11) = -5.0/4096.0;
+  prolongation[0](18,12) = -9.0/4096.0;
+  prolongation[0](18,13) = -9.0/4096.0;
+  prolongation[0](18,14) = 15.0/4096.0;
+  prolongation[0](18,15) = -5.0/4096.0;
+  prolongation[0](18,16) = -45.0/4096.0;
+  prolongation[0](18,17) = -45.0/4096.0;
+  prolongation[0](18,18) = 15.0/4096.0;
+  prolongation[0](18,19) = -5.0/4096.0;
+  prolongation[0](18,20) = -9.0/4096.0;
+  prolongation[0](18,21) = -9.0/4096.0;
+  prolongation[0](18,22) = 15.0/4096.0;
+  prolongation[0](18,23) = -5.0/4096.0;
+  prolongation[0](18,24) = -45.0/4096.0;
+  prolongation[0](18,25) = -45.0/4096.0;
+  prolongation[0](18,26) = -45.0/4096.0;
+  prolongation[0](18,27) = -45.0/4096.0;
+  prolongation[0](18,28) = -9.0/4096.0;
+  prolongation[0](18,29) = -9.0/4096.0;
+  prolongation[0](18,30) = -9.0/4096.0;
+  prolongation[0](18,31) = -9.0/4096.0;
+  prolongation[0](18,32) = -135.0/4096.0;
+  prolongation[0](18,33) = -135.0/4096.0;
+  prolongation[0](18,34) = 45.0/4096.0;
+  prolongation[0](18,35) = 45.0/4096.0;
+  prolongation[0](18,36) = -135.0/4096.0;
+  prolongation[0](18,37) = -135.0/4096.0;
+  prolongation[0](18,38) = 45.0/4096.0;
+  prolongation[0](18,39) = 45.0/4096.0;
+  prolongation[0](18,40) = 405.0/4096.0;
+  prolongation[0](18,41) = 405.0/4096.0;
+  prolongation[0](18,42) = 405.0/4096.0;
+  prolongation[0](18,43) = 405.0/4096.0;
+  prolongation[0](18,44) = -135.0/4096.0;
+  prolongation[0](18,45) = -135.0/4096.0;
+  prolongation[0](18,46) = 45.0/4096.0;
+  prolongation[0](18,47) = 45.0/4096.0;
+  prolongation[0](18,48) = 81.0/4096.0;
+  prolongation[0](18,49) = 81.0/4096.0;
+  prolongation[0](18,50) = 81.0/4096.0;
+  prolongation[0](18,51) = 81.0/4096.0;
+  prolongation[0](18,52) = -135.0/4096.0;
+  prolongation[0](18,53) = -135.0/4096.0;
+  prolongation[0](18,54) = 45.0/4096.0;
+  prolongation[0](18,55) = 45.0/4096.0;
+  prolongation[0](18,56) = 1215.0/4096.0;
+  prolongation[0](18,57) = 1215.0/4096.0;
+  prolongation[0](18,58) = 1215.0/4096.0;
+  prolongation[0](18,59) = 1215.0/4096.0;
+  prolongation[0](18,60) = -405.0/4096.0;
+  prolongation[0](18,61) = -405.0/4096.0;
+  prolongation[0](18,62) = -405.0/4096.0;
+  prolongation[0](18,63) = -405.0/4096.0;
+  prolongation[0](19,10) = 1.0/256.0;
+  prolongation[0](19,14) = 1.0/256.0;
+  prolongation[0](19,18) = 1.0/256.0;
+  prolongation[0](19,22) = 1.0/256.0;
+  prolongation[0](19,32) = -9.0/256.0;
+  prolongation[0](19,33) = -9.0/256.0;
+  prolongation[0](19,36) = -9.0/256.0;
+  prolongation[0](19,37) = -9.0/256.0;
+  prolongation[0](19,44) = -9.0/256.0;
+  prolongation[0](19,45) = -9.0/256.0;
+  prolongation[0](19,52) = -9.0/256.0;
+  prolongation[0](19,53) = -9.0/256.0;
+  prolongation[0](19,56) = 81.0/256.0;
+  prolongation[0](19,57) = 81.0/256.0;
+  prolongation[0](19,58) = 81.0/256.0;
+  prolongation[0](19,59) = 81.0/256.0;
+  prolongation[0](20,0) = 5.0/4096.0;
+  prolongation[0](20,1) = 1.0/4096.0;
+  prolongation[0](20,2) = 1.0/4096.0;
+  prolongation[0](20,3) = 5.0/4096.0;
+  prolongation[0](20,4) = 5.0/4096.0;
+  prolongation[0](20,5) = 1.0/4096.0;
+  prolongation[0](20,6) = 1.0/4096.0;
+  prolongation[0](20,7) = 5.0/4096.0;
+  prolongation[0](20,8) = 15.0/4096.0;
+  prolongation[0](20,9) = -5.0/4096.0;
+  prolongation[0](20,10) = -9.0/4096.0;
+  prolongation[0](20,11) = -9.0/4096.0;
+  prolongation[0](20,12) = 15.0/4096.0;
+  prolongation[0](20,13) = -5.0/4096.0;
+  prolongation[0](20,14) = -45.0/4096.0;
+  prolongation[0](20,15) = -45.0/4096.0;
+  prolongation[0](20,16) = 15.0/4096.0;
+  prolongation[0](20,17) = -5.0/4096.0;
+  prolongation[0](20,18) = -9.0/4096.0;
+  prolongation[0](20,19) = -9.0/4096.0;
+  prolongation[0](20,20) = 15.0/4096.0;
+  prolongation[0](20,21) = -5.0/4096.0;
+  prolongation[0](20,22) = -45.0/4096.0;
+  prolongation[0](20,23) = -45.0/4096.0;
+  prolongation[0](20,24) = -45.0/4096.0;
+  prolongation[0](20,25) = -45.0/4096.0;
+  prolongation[0](20,26) = -9.0/4096.0;
+  prolongation[0](20,27) = -9.0/4096.0;
+  prolongation[0](20,28) = -9.0/4096.0;
+  prolongation[0](20,29) = -9.0/4096.0;
+  prolongation[0](20,30) = -45.0/4096.0;
+  prolongation[0](20,31) = -45.0/4096.0;
+  prolongation[0](20,32) = -135.0/4096.0;
+  prolongation[0](20,33) = 45.0/4096.0;
+  prolongation[0](20,34) = -135.0/4096.0;
+  prolongation[0](20,35) = 45.0/4096.0;
+  prolongation[0](20,36) = -135.0/4096.0;
+  prolongation[0](20,37) = 45.0/4096.0;
+  prolongation[0](20,38) = -135.0/4096.0;
+  prolongation[0](20,39) = 45.0/4096.0;
+  prolongation[0](20,40) = -135.0/4096.0;
+  prolongation[0](20,41) = 45.0/4096.0;
+  prolongation[0](20,42) = -135.0/4096.0;
+  prolongation[0](20,43) = 45.0/4096.0;
+  prolongation[0](20,44) = 81.0/4096.0;
+  prolongation[0](20,45) = 81.0/4096.0;
+  prolongation[0](20,46) = 81.0/4096.0;
+  prolongation[0](20,47) = 81.0/4096.0;
+  prolongation[0](20,48) = -135.0/4096.0;
+  prolongation[0](20,49) = 45.0/4096.0;
+  prolongation[0](20,50) = -135.0/4096.0;
+  prolongation[0](20,51) = 45.0/4096.0;
+  prolongation[0](20,52) = 405.0/4096.0;
+  prolongation[0](20,53) = 405.0/4096.0;
+  prolongation[0](20,54) = 405.0/4096.0;
+  prolongation[0](20,55) = 405.0/4096.0;
+  prolongation[0](20,56) = 1215.0/4096.0;
+  prolongation[0](20,57) = -405.0/4096.0;
+  prolongation[0](20,58) = 1215.0/4096.0;
+  prolongation[0](20,59) = -405.0/4096.0;
+  prolongation[0](20,60) = 1215.0/4096.0;
+  prolongation[0](20,61) = -405.0/4096.0;
+  prolongation[0](20,62) = 1215.0/4096.0;
+  prolongation[0](20,63) = -405.0/4096.0;
+  prolongation[0](21,8) = 1.0/256.0;
+  prolongation[0](21,12) = 1.0/256.0;
+  prolongation[0](21,16) = 1.0/256.0;
+  prolongation[0](21,20) = 1.0/256.0;
+  prolongation[0](21,32) = -9.0/256.0;
+  prolongation[0](21,34) = -9.0/256.0;
+  prolongation[0](21,36) = -9.0/256.0;
+  prolongation[0](21,38) = -9.0/256.0;
+  prolongation[0](21,40) = -9.0/256.0;
+  prolongation[0](21,42) = -9.0/256.0;
+  prolongation[0](21,48) = -9.0/256.0;
+  prolongation[0](21,50) = -9.0/256.0;
+  prolongation[0](21,56) = 81.0/256.0;
+  prolongation[0](21,58) = 81.0/256.0;
+  prolongation[0](21,60) = 81.0/256.0;
+  prolongation[0](21,62) = 81.0/256.0;
+  prolongation[0](22,0) = -5.0/256.0;
+  prolongation[0](22,3) = -1.0/256.0;
+  prolongation[0](22,4) = -5.0/256.0;
+  prolongation[0](22,7) = -1.0/256.0;
+  prolongation[0](22,14) = -15.0/256.0;
+  prolongation[0](22,15) = 5.0/256.0;
+  prolongation[0](22,22) = -15.0/256.0;
+  prolongation[0](22,23) = 5.0/256.0;
+  prolongation[0](22,24) = 45.0/256.0;
+  prolongation[0](22,25) = 45.0/256.0;
+  prolongation[0](22,30) = 9.0/256.0;
+  prolongation[0](22,31) = 9.0/256.0;
+  prolongation[0](22,52) = 135.0/256.0;
+  prolongation[0](22,53) = 135.0/256.0;
+  prolongation[0](22,54) = -45.0/256.0;
+  prolongation[0](22,55) = -45.0/256.0;
+  prolongation[0](23,14) = -1.0/16.0;
+  prolongation[0](23,22) = -1.0/16.0;
+  prolongation[0](23,52) = 9.0/16.0;
+  prolongation[0](23,53) = 9.0/16.0;
+  prolongation[0](24,0) = 5.0/16.0;
+  prolongation[0](24,4) = 1.0/16.0;
+  prolongation[0](24,24) = 15.0/16.0;
+  prolongation[0](24,25) = -5.0/16.0;
+  prolongation[0](25,24) = 1.0;
+  prolongation[0](26,0) = -5.0/256.0;
+  prolongation[0](26,1) = -5.0/256.0;
+  prolongation[0](26,4) = -1.0/256.0;
+  prolongation[0](26,5) = -1.0/256.0;
+  prolongation[0](26,8) = 45.0/256.0;
+  prolongation[0](26,9) = 45.0/256.0;
+  prolongation[0](26,16) = 9.0/256.0;
+  prolongation[0](26,17) = 9.0/256.0;
+  prolongation[0](26,24) = -15.0/256.0;
+  prolongation[0](26,25) = 5.0/256.0;
+  prolongation[0](26,26) = -15.0/256.0;
+  prolongation[0](26,27) = 5.0/256.0;
+  prolongation[0](26,40) = 135.0/256.0;
+  prolongation[0](26,41) = 135.0/256.0;
+  prolongation[0](26,42) = -45.0/256.0;
+  prolongation[0](26,43) = -45.0/256.0;
+  prolongation[0](27,24) = -1.0/16.0;
+  prolongation[0](27,26) = -1.0/16.0;
+  prolongation[0](27,40) = 9.0/16.0;
+  prolongation[0](27,41) = 9.0/16.0;
+  prolongation[0](28,0) = 5.0/4096.0;
+  prolongation[0](28,1) = 5.0/4096.0;
+  prolongation[0](28,2) = 5.0/4096.0;
+  prolongation[0](28,3) = 5.0/4096.0;
+  prolongation[0](28,4) = 1.0/4096.0;
+  prolongation[0](28,5) = 1.0/4096.0;
+  prolongation[0](28,6) = 1.0/4096.0;
+  prolongation[0](28,7) = 1.0/4096.0;
+  prolongation[0](28,8) = -45.0/4096.0;
+  prolongation[0](28,9) = -45.0/4096.0;
+  prolongation[0](28,10) = -45.0/4096.0;
+  prolongation[0](28,11) = -45.0/4096.0;
+  prolongation[0](28,12) = -45.0/4096.0;
+  prolongation[0](28,13) = -45.0/4096.0;
+  prolongation[0](28,14) = -45.0/4096.0;
+  prolongation[0](28,15) = -45.0/4096.0;
+  prolongation[0](28,16) = -9.0/4096.0;
+  prolongation[0](28,17) = -9.0/4096.0;
+  prolongation[0](28,18) = -9.0/4096.0;
+  prolongation[0](28,19) = -9.0/4096.0;
+  prolongation[0](28,20) = -9.0/4096.0;
+  prolongation[0](28,21) = -9.0/4096.0;
+  prolongation[0](28,22) = -9.0/4096.0;
+  prolongation[0](28,23) = -9.0/4096.0;
+  prolongation[0](28,24) = 15.0/4096.0;
+  prolongation[0](28,25) = -5.0/4096.0;
+  prolongation[0](28,26) = 15.0/4096.0;
+  prolongation[0](28,27) = -5.0/4096.0;
+  prolongation[0](28,28) = 15.0/4096.0;
+  prolongation[0](28,29) = -5.0/4096.0;
+  prolongation[0](28,30) = 15.0/4096.0;
+  prolongation[0](28,31) = -5.0/4096.0;
+  prolongation[0](28,32) = 405.0/4096.0;
+  prolongation[0](28,33) = 405.0/4096.0;
+  prolongation[0](28,34) = 405.0/4096.0;
+  prolongation[0](28,35) = 405.0/4096.0;
+  prolongation[0](28,36) = 81.0/4096.0;
+  prolongation[0](28,37) = 81.0/4096.0;
+  prolongation[0](28,38) = 81.0/4096.0;
+  prolongation[0](28,39) = 81.0/4096.0;
+  prolongation[0](28,40) = -135.0/4096.0;
+  prolongation[0](28,41) = -135.0/4096.0;
+  prolongation[0](28,42) = 45.0/4096.0;
+  prolongation[0](28,43) = 45.0/4096.0;
+  prolongation[0](28,44) = -135.0/4096.0;
+  prolongation[0](28,45) = 45.0/4096.0;
+  prolongation[0](28,46) = -135.0/4096.0;
+  prolongation[0](28,47) = 45.0/4096.0;
+  prolongation[0](28,48) = -135.0/4096.0;
+  prolongation[0](28,49) = -135.0/4096.0;
+  prolongation[0](28,50) = 45.0/4096.0;
+  prolongation[0](28,51) = 45.0/4096.0;
+  prolongation[0](28,52) = -135.0/4096.0;
+  prolongation[0](28,53) = 45.0/4096.0;
+  prolongation[0](28,54) = -135.0/4096.0;
+  prolongation[0](28,55) = 45.0/4096.0;
+  prolongation[0](28,56) = 1215.0/4096.0;
+  prolongation[0](28,57) = 1215.0/4096.0;
+  prolongation[0](28,58) = -405.0/4096.0;
+  prolongation[0](28,59) = -405.0/4096.0;
+  prolongation[0](28,60) = 1215.0/4096.0;
+  prolongation[0](28,61) = 1215.0/4096.0;
+  prolongation[0](28,62) = -405.0/4096.0;
+  prolongation[0](28,63) = -405.0/4096.0;
+  prolongation[0](29,24) = 1.0/256.0;
+  prolongation[0](29,26) = 1.0/256.0;
+  prolongation[0](29,28) = 1.0/256.0;
+  prolongation[0](29,30) = 1.0/256.0;
+  prolongation[0](29,40) = -9.0/256.0;
+  prolongation[0](29,41) = -9.0/256.0;
+  prolongation[0](29,44) = -9.0/256.0;
+  prolongation[0](29,46) = -9.0/256.0;
+  prolongation[0](29,48) = -9.0/256.0;
+  prolongation[0](29,49) = -9.0/256.0;
+  prolongation[0](29,52) = -9.0/256.0;
+  prolongation[0](29,54) = -9.0/256.0;
+  prolongation[0](29,56) = 81.0/256.0;
+  prolongation[0](29,57) = 81.0/256.0;
+  prolongation[0](29,60) = 81.0/256.0;
+  prolongation[0](29,61) = 81.0/256.0;
+  prolongation[0](30,0) = -5.0/256.0;
+  prolongation[0](30,3) = -5.0/256.0;
+  prolongation[0](30,4) = -1.0/256.0;
+  prolongation[0](30,7) = -1.0/256.0;
+  prolongation[0](30,14) = 45.0/256.0;
+  prolongation[0](30,15) = 45.0/256.0;
+  prolongation[0](30,22) = 9.0/256.0;
+  prolongation[0](30,23) = 9.0/256.0;
+  prolongation[0](30,24) = -15.0/256.0;
+  prolongation[0](30,25) = 5.0/256.0;
+  prolongation[0](30,30) = -15.0/256.0;
+  prolongation[0](30,31) = 5.0/256.0;
+  prolongation[0](30,52) = 135.0/256.0;
+  prolongation[0](30,53) = -45.0/256.0;
+  prolongation[0](30,54) = 135.0/256.0;
+  prolongation[0](30,55) = -45.0/256.0;
+  prolongation[0](31,24) = -1.0/16.0;
+  prolongation[0](31,30) = -1.0/16.0;
+  prolongation[0](31,52) = 9.0/16.0;
+  prolongation[0](31,54) = 9.0/16.0;
+  prolongation[0](32,0) = 25.0/256.0;
+  prolongation[0](32,1) = 5.0/256.0;
+  prolongation[0](32,2) = 1.0/256.0;
+  prolongation[0](32,3) = 5.0/256.0;
+  prolongation[0](32,8) = 75.0/256.0;
+  prolongation[0](32,9) = -25.0/256.0;
+  prolongation[0](32,10) = 15.0/256.0;
+  prolongation[0](32,11) = -5.0/256.0;
+  prolongation[0](32,12) = 15.0/256.0;
+  prolongation[0](32,13) = -5.0/256.0;
+  prolongation[0](32,14) = 75.0/256.0;
+  prolongation[0](32,15) = -25.0/256.0;
+  prolongation[0](32,32) = 225.0/256.0;
+  prolongation[0](32,33) = -75.0/256.0;
+  prolongation[0](32,34) = -75.0/256.0;
+  prolongation[0](32,35) = 25.0/256.0;
+  prolongation[0](33,8) = 5.0/16.0;
+  prolongation[0](33,12) = 1.0/16.0;
+  prolongation[0](33,32) = 15.0/16.0;
+  prolongation[0](33,34) = -5.0/16.0;
+  prolongation[0](34,10) = 1.0/16.0;
+  prolongation[0](34,14) = 5.0/16.0;
+  prolongation[0](34,32) = 15.0/16.0;
+  prolongation[0](34,33) = -5.0/16.0;
+  prolongation[0](35,32) = 1.0;
+  prolongation[0](36,0) = -25.0/4096.0;
+  prolongation[0](36,1) = -5.0/4096.0;
+  prolongation[0](36,2) = -1.0/4096.0;
+  prolongation[0](36,3) = -5.0/4096.0;
+  prolongation[0](36,4) = -25.0/4096.0;
+  prolongation[0](36,5) = -5.0/4096.0;
+  prolongation[0](36,6) = -1.0/4096.0;
+  prolongation[0](36,7) = -5.0/4096.0;
+  prolongation[0](36,8) = -75.0/4096.0;
+  prolongation[0](36,9) = 25.0/4096.0;
+  prolongation[0](36,10) = -15.0/4096.0;
+  prolongation[0](36,11) = 5.0/4096.0;
+  prolongation[0](36,12) = -15.0/4096.0;
+  prolongation[0](36,13) = 5.0/4096.0;
+  prolongation[0](36,14) = -75.0/4096.0;
+  prolongation[0](36,15) = 25.0/4096.0;
+  prolongation[0](36,16) = -75.0/4096.0;
+  prolongation[0](36,17) = 25.0/4096.0;
+  prolongation[0](36,18) = -15.0/4096.0;
+  prolongation[0](36,19) = 5.0/4096.0;
+  prolongation[0](36,20) = -15.0/4096.0;
+  prolongation[0](36,21) = 5.0/4096.0;
+  prolongation[0](36,22) = -75.0/4096.0;
+  prolongation[0](36,23) = 25.0/4096.0;
+  prolongation[0](36,24) = 225.0/4096.0;
+  prolongation[0](36,25) = 225.0/4096.0;
+  prolongation[0](36,26) = 45.0/4096.0;
+  prolongation[0](36,27) = 45.0/4096.0;
+  prolongation[0](36,28) = 9.0/4096.0;
+  prolongation[0](36,29) = 9.0/4096.0;
+  prolongation[0](36,30) = 45.0/4096.0;
+  prolongation[0](36,31) = 45.0/4096.0;
+  prolongation[0](36,32) = -225.0/4096.0;
+  prolongation[0](36,33) = 75.0/4096.0;
+  prolongation[0](36,34) = 75.0/4096.0;
+  prolongation[0](36,35) = -25.0/4096.0;
+  prolongation[0](36,36) = -225.0/4096.0;
+  prolongation[0](36,37) = 75.0/4096.0;
+  prolongation[0](36,38) = 75.0/4096.0;
+  prolongation[0](36,39) = -25.0/4096.0;
+  prolongation[0](36,40) = 675.0/4096.0;
+  prolongation[0](36,41) = -225.0/4096.0;
+  prolongation[0](36,42) = 675.0/4096.0;
+  prolongation[0](36,43) = -225.0/4096.0;
+  prolongation[0](36,44) = 135.0/4096.0;
+  prolongation[0](36,45) = 135.0/4096.0;
+  prolongation[0](36,46) = -45.0/4096.0;
+  prolongation[0](36,47) = -45.0/4096.0;
+  prolongation[0](36,48) = 135.0/4096.0;
+  prolongation[0](36,49) = -45.0/4096.0;
+  prolongation[0](36,50) = 135.0/4096.0;
+  prolongation[0](36,51) = -45.0/4096.0;
+  prolongation[0](36,52) = 675.0/4096.0;
+  prolongation[0](36,53) = 675.0/4096.0;
+  prolongation[0](36,54) = -225.0/4096.0;
+  prolongation[0](36,55) = -225.0/4096.0;
+  prolongation[0](36,56) = 2025.0/4096.0;
+  prolongation[0](36,57) = -675.0/4096.0;
+  prolongation[0](36,58) = 2025.0/4096.0;
+  prolongation[0](36,59) = -675.0/4096.0;
+  prolongation[0](36,60) = -675.0/4096.0;
+  prolongation[0](36,61) = 225.0/4096.0;
+  prolongation[0](36,62) = -675.0/4096.0;
+  prolongation[0](36,63) = 225.0/4096.0;
+  prolongation[0](37,8) = -5.0/256.0;
+  prolongation[0](37,12) = -1.0/256.0;
+  prolongation[0](37,16) = -5.0/256.0;
+  prolongation[0](37,20) = -1.0/256.0;
+  prolongation[0](37,32) = -15.0/256.0;
+  prolongation[0](37,34) = 5.0/256.0;
+  prolongation[0](37,36) = -15.0/256.0;
+  prolongation[0](37,38) = 5.0/256.0;
+  prolongation[0](37,40) = 45.0/256.0;
+  prolongation[0](37,42) = 45.0/256.0;
+  prolongation[0](37,48) = 9.0/256.0;
+  prolongation[0](37,50) = 9.0/256.0;
+  prolongation[0](37,56) = 135.0/256.0;
+  prolongation[0](37,58) = 135.0/256.0;
+  prolongation[0](37,60) = -45.0/256.0;
+  prolongation[0](37,62) = -45.0/256.0;
+  prolongation[0](38,10) = -1.0/256.0;
+  prolongation[0](38,14) = -5.0/256.0;
+  prolongation[0](38,18) = -1.0/256.0;
+  prolongation[0](38,22) = -5.0/256.0;
+  prolongation[0](38,32) = -15.0/256.0;
+  prolongation[0](38,33) = 5.0/256.0;
+  prolongation[0](38,36) = -15.0/256.0;
+  prolongation[0](38,37) = 5.0/256.0;
+  prolongation[0](38,44) = 9.0/256.0;
+  prolongation[0](38,45) = 9.0/256.0;
+  prolongation[0](38,52) = 45.0/256.0;
+  prolongation[0](38,53) = 45.0/256.0;
+  prolongation[0](38,56) = 135.0/256.0;
+  prolongation[0](38,57) = -45.0/256.0;
+  prolongation[0](38,58) = 135.0/256.0;
+  prolongation[0](38,59) = -45.0/256.0;
+  prolongation[0](39,32) = -1.0/16.0;
+  prolongation[0](39,36) = -1.0/16.0;
+  prolongation[0](39,56) = 9.0/16.0;
+  prolongation[0](39,58) = 9.0/16.0;
+  prolongation[0](40,0) = 25.0/256.0;
+  prolongation[0](40,1) = 5.0/256.0;
+  prolongation[0](40,4) = 5.0/256.0;
+  prolongation[0](40,5) = 1.0/256.0;
+  prolongation[0](40,8) = 75.0/256.0;
+  prolongation[0](40,9) = -25.0/256.0;
+  prolongation[0](40,16) = 15.0/256.0;
+  prolongation[0](40,17) = -5.0/256.0;
+  prolongation[0](40,24) = 75.0/256.0;
+  prolongation[0](40,25) = -25.0/256.0;
+  prolongation[0](40,26) = 15.0/256.0;
+  prolongation[0](40,27) = -5.0/256.0;
+  prolongation[0](40,40) = 225.0/256.0;
+  prolongation[0](40,41) = -75.0/256.0;
+  prolongation[0](40,42) = -75.0/256.0;
+  prolongation[0](40,43) = 25.0/256.0;
+  prolongation[0](41,8) = 5.0/16.0;
+  prolongation[0](41,16) = 1.0/16.0;
+  prolongation[0](41,40) = 15.0/16.0;
+  prolongation[0](41,42) = -5.0/16.0;
+  prolongation[0](42,24) = 5.0/16.0;
+  prolongation[0](42,26) = 1.0/16.0;
+  prolongation[0](42,40) = 15.0/16.0;
+  prolongation[0](42,41) = -5.0/16.0;
+  prolongation[0](43,40) = 1.0;
+  prolongation[0](44,0) = -25.0/4096.0;
+  prolongation[0](44,1) = -25.0/4096.0;
+  prolongation[0](44,2) = -5.0/4096.0;
+  prolongation[0](44,3) = -5.0/4096.0;
+  prolongation[0](44,4) = -5.0/4096.0;
+  prolongation[0](44,5) = -5.0/4096.0;
+  prolongation[0](44,6) = -1.0/4096.0;
+  prolongation[0](44,7) = -1.0/4096.0;
+  prolongation[0](44,8) = 225.0/4096.0;
+  prolongation[0](44,9) = 225.0/4096.0;
+  prolongation[0](44,10) = -75.0/4096.0;
+  prolongation[0](44,11) = 25.0/4096.0;
+  prolongation[0](44,12) = 45.0/4096.0;
+  prolongation[0](44,13) = 45.0/4096.0;
+  prolongation[0](44,14) = -75.0/4096.0;
+  prolongation[0](44,15) = 25.0/4096.0;
+  prolongation[0](44,16) = 45.0/4096.0;
+  prolongation[0](44,17) = 45.0/4096.0;
+  prolongation[0](44,18) = -15.0/4096.0;
+  prolongation[0](44,19) = 5.0/4096.0;
+  prolongation[0](44,20) = 9.0/4096.0;
+  prolongation[0](44,21) = 9.0/4096.0;
+  prolongation[0](44,22) = -15.0/4096.0;
+  prolongation[0](44,23) = 5.0/4096.0;
+  prolongation[0](44,24) = -75.0/4096.0;
+  prolongation[0](44,25) = 25.0/4096.0;
+  prolongation[0](44,26) = -75.0/4096.0;
+  prolongation[0](44,27) = 25.0/4096.0;
+  prolongation[0](44,28) = -15.0/4096.0;
+  prolongation[0](44,29) = 5.0/4096.0;
+  prolongation[0](44,30) = -15.0/4096.0;
+  prolongation[0](44,31) = 5.0/4096.0;
+  prolongation[0](44,32) = 675.0/4096.0;
+  prolongation[0](44,33) = 675.0/4096.0;
+  prolongation[0](44,34) = -225.0/4096.0;
+  prolongation[0](44,35) = -225.0/4096.0;
+  prolongation[0](44,36) = 135.0/4096.0;
+  prolongation[0](44,37) = 135.0/4096.0;
+  prolongation[0](44,38) = -45.0/4096.0;
+  prolongation[0](44,39) = -45.0/4096.0;
+  prolongation[0](44,40) = 675.0/4096.0;
+  prolongation[0](44,41) = 675.0/4096.0;
+  prolongation[0](44,42) = -225.0/4096.0;
+  prolongation[0](44,43) = -225.0/4096.0;
+  prolongation[0](44,44) = -225.0/4096.0;
+  prolongation[0](44,45) = 75.0/4096.0;
+  prolongation[0](44,46) = 75.0/4096.0;
+  prolongation[0](44,47) = -25.0/4096.0;
+  prolongation[0](44,48) = 135.0/4096.0;
+  prolongation[0](44,49) = 135.0/4096.0;
+  prolongation[0](44,50) = -45.0/4096.0;
+  prolongation[0](44,51) = -45.0/4096.0;
+  prolongation[0](44,52) = -225.0/4096.0;
+  prolongation[0](44,53) = 75.0/4096.0;
+  prolongation[0](44,54) = 75.0/4096.0;
+  prolongation[0](44,55) = -25.0/4096.0;
+  prolongation[0](44,56) = 2025.0/4096.0;
+  prolongation[0](44,57) = 2025.0/4096.0;
+  prolongation[0](44,58) = -675.0/4096.0;
+  prolongation[0](44,59) = -675.0/4096.0;
+  prolongation[0](44,60) = -675.0/4096.0;
+  prolongation[0](44,61) = -675.0/4096.0;
+  prolongation[0](44,62) = 225.0/4096.0;
+  prolongation[0](44,63) = 225.0/4096.0;
+  prolongation[0](45,24) = -5.0/256.0;
+  prolongation[0](45,26) = -5.0/256.0;
+  prolongation[0](45,28) = -1.0/256.0;
+  prolongation[0](45,30) = -1.0/256.0;
+  prolongation[0](45,40) = 45.0/256.0;
+  prolongation[0](45,41) = 45.0/256.0;
+  prolongation[0](45,44) = -15.0/256.0;
+  prolongation[0](45,46) = 5.0/256.0;
+  prolongation[0](45,48) = 9.0/256.0;
+  prolongation[0](45,49) = 9.0/256.0;
+  prolongation[0](45,52) = -15.0/256.0;
+  prolongation[0](45,54) = 5.0/256.0;
+  prolongation[0](45,56) = 135.0/256.0;
+  prolongation[0](45,57) = 135.0/256.0;
+  prolongation[0](45,60) = -45.0/256.0;
+  prolongation[0](45,61) = -45.0/256.0;
+  prolongation[0](46,10) = -5.0/256.0;
+  prolongation[0](46,14) = -5.0/256.0;
+  prolongation[0](46,18) = -1.0/256.0;
+  prolongation[0](46,22) = -1.0/256.0;
+  prolongation[0](46,32) = 45.0/256.0;
+  prolongation[0](46,33) = 45.0/256.0;
+  prolongation[0](46,36) = 9.0/256.0;
+  prolongation[0](46,37) = 9.0/256.0;
+  prolongation[0](46,44) = -15.0/256.0;
+  prolongation[0](46,45) = 5.0/256.0;
+  prolongation[0](46,52) = -15.0/256.0;
+  prolongation[0](46,53) = 5.0/256.0;
+  prolongation[0](46,56) = 135.0/256.0;
+  prolongation[0](46,57) = 135.0/256.0;
+  prolongation[0](46,58) = -45.0/256.0;
+  prolongation[0](46,59) = -45.0/256.0;
+  prolongation[0](47,44) = -1.0/16.0;
+  prolongation[0](47,52) = -1.0/16.0;
+  prolongation[0](47,56) = 9.0/16.0;
+  prolongation[0](47,57) = 9.0/16.0;
+  prolongation[0](48,0) = -25.0/4096.0;
+  prolongation[0](48,1) = -5.0/4096.0;
+  prolongation[0](48,2) = -5.0/4096.0;
+  prolongation[0](48,3) = -25.0/4096.0;
+  prolongation[0](48,4) = -5.0/4096.0;
+  prolongation[0](48,5) = -1.0/4096.0;
+  prolongation[0](48,6) = -1.0/4096.0;
+  prolongation[0](48,7) = -5.0/4096.0;
+  prolongation[0](48,8) = -75.0/4096.0;
+  prolongation[0](48,9) = 25.0/4096.0;
+  prolongation[0](48,10) = 45.0/4096.0;
+  prolongation[0](48,11) = 45.0/4096.0;
+  prolongation[0](48,12) = -75.0/4096.0;
+  prolongation[0](48,13) = 25.0/4096.0;
+  prolongation[0](48,14) = 225.0/4096.0;
+  prolongation[0](48,15) = 225.0/4096.0;
+  prolongation[0](48,16) = -15.0/4096.0;
+  prolongation[0](48,17) = 5.0/4096.0;
+  prolongation[0](48,18) = 9.0/4096.0;
+  prolongation[0](48,19) = 9.0/4096.0;
+  prolongation[0](48,20) = -15.0/4096.0;
+  prolongation[0](48,21) = 5.0/4096.0;
+  prolongation[0](48,22) = 45.0/4096.0;
+  prolongation[0](48,23) = 45.0/4096.0;
+  prolongation[0](48,24) = -75.0/4096.0;
+  prolongation[0](48,25) = 25.0/4096.0;
+  prolongation[0](48,26) = -15.0/4096.0;
+  prolongation[0](48,27) = 5.0/4096.0;
+  prolongation[0](48,28) = -15.0/4096.0;
+  prolongation[0](48,29) = 5.0/4096.0;
+  prolongation[0](48,30) = -75.0/4096.0;
+  prolongation[0](48,31) = 25.0/4096.0;
+  prolongation[0](48,32) = 675.0/4096.0;
+  prolongation[0](48,33) = -225.0/4096.0;
+  prolongation[0](48,34) = 675.0/4096.0;
+  prolongation[0](48,35) = -225.0/4096.0;
+  prolongation[0](48,36) = 135.0/4096.0;
+  prolongation[0](48,37) = -45.0/4096.0;
+  prolongation[0](48,38) = 135.0/4096.0;
+  prolongation[0](48,39) = -45.0/4096.0;
+  prolongation[0](48,40) = -225.0/4096.0;
+  prolongation[0](48,41) = 75.0/4096.0;
+  prolongation[0](48,42) = 75.0/4096.0;
+  prolongation[0](48,43) = -25.0/4096.0;
+  prolongation[0](48,44) = 135.0/4096.0;
+  prolongation[0](48,45) = -45.0/4096.0;
+  prolongation[0](48,46) = 135.0/4096.0;
+  prolongation[0](48,47) = -45.0/4096.0;
+  prolongation[0](48,48) = -225.0/4096.0;
+  prolongation[0](48,49) = 75.0/4096.0;
+  prolongation[0](48,50) = 75.0/4096.0;
+  prolongation[0](48,51) = -25.0/4096.0;
+  prolongation[0](48,52) = 675.0/4096.0;
+  prolongation[0](48,53) = -225.0/4096.0;
+  prolongation[0](48,54) = 675.0/4096.0;
+  prolongation[0](48,55) = -225.0/4096.0;
+  prolongation[0](48,56) = 2025.0/4096.0;
+  prolongation[0](48,57) = -675.0/4096.0;
+  prolongation[0](48,58) = -675.0/4096.0;
+  prolongation[0](48,59) = 225.0/4096.0;
+  prolongation[0](48,60) = 2025.0/4096.0;
+  prolongation[0](48,61) = -675.0/4096.0;
+  prolongation[0](48,62) = -675.0/4096.0;
+  prolongation[0](48,63) = 225.0/4096.0;
+  prolongation[0](49,8) = -5.0/256.0;
+  prolongation[0](49,12) = -5.0/256.0;
+  prolongation[0](49,16) = -1.0/256.0;
+  prolongation[0](49,20) = -1.0/256.0;
+  prolongation[0](49,32) = 45.0/256.0;
+  prolongation[0](49,34) = 45.0/256.0;
+  prolongation[0](49,36) = 9.0/256.0;
+  prolongation[0](49,38) = 9.0/256.0;
+  prolongation[0](49,40) = -15.0/256.0;
+  prolongation[0](49,42) = 5.0/256.0;
+  prolongation[0](49,48) = -15.0/256.0;
+  prolongation[0](49,50) = 5.0/256.0;
+  prolongation[0](49,56) = 135.0/256.0;
+  prolongation[0](49,58) = -45.0/256.0;
+  prolongation[0](49,60) = 135.0/256.0;
+  prolongation[0](49,62) = -45.0/256.0;
+  prolongation[0](50,24) = -5.0/256.0;
+  prolongation[0](50,26) = -1.0/256.0;
+  prolongation[0](50,28) = -1.0/256.0;
+  prolongation[0](50,30) = -5.0/256.0;
+  prolongation[0](50,40) = -15.0/256.0;
+  prolongation[0](50,41) = 5.0/256.0;
+  prolongation[0](50,44) = 9.0/256.0;
+  prolongation[0](50,46) = 9.0/256.0;
+  prolongation[0](50,48) = -15.0/256.0;
+  prolongation[0](50,49) = 5.0/256.0;
+  prolongation[0](50,52) = 45.0/256.0;
+  prolongation[0](50,54) = 45.0/256.0;
+  prolongation[0](50,56) = 135.0/256.0;
+  prolongation[0](50,57) = -45.0/256.0;
+  prolongation[0](50,60) = 135.0/256.0;
+  prolongation[0](50,61) = -45.0/256.0;
+  prolongation[0](51,40) = -1.0/16.0;
+  prolongation[0](51,48) = -1.0/16.0;
+  prolongation[0](51,56) = 9.0/16.0;
+  prolongation[0](51,60) = 9.0/16.0;
+  prolongation[0](52,0) = 25.0/256.0;
+  prolongation[0](52,3) = 5.0/256.0;
+  prolongation[0](52,4) = 5.0/256.0;
+  prolongation[0](52,7) = 1.0/256.0;
+  prolongation[0](52,14) = 75.0/256.0;
+  prolongation[0](52,15) = -25.0/256.0;
+  prolongation[0](52,22) = 15.0/256.0;
+  prolongation[0](52,23) = -5.0/256.0;
+  prolongation[0](52,24) = 75.0/256.0;
+  prolongation[0](52,25) = -25.0/256.0;
+  prolongation[0](52,30) = 15.0/256.0;
+  prolongation[0](52,31) = -5.0/256.0;
+  prolongation[0](52,52) = 225.0/256.0;
+  prolongation[0](52,53) = -75.0/256.0;
+  prolongation[0](52,54) = -75.0/256.0;
+  prolongation[0](52,55) = 25.0/256.0;
+  prolongation[0](53,24) = 5.0/16.0;
+  prolongation[0](53,30) = 1.0/16.0;
+  prolongation[0](53,52) = 15.0/16.0;
+  prolongation[0](53,54) = -5.0/16.0;
+  prolongation[0](54,14) = 5.0/16.0;
+  prolongation[0](54,22) = 1.0/16.0;
+  prolongation[0](54,52) = 15.0/16.0;
+  prolongation[0](54,53) = -5.0/16.0;
+  prolongation[0](55,52) = 1.0;
+  prolongation[0](56,0) = 125.0/4096.0;
+  prolongation[0](56,1) = 25.0/4096.0;
+  prolongation[0](56,2) = 5.0/4096.0;
+  prolongation[0](56,3) = 25.0/4096.0;
+  prolongation[0](56,4) = 25.0/4096.0;
+  prolongation[0](56,5) = 5.0/4096.0;
+  prolongation[0](56,6) = 1.0/4096.0;
+  prolongation[0](56,7) = 5.0/4096.0;
+  prolongation[0](56,8) = 375.0/4096.0;
+  prolongation[0](56,9) = -125.0/4096.0;
+  prolongation[0](56,10) = 75.0/4096.0;
+  prolongation[0](56,11) = -25.0/4096.0;
+  prolongation[0](56,12) = 75.0/4096.0;
+  prolongation[0](56,13) = -25.0/4096.0;
+  prolongation[0](56,14) = 375.0/4096.0;
+  prolongation[0](56,15) = -125.0/4096.0;
+  prolongation[0](56,16) = 75.0/4096.0;
+  prolongation[0](56,17) = -25.0/4096.0;
+  prolongation[0](56,18) = 15.0/4096.0;
+  prolongation[0](56,19) = -5.0/4096.0;
+  prolongation[0](56,20) = 15.0/4096.0;
+  prolongation[0](56,21) = -5.0/4096.0;
+  prolongation[0](56,22) = 75.0/4096.0;
+  prolongation[0](56,23) = -25.0/4096.0;
+  prolongation[0](56,24) = 375.0/4096.0;
+  prolongation[0](56,25) = -125.0/4096.0;
+  prolongation[0](56,26) = 75.0/4096.0;
+  prolongation[0](56,27) = -25.0/4096.0;
+  prolongation[0](56,28) = 15.0/4096.0;
+  prolongation[0](56,29) = -5.0/4096.0;
+  prolongation[0](56,30) = 75.0/4096.0;
+  prolongation[0](56,31) = -25.0/4096.0;
+  prolongation[0](56,32) = 1125.0/4096.0;
+  prolongation[0](56,33) = -375.0/4096.0;
+  prolongation[0](56,34) = -375.0/4096.0;
+  prolongation[0](56,35) = 125.0/4096.0;
+  prolongation[0](56,36) = 225.0/4096.0;
+  prolongation[0](56,37) = -75.0/4096.0;
+  prolongation[0](56,38) = -75.0/4096.0;
+  prolongation[0](56,39) = 25.0/4096.0;
+  prolongation[0](56,40) = 1125.0/4096.0;
+  prolongation[0](56,41) = -375.0/4096.0;
+  prolongation[0](56,42) = -375.0/4096.0;
+  prolongation[0](56,43) = 125.0/4096.0;
+  prolongation[0](56,44) = 225.0/4096.0;
+  prolongation[0](56,45) = -75.0/4096.0;
+  prolongation[0](56,46) = -75.0/4096.0;
+  prolongation[0](56,47) = 25.0/4096.0;
+  prolongation[0](56,48) = 225.0/4096.0;
+  prolongation[0](56,49) = -75.0/4096.0;
+  prolongation[0](56,50) = -75.0/4096.0;
+  prolongation[0](56,51) = 25.0/4096.0;
+  prolongation[0](56,52) = 1125.0/4096.0;
+  prolongation[0](56,53) = -375.0/4096.0;
+  prolongation[0](56,54) = -375.0/4096.0;
+  prolongation[0](56,55) = 125.0/4096.0;
+  prolongation[0](56,56) = 3375.0/4096.0;
+  prolongation[0](56,57) = -1125.0/4096.0;
+  prolongation[0](56,58) = -1125.0/4096.0;
+  prolongation[0](56,59) = 375.0/4096.0;
+  prolongation[0](56,60) = -1125.0/4096.0;
+  prolongation[0](56,61) = 375.0/4096.0;
+  prolongation[0](56,62) = 375.0/4096.0;
+  prolongation[0](56,63) = -125.0/4096.0;
+  prolongation[0](57,8) = 25.0/256.0;
+  prolongation[0](57,12) = 5.0/256.0;
+  prolongation[0](57,16) = 5.0/256.0;
+  prolongation[0](57,20) = 1.0/256.0;
+  prolongation[0](57,32) = 75.0/256.0;
+  prolongation[0](57,34) = -25.0/256.0;
+  prolongation[0](57,36) = 15.0/256.0;
+  prolongation[0](57,38) = -5.0/256.0;
+  prolongation[0](57,40) = 75.0/256.0;
+  prolongation[0](57,42) = -25.0/256.0;
+  prolongation[0](57,48) = 15.0/256.0;
+  prolongation[0](57,50) = -5.0/256.0;
+  prolongation[0](57,56) = 225.0/256.0;
+  prolongation[0](57,58) = -75.0/256.0;
+  prolongation[0](57,60) = -75.0/256.0;
+  prolongation[0](57,62) = 25.0/256.0;
+  prolongation[0](58,24) = 25.0/256.0;
+  prolongation[0](58,26) = 5.0/256.0;
+  prolongation[0](58,28) = 1.0/256.0;
+  prolongation[0](58,30) = 5.0/256.0;
+  prolongation[0](58,40) = 75.0/256.0;
+  prolongation[0](58,41) = -25.0/256.0;
+  prolongation[0](58,44) = 15.0/256.0;
+  prolongation[0](58,46) = -5.0/256.0;
+  prolongation[0](58,48) = 15.0/256.0;
+  prolongation[0](58,49) = -5.0/256.0;
+  prolongation[0](58,52) = 75.0/256.0;
+  prolongation[0](58,54) = -25.0/256.0;
+  prolongation[0](58,56) = 225.0/256.0;
+  prolongation[0](58,57) = -75.0/256.0;
+  prolongation[0](58,60) = -75.0/256.0;
+  prolongation[0](58,61) = 25.0/256.0;
+  prolongation[0](59,40) = 5.0/16.0;
+  prolongation[0](59,48) = 1.0/16.0;
+  prolongation[0](59,56) = 15.0/16.0;
+  prolongation[0](59,60) = -5.0/16.0;
+  prolongation[0](60,10) = 5.0/256.0;
+  prolongation[0](60,14) = 25.0/256.0;
+  prolongation[0](60,18) = 1.0/256.0;
+  prolongation[0](60,22) = 5.0/256.0;
+  prolongation[0](60,32) = 75.0/256.0;
+  prolongation[0](60,33) = -25.0/256.0;
+  prolongation[0](60,36) = 15.0/256.0;
+  prolongation[0](60,37) = -5.0/256.0;
+  prolongation[0](60,44) = 15.0/256.0;
+  prolongation[0](60,45) = -5.0/256.0;
+  prolongation[0](60,52) = 75.0/256.0;
+  prolongation[0](60,53) = -25.0/256.0;
+  prolongation[0](60,56) = 225.0/256.0;
+  prolongation[0](60,57) = -75.0/256.0;
+  prolongation[0](60,58) = -75.0/256.0;
+  prolongation[0](60,59) = 25.0/256.0;
+  prolongation[0](61,32) = 5.0/16.0;
+  prolongation[0](61,36) = 1.0/16.0;
+  prolongation[0](61,56) = 15.0/16.0;
+  prolongation[0](61,58) = -5.0/16.0;
+  prolongation[0](62,44) = 1.0/16.0;
+  prolongation[0](62,52) = 5.0/16.0;
+  prolongation[0](62,56) = 15.0/16.0;
+  prolongation[0](62,57) = -5.0/16.0;
+  prolongation[0](63,56) = 1.0;
+  prolongation[1](0,0) = -1.0/16.0;
+  prolongation[1](0,1) = -1.0/16.0;
+  prolongation[1](0,8) = 9.0/16.0;
+  prolongation[1](0,9) = 9.0/16.0;
+  prolongation[1](1,1) = 1.0;
+  prolongation[1](2,1) = -1.0/16.0;
+  prolongation[1](2,2) = -1.0/16.0;
+  prolongation[1](2,10) = 9.0/16.0;
+  prolongation[1](2,11) = 9.0/16.0;
+  prolongation[1](3,0) = 1.0/256.0;
+  prolongation[1](3,1) = 1.0/256.0;
+  prolongation[1](3,2) = 1.0/256.0;
+  prolongation[1](3,3) = 1.0/256.0;
+  prolongation[1](3,8) = -9.0/256.0;
+  prolongation[1](3,9) = -9.0/256.0;
+  prolongation[1](3,10) = -9.0/256.0;
+  prolongation[1](3,11) = -9.0/256.0;
+  prolongation[1](3,12) = -9.0/256.0;
+  prolongation[1](3,13) = -9.0/256.0;
+  prolongation[1](3,14) = -9.0/256.0;
+  prolongation[1](3,15) = -9.0/256.0;
+  prolongation[1](3,32) = 81.0/256.0;
+  prolongation[1](3,33) = 81.0/256.0;
+  prolongation[1](3,34) = 81.0/256.0;
+  prolongation[1](3,35) = 81.0/256.0;
+  prolongation[1](4,0) = 1.0/256.0;
+  prolongation[1](4,1) = 1.0/256.0;
+  prolongation[1](4,4) = 1.0/256.0;
+  prolongation[1](4,5) = 1.0/256.0;
+  prolongation[1](4,8) = -9.0/256.0;
+  prolongation[1](4,9) = -9.0/256.0;
+  prolongation[1](4,16) = -9.0/256.0;
+  prolongation[1](4,17) = -9.0/256.0;
+  prolongation[1](4,24) = -9.0/256.0;
+  prolongation[1](4,25) = -9.0/256.0;
+  prolongation[1](4,26) = -9.0/256.0;
+  prolongation[1](4,27) = -9.0/256.0;
+  prolongation[1](4,40) = 81.0/256.0;
+  prolongation[1](4,41) = 81.0/256.0;
+  prolongation[1](4,42) = 81.0/256.0;
+  prolongation[1](4,43) = 81.0/256.0;
+  prolongation[1](5,1) = -1.0/16.0;
+  prolongation[1](5,5) = -1.0/16.0;
+  prolongation[1](5,26) = 9.0/16.0;
+  prolongation[1](5,27) = 9.0/16.0;
+  prolongation[1](6,1) = 1.0/256.0;
+  prolongation[1](6,2) = 1.0/256.0;
+  prolongation[1](6,5) = 1.0/256.0;
+  prolongation[1](6,6) = 1.0/256.0;
+  prolongation[1](6,10) = -9.0/256.0;
+  prolongation[1](6,11) = -9.0/256.0;
+  prolongation[1](6,18) = -9.0/256.0;
+  prolongation[1](6,19) = -9.0/256.0;
+  prolongation[1](6,26) = -9.0/256.0;
+  prolongation[1](6,27) = -9.0/256.0;
+  prolongation[1](6,28) = -9.0/256.0;
+  prolongation[1](6,29) = -9.0/256.0;
+  prolongation[1](6,44) = 81.0/256.0;
+  prolongation[1](6,45) = 81.0/256.0;
+  prolongation[1](6,46) = 81.0/256.0;
+  prolongation[1](6,47) = 81.0/256.0;
+  prolongation[1](7,0) = -1.0/4096.0;
+  prolongation[1](7,1) = -1.0/4096.0;
+  prolongation[1](7,2) = -1.0/4096.0;
+  prolongation[1](7,3) = -1.0/4096.0;
+  prolongation[1](7,4) = -1.0/4096.0;
+  prolongation[1](7,5) = -1.0/4096.0;
+  prolongation[1](7,6) = -1.0/4096.0;
+  prolongation[1](7,7) = -1.0/4096.0;
+  prolongation[1](7,8) = 9.0/4096.0;
+  prolongation[1](7,9) = 9.0/4096.0;
+  prolongation[1](7,10) = 9.0/4096.0;
+  prolongation[1](7,11) = 9.0/4096.0;
+  prolongation[1](7,12) = 9.0/4096.0;
+  prolongation[1](7,13) = 9.0/4096.0;
+  prolongation[1](7,14) = 9.0/4096.0;
+  prolongation[1](7,15) = 9.0/4096.0;
+  prolongation[1](7,16) = 9.0/4096.0;
+  prolongation[1](7,17) = 9.0/4096.0;
+  prolongation[1](7,18) = 9.0/4096.0;
+  prolongation[1](7,19) = 9.0/4096.0;
+  prolongation[1](7,20) = 9.0/4096.0;
+  prolongation[1](7,21) = 9.0/4096.0;
+  prolongation[1](7,22) = 9.0/4096.0;
+  prolongation[1](7,23) = 9.0/4096.0;
+  prolongation[1](7,24) = 9.0/4096.0;
+  prolongation[1](7,25) = 9.0/4096.0;
+  prolongation[1](7,26) = 9.0/4096.0;
+  prolongation[1](7,27) = 9.0/4096.0;
+  prolongation[1](7,28) = 9.0/4096.0;
+  prolongation[1](7,29) = 9.0/4096.0;
+  prolongation[1](7,30) = 9.0/4096.0;
+  prolongation[1](7,31) = 9.0/4096.0;
+  prolongation[1](7,32) = -81.0/4096.0;
+  prolongation[1](7,33) = -81.0/4096.0;
+  prolongation[1](7,34) = -81.0/4096.0;
+  prolongation[1](7,35) = -81.0/4096.0;
+  prolongation[1](7,36) = -81.0/4096.0;
+  prolongation[1](7,37) = -81.0/4096.0;
+  prolongation[1](7,38) = -81.0/4096.0;
+  prolongation[1](7,39) = -81.0/4096.0;
+  prolongation[1](7,40) = -81.0/4096.0;
+  prolongation[1](7,41) = -81.0/4096.0;
+  prolongation[1](7,42) = -81.0/4096.0;
+  prolongation[1](7,43) = -81.0/4096.0;
+  prolongation[1](7,44) = -81.0/4096.0;
+  prolongation[1](7,45) = -81.0/4096.0;
+  prolongation[1](7,46) = -81.0/4096.0;
+  prolongation[1](7,47) = -81.0/4096.0;
+  prolongation[1](7,48) = -81.0/4096.0;
+  prolongation[1](7,49) = -81.0/4096.0;
+  prolongation[1](7,50) = -81.0/4096.0;
+  prolongation[1](7,51) = -81.0/4096.0;
+  prolongation[1](7,52) = -81.0/4096.0;
+  prolongation[1](7,53) = -81.0/4096.0;
+  prolongation[1](7,54) = -81.0/4096.0;
+  prolongation[1](7,55) = -81.0/4096.0;
+  prolongation[1](7,56) = 729.0/4096.0;
+  prolongation[1](7,57) = 729.0/4096.0;
+  prolongation[1](7,58) = 729.0/4096.0;
+  prolongation[1](7,59) = 729.0/4096.0;
+  prolongation[1](7,60) = 729.0/4096.0;
+  prolongation[1](7,61) = 729.0/4096.0;
+  prolongation[1](7,62) = 729.0/4096.0;
+  prolongation[1](7,63) = 729.0/4096.0;
+  prolongation[1](8,9) = 1.0;
+  prolongation[1](9,0) = 1.0/16.0;
+  prolongation[1](9,1) = 5.0/16.0;
+  prolongation[1](9,8) = -5.0/16.0;
+  prolongation[1](9,9) = 15.0/16.0;
+  prolongation[1](10,1) = 5.0/16.0;
+  prolongation[1](10,2) = 1.0/16.0;
+  prolongation[1](10,10) = 15.0/16.0;
+  prolongation[1](10,11) = -5.0/16.0;
+  prolongation[1](11,10) = 1.0;
+  prolongation[1](12,9) = -1.0/16.0;
+  prolongation[1](12,13) = -1.0/16.0;
+  prolongation[1](12,33) = 9.0/16.0;
+  prolongation[1](12,35) = 9.0/16.0;
+  prolongation[1](13,0) = -1.0/256.0;
+  prolongation[1](13,1) = -5.0/256.0;
+  prolongation[1](13,2) = -5.0/256.0;
+  prolongation[1](13,3) = -1.0/256.0;
+  prolongation[1](13,8) = 5.0/256.0;
+  prolongation[1](13,9) = -15.0/256.0;
+  prolongation[1](13,10) = 45.0/256.0;
+  prolongation[1](13,11) = 45.0/256.0;
+  prolongation[1](13,12) = 5.0/256.0;
+  prolongation[1](13,13) = -15.0/256.0;
+  prolongation[1](13,14) = 9.0/256.0;
+  prolongation[1](13,15) = 9.0/256.0;
+  prolongation[1](13,32) = -45.0/256.0;
+  prolongation[1](13,33) = 135.0/256.0;
+  prolongation[1](13,34) = -45.0/256.0;
+  prolongation[1](13,35) = 135.0/256.0;
+  prolongation[1](14,0) = -5.0/256.0;
+  prolongation[1](14,1) = -5.0/256.0;
+  prolongation[1](14,2) = -1.0/256.0;
+  prolongation[1](14,3) = -1.0/256.0;
+  prolongation[1](14,8) = 45.0/256.0;
+  prolongation[1](14,9) = 45.0/256.0;
+  prolongation[1](14,10) = -15.0/256.0;
+  prolongation[1](14,11) = 5.0/256.0;
+  prolongation[1](14,12) = 9.0/256.0;
+  prolongation[1](14,13) = 9.0/256.0;
+  prolongation[1](14,14) = -15.0/256.0;
+  prolongation[1](14,15) = 5.0/256.0;
+  prolongation[1](14,32) = 135.0/256.0;
+  prolongation[1](14,33) = 135.0/256.0;
+  prolongation[1](14,34) = -45.0/256.0;
+  prolongation[1](14,35) = -45.0/256.0;
+  prolongation[1](15,10) = -1.0/16.0;
+  prolongation[1](15,14) = -1.0/16.0;
+  prolongation[1](15,32) = 9.0/16.0;
+  prolongation[1](15,33) = 9.0/16.0;
+  prolongation[1](16,9) = -1.0/16.0;
+  prolongation[1](16,17) = -1.0/16.0;
+  prolongation[1](16,41) = 9.0/16.0;
+  prolongation[1](16,43) = 9.0/16.0;
+  prolongation[1](17,0) = -1.0/256.0;
+  prolongation[1](17,1) = -5.0/256.0;
+  prolongation[1](17,4) = -1.0/256.0;
+  prolongation[1](17,5) = -5.0/256.0;
+  prolongation[1](17,8) = 5.0/256.0;
+  prolongation[1](17,9) = -15.0/256.0;
+  prolongation[1](17,16) = 5.0/256.0;
+  prolongation[1](17,17) = -15.0/256.0;
+  prolongation[1](17,24) = 9.0/256.0;
+  prolongation[1](17,25) = 9.0/256.0;
+  prolongation[1](17,26) = 45.0/256.0;
+  prolongation[1](17,27) = 45.0/256.0;
+  prolongation[1](17,40) = -45.0/256.0;
+  prolongation[1](17,41) = 135.0/256.0;
+  prolongation[1](17,42) = -45.0/256.0;
+  prolongation[1](17,43) = 135.0/256.0;
+  prolongation[1](18,1) = -5.0/256.0;
+  prolongation[1](18,2) = -1.0/256.0;
+  prolongation[1](18,5) = -5.0/256.0;
+  prolongation[1](18,6) = -1.0/256.0;
+  prolongation[1](18,10) = -15.0/256.0;
+  prolongation[1](18,11) = 5.0/256.0;
+  prolongation[1](18,18) = -15.0/256.0;
+  prolongation[1](18,19) = 5.0/256.0;
+  prolongation[1](18,26) = 45.0/256.0;
+  prolongation[1](18,27) = 45.0/256.0;
+  prolongation[1](18,28) = 9.0/256.0;
+  prolongation[1](18,29) = 9.0/256.0;
+  prolongation[1](18,44) = 135.0/256.0;
+  prolongation[1](18,45) = 135.0/256.0;
+  prolongation[1](18,46) = -45.0/256.0;
+  prolongation[1](18,47) = -45.0/256.0;
+  prolongation[1](19,10) = -1.0/16.0;
+  prolongation[1](19,18) = -1.0/16.0;
+  prolongation[1](19,44) = 9.0/16.0;
+  prolongation[1](19,45) = 9.0/16.0;
+  prolongation[1](20,9) = 1.0/256.0;
+  prolongation[1](20,13) = 1.0/256.0;
+  prolongation[1](20,17) = 1.0/256.0;
+  prolongation[1](20,21) = 1.0/256.0;
+  prolongation[1](20,33) = -9.0/256.0;
+  prolongation[1](20,35) = -9.0/256.0;
+  prolongation[1](20,37) = -9.0/256.0;
+  prolongation[1](20,39) = -9.0/256.0;
+  prolongation[1](20,41) = -9.0/256.0;
+  prolongation[1](20,43) = -9.0/256.0;
+  prolongation[1](20,49) = -9.0/256.0;
+  prolongation[1](20,51) = -9.0/256.0;
+  prolongation[1](20,57) = 81.0/256.0;
+  prolongation[1](20,59) = 81.0/256.0;
+  prolongation[1](20,61) = 81.0/256.0;
+  prolongation[1](20,63) = 81.0/256.0;
+  prolongation[1](21,0) = 1.0/4096.0;
+  prolongation[1](21,1) = 5.0/4096.0;
+  prolongation[1](21,2) = 5.0/4096.0;
+  prolongation[1](21,3) = 1.0/4096.0;
+  prolongation[1](21,4) = 1.0/4096.0;
+  prolongation[1](21,5) = 5.0/4096.0;
+  prolongation[1](21,6) = 5.0/4096.0;
+  prolongation[1](21,7) = 1.0/4096.0;
+  prolongation[1](21,8) = -5.0/4096.0;
+  prolongation[1](21,9) = 15.0/4096.0;
+  prolongation[1](21,10) = -45.0/4096.0;
+  prolongation[1](21,11) = -45.0/4096.0;
+  prolongation[1](21,12) = -5.0/4096.0;
+  prolongation[1](21,13) = 15.0/4096.0;
+  prolongation[1](21,14) = -9.0/4096.0;
+  prolongation[1](21,15) = -9.0/4096.0;
+  prolongation[1](21,16) = -5.0/4096.0;
+  prolongation[1](21,17) = 15.0/4096.0;
+  prolongation[1](21,18) = -45.0/4096.0;
+  prolongation[1](21,19) = -45.0/4096.0;
+  prolongation[1](21,20) = -5.0/4096.0;
+  prolongation[1](21,21) = 15.0/4096.0;
+  prolongation[1](21,22) = -9.0/4096.0;
+  prolongation[1](21,23) = -9.0/4096.0;
+  prolongation[1](21,24) = -9.0/4096.0;
+  prolongation[1](21,25) = -9.0/4096.0;
+  prolongation[1](21,26) = -45.0/4096.0;
+  prolongation[1](21,27) = -45.0/4096.0;
+  prolongation[1](21,28) = -45.0/4096.0;
+  prolongation[1](21,29) = -45.0/4096.0;
+  prolongation[1](21,30) = -9.0/4096.0;
+  prolongation[1](21,31) = -9.0/4096.0;
+  prolongation[1](21,32) = 45.0/4096.0;
+  prolongation[1](21,33) = -135.0/4096.0;
+  prolongation[1](21,34) = 45.0/4096.0;
+  prolongation[1](21,35) = -135.0/4096.0;
+  prolongation[1](21,36) = 45.0/4096.0;
+  prolongation[1](21,37) = -135.0/4096.0;
+  prolongation[1](21,38) = 45.0/4096.0;
+  prolongation[1](21,39) = -135.0/4096.0;
+  prolongation[1](21,40) = 45.0/4096.0;
+  prolongation[1](21,41) = -135.0/4096.0;
+  prolongation[1](21,42) = 45.0/4096.0;
+  prolongation[1](21,43) = -135.0/4096.0;
+  prolongation[1](21,44) = 405.0/4096.0;
+  prolongation[1](21,45) = 405.0/4096.0;
+  prolongation[1](21,46) = 405.0/4096.0;
+  prolongation[1](21,47) = 405.0/4096.0;
+  prolongation[1](21,48) = 45.0/4096.0;
+  prolongation[1](21,49) = -135.0/4096.0;
+  prolongation[1](21,50) = 45.0/4096.0;
+  prolongation[1](21,51) = -135.0/4096.0;
+  prolongation[1](21,52) = 81.0/4096.0;
+  prolongation[1](21,53) = 81.0/4096.0;
+  prolongation[1](21,54) = 81.0/4096.0;
+  prolongation[1](21,55) = 81.0/4096.0;
+  prolongation[1](21,56) = -405.0/4096.0;
+  prolongation[1](21,57) = 1215.0/4096.0;
+  prolongation[1](21,58) = -405.0/4096.0;
+  prolongation[1](21,59) = 1215.0/4096.0;
+  prolongation[1](21,60) = -405.0/4096.0;
+  prolongation[1](21,61) = 1215.0/4096.0;
+  prolongation[1](21,62) = -405.0/4096.0;
+  prolongation[1](21,63) = 1215.0/4096.0;
+  prolongation[1](22,0) = 5.0/4096.0;
+  prolongation[1](22,1) = 5.0/4096.0;
+  prolongation[1](22,2) = 1.0/4096.0;
+  prolongation[1](22,3) = 1.0/4096.0;
+  prolongation[1](22,4) = 5.0/4096.0;
+  prolongation[1](22,5) = 5.0/4096.0;
+  prolongation[1](22,6) = 1.0/4096.0;
+  prolongation[1](22,7) = 1.0/4096.0;
+  prolongation[1](22,8) = -45.0/4096.0;
+  prolongation[1](22,9) = -45.0/4096.0;
+  prolongation[1](22,10) = 15.0/4096.0;
+  prolongation[1](22,11) = -5.0/4096.0;
+  prolongation[1](22,12) = -9.0/4096.0;
+  prolongation[1](22,13) = -9.0/4096.0;
+  prolongation[1](22,14) = 15.0/4096.0;
+  prolongation[1](22,15) = -5.0/4096.0;
+  prolongation[1](22,16) = -45.0/4096.0;
+  prolongation[1](22,17) = -45.0/4096.0;
+  prolongation[1](22,18) = 15.0/4096.0;
+  prolongation[1](22,19) = -5.0/4096.0;
+  prolongation[1](22,20) = -9.0/4096.0;
+  prolongation[1](22,21) = -9.0/4096.0;
+  prolongation[1](22,22) = 15.0/4096.0;
+  prolongation[1](22,23) = -5.0/4096.0;
+  prolongation[1](22,24) = -45.0/4096.0;
+  prolongation[1](22,25) = -45.0/4096.0;
+  prolongation[1](22,26) = -45.0/4096.0;
+  prolongation[1](22,27) = -45.0/4096.0;
+  prolongation[1](22,28) = -9.0/4096.0;
+  prolongation[1](22,29) = -9.0/4096.0;
+  prolongation[1](22,30) = -9.0/4096.0;
+  prolongation[1](22,31) = -9.0/4096.0;
+  prolongation[1](22,32) = -135.0/4096.0;
+  prolongation[1](22,33) = -135.0/4096.0;
+  prolongation[1](22,34) = 45.0/4096.0;
+  prolongation[1](22,35) = 45.0/4096.0;
+  prolongation[1](22,36) = -135.0/4096.0;
+  prolongation[1](22,37) = -135.0/4096.0;
+  prolongation[1](22,38) = 45.0/4096.0;
+  prolongation[1](22,39) = 45.0/4096.0;
+  prolongation[1](22,40) = 405.0/4096.0;
+  prolongation[1](22,41) = 405.0/4096.0;
+  prolongation[1](22,42) = 405.0/4096.0;
+  prolongation[1](22,43) = 405.0/4096.0;
+  prolongation[1](22,44) = -135.0/4096.0;
+  prolongation[1](22,45) = -135.0/4096.0;
+  prolongation[1](22,46) = 45.0/4096.0;
+  prolongation[1](22,47) = 45.0/4096.0;
+  prolongation[1](22,48) = 81.0/4096.0;
+  prolongation[1](22,49) = 81.0/4096.0;
+  prolongation[1](22,50) = 81.0/4096.0;
+  prolongation[1](22,51) = 81.0/4096.0;
+  prolongation[1](22,52) = -135.0/4096.0;
+  prolongation[1](22,53) = -135.0/4096.0;
+  prolongation[1](22,54) = 45.0/4096.0;
+  prolongation[1](22,55) = 45.0/4096.0;
+  prolongation[1](22,56) = 1215.0/4096.0;
+  prolongation[1](22,57) = 1215.0/4096.0;
+  prolongation[1](22,58) = 1215.0/4096.0;
+  prolongation[1](22,59) = 1215.0/4096.0;
+  prolongation[1](22,60) = -405.0/4096.0;
+  prolongation[1](22,61) = -405.0/4096.0;
+  prolongation[1](22,62) = -405.0/4096.0;
+  prolongation[1](22,63) = -405.0/4096.0;
+  prolongation[1](23,10) = 1.0/256.0;
+  prolongation[1](23,14) = 1.0/256.0;
+  prolongation[1](23,18) = 1.0/256.0;
+  prolongation[1](23,22) = 1.0/256.0;
+  prolongation[1](23,32) = -9.0/256.0;
+  prolongation[1](23,33) = -9.0/256.0;
+  prolongation[1](23,36) = -9.0/256.0;
+  prolongation[1](23,37) = -9.0/256.0;
+  prolongation[1](23,44) = -9.0/256.0;
+  prolongation[1](23,45) = -9.0/256.0;
+  prolongation[1](23,52) = -9.0/256.0;
+  prolongation[1](23,53) = -9.0/256.0;
+  prolongation[1](23,56) = 81.0/256.0;
+  prolongation[1](23,57) = 81.0/256.0;
+  prolongation[1](23,58) = 81.0/256.0;
+  prolongation[1](23,59) = 81.0/256.0;
+  prolongation[1](24,0) = -5.0/256.0;
+  prolongation[1](24,1) = -5.0/256.0;
+  prolongation[1](24,4) = -1.0/256.0;
+  prolongation[1](24,5) = -1.0/256.0;
+  prolongation[1](24,8) = 45.0/256.0;
+  prolongation[1](24,9) = 45.0/256.0;
+  prolongation[1](24,16) = 9.0/256.0;
+  prolongation[1](24,17) = 9.0/256.0;
+  prolongation[1](24,24) = -15.0/256.0;
+  prolongation[1](24,25) = 5.0/256.0;
+  prolongation[1](24,26) = -15.0/256.0;
+  prolongation[1](24,27) = 5.0/256.0;
+  prolongation[1](24,40) = 135.0/256.0;
+  prolongation[1](24,41) = 135.0/256.0;
+  prolongation[1](24,42) = -45.0/256.0;
+  prolongation[1](24,43) = -45.0/256.0;
+  prolongation[1](25,24) = -1.0/16.0;
+  prolongation[1](25,26) = -1.0/16.0;
+  prolongation[1](25,40) = 9.0/16.0;
+  prolongation[1](25,41) = 9.0/16.0;
+  prolongation[1](26,1) = 5.0/16.0;
+  prolongation[1](26,5) = 1.0/16.0;
+  prolongation[1](26,26) = 15.0/16.0;
+  prolongation[1](26,27) = -5.0/16.0;
+  prolongation[1](27,26) = 1.0;
+  prolongation[1](28,1) = -5.0/256.0;
+  prolongation[1](28,2) = -5.0/256.0;
+  prolongation[1](28,5) = -1.0/256.0;
+  prolongation[1](28,6) = -1.0/256.0;
+  prolongation[1](28,10) = 45.0/256.0;
+  prolongation[1](28,11) = 45.0/256.0;
+  prolongation[1](28,18) = 9.0/256.0;
+  prolongation[1](28,19) = 9.0/256.0;
+  prolongation[1](28,26) = -15.0/256.0;
+  prolongation[1](28,27) = 5.0/256.0;
+  prolongation[1](28,28) = -15.0/256.0;
+  prolongation[1](28,29) = 5.0/256.0;
+  prolongation[1](28,44) = 135.0/256.0;
+  prolongation[1](28,45) = -45.0/256.0;
+  prolongation[1](28,46) = 135.0/256.0;
+  prolongation[1](28,47) = -45.0/256.0;
+  prolongation[1](29,26) = -1.0/16.0;
+  prolongation[1](29,28) = -1.0/16.0;
+  prolongation[1](29,44) = 9.0/16.0;
+  prolongation[1](29,46) = 9.0/16.0;
+  prolongation[1](30,0) = 5.0/4096.0;
+  prolongation[1](30,1) = 5.0/4096.0;
+  prolongation[1](30,2) = 5.0/4096.0;
+  prolongation[1](30,3) = 5.0/4096.0;
+  prolongation[1](30,4) = 1.0/4096.0;
+  prolongation[1](30,5) = 1.0/4096.0;
+  prolongation[1](30,6) = 1.0/4096.0;
+  prolongation[1](30,7) = 1.0/4096.0;
+  prolongation[1](30,8) = -45.0/4096.0;
+  prolongation[1](30,9) = -45.0/4096.0;
+  prolongation[1](30,10) = -45.0/4096.0;
+  prolongation[1](30,11) = -45.0/4096.0;
+  prolongation[1](30,12) = -45.0/4096.0;
+  prolongation[1](30,13) = -45.0/4096.0;
+  prolongation[1](30,14) = -45.0/4096.0;
+  prolongation[1](30,15) = -45.0/4096.0;
+  prolongation[1](30,16) = -9.0/4096.0;
+  prolongation[1](30,17) = -9.0/4096.0;
+  prolongation[1](30,18) = -9.0/4096.0;
+  prolongation[1](30,19) = -9.0/4096.0;
+  prolongation[1](30,20) = -9.0/4096.0;
+  prolongation[1](30,21) = -9.0/4096.0;
+  prolongation[1](30,22) = -9.0/4096.0;
+  prolongation[1](30,23) = -9.0/4096.0;
+  prolongation[1](30,24) = 15.0/4096.0;
+  prolongation[1](30,25) = -5.0/4096.0;
+  prolongation[1](30,26) = 15.0/4096.0;
+  prolongation[1](30,27) = -5.0/4096.0;
+  prolongation[1](30,28) = 15.0/4096.0;
+  prolongation[1](30,29) = -5.0/4096.0;
+  prolongation[1](30,30) = 15.0/4096.0;
+  prolongation[1](30,31) = -5.0/4096.0;
+  prolongation[1](30,32) = 405.0/4096.0;
+  prolongation[1](30,33) = 405.0/4096.0;
+  prolongation[1](30,34) = 405.0/4096.0;
+  prolongation[1](30,35) = 405.0/4096.0;
+  prolongation[1](30,36) = 81.0/4096.0;
+  prolongation[1](30,37) = 81.0/4096.0;
+  prolongation[1](30,38) = 81.0/4096.0;
+  prolongation[1](30,39) = 81.0/4096.0;
+  prolongation[1](30,40) = -135.0/4096.0;
+  prolongation[1](30,41) = -135.0/4096.0;
+  prolongation[1](30,42) = 45.0/4096.0;
+  prolongation[1](30,43) = 45.0/4096.0;
+  prolongation[1](30,44) = -135.0/4096.0;
+  prolongation[1](30,45) = 45.0/4096.0;
+  prolongation[1](30,46) = -135.0/4096.0;
+  prolongation[1](30,47) = 45.0/4096.0;
+  prolongation[1](30,48) = -135.0/4096.0;
+  prolongation[1](30,49) = -135.0/4096.0;
+  prolongation[1](30,50) = 45.0/4096.0;
+  prolongation[1](30,51) = 45.0/4096.0;
+  prolongation[1](30,52) = -135.0/4096.0;
+  prolongation[1](30,53) = 45.0/4096.0;
+  prolongation[1](30,54) = -135.0/4096.0;
+  prolongation[1](30,55) = 45.0/4096.0;
+  prolongation[1](30,56) = 1215.0/4096.0;
+  prolongation[1](30,57) = 1215.0/4096.0;
+  prolongation[1](30,58) = -405.0/4096.0;
+  prolongation[1](30,59) = -405.0/4096.0;
+  prolongation[1](30,60) = 1215.0/4096.0;
+  prolongation[1](30,61) = 1215.0/4096.0;
+  prolongation[1](30,62) = -405.0/4096.0;
+  prolongation[1](30,63) = -405.0/4096.0;
+  prolongation[1](31,24) = 1.0/256.0;
+  prolongation[1](31,26) = 1.0/256.0;
+  prolongation[1](31,28) = 1.0/256.0;
+  prolongation[1](31,30) = 1.0/256.0;
+  prolongation[1](31,40) = -9.0/256.0;
+  prolongation[1](31,41) = -9.0/256.0;
+  prolongation[1](31,44) = -9.0/256.0;
+  prolongation[1](31,46) = -9.0/256.0;
+  prolongation[1](31,48) = -9.0/256.0;
+  prolongation[1](31,49) = -9.0/256.0;
+  prolongation[1](31,52) = -9.0/256.0;
+  prolongation[1](31,54) = -9.0/256.0;
+  prolongation[1](31,56) = 81.0/256.0;
+  prolongation[1](31,57) = 81.0/256.0;
+  prolongation[1](31,60) = 81.0/256.0;
+  prolongation[1](31,61) = 81.0/256.0;
+  prolongation[1](32,9) = 5.0/16.0;
+  prolongation[1](32,13) = 1.0/16.0;
+  prolongation[1](32,33) = 15.0/16.0;
+  prolongation[1](32,35) = -5.0/16.0;
+  prolongation[1](33,0) = 5.0/256.0;
+  prolongation[1](33,1) = 25.0/256.0;
+  prolongation[1](33,2) = 5.0/256.0;
+  prolongation[1](33,3) = 1.0/256.0;
+  prolongation[1](33,8) = -25.0/256.0;
+  prolongation[1](33,9) = 75.0/256.0;
+  prolongation[1](33,10) = 75.0/256.0;
+  prolongation[1](33,11) = -25.0/256.0;
+  prolongation[1](33,12) = -5.0/256.0;
+  prolongation[1](33,13) = 15.0/256.0;
+  prolongation[1](33,14) = 15.0/256.0;
+  prolongation[1](33,15) = -5.0/256.0;
+  prolongation[1](33,32) = -75.0/256.0;
+  prolongation[1](33,33) = 225.0/256.0;
+  prolongation[1](33,34) = 25.0/256.0;
+  prolongation[1](33,35) = -75.0/256.0;
+  prolongation[1](34,33) = 1.0;
+  prolongation[1](35,10) = 5.0/16.0;
+  prolongation[1](35,14) = 1.0/16.0;
+  prolongation[1](35,32) = -5.0/16.0;
+  prolongation[1](35,33) = 15.0/16.0;
+  prolongation[1](36,9) = -5.0/256.0;
+  prolongation[1](36,13) = -1.0/256.0;
+  prolongation[1](36,17) = -5.0/256.0;
+  prolongation[1](36,21) = -1.0/256.0;
+  prolongation[1](36,33) = -15.0/256.0;
+  prolongation[1](36,35) = 5.0/256.0;
+  prolongation[1](36,37) = -15.0/256.0;
+  prolongation[1](36,39) = 5.0/256.0;
+  prolongation[1](36,41) = 45.0/256.0;
+  prolongation[1](36,43) = 45.0/256.0;
+  prolongation[1](36,49) = 9.0/256.0;
+  prolongation[1](36,51) = 9.0/256.0;
+  prolongation[1](36,57) = 135.0/256.0;
+  prolongation[1](36,59) = 135.0/256.0;
+  prolongation[1](36,61) = -45.0/256.0;
+  prolongation[1](36,63) = -45.0/256.0;
+  prolongation[1](37,0) = -5.0/4096.0;
+  prolongation[1](37,1) = -25.0/4096.0;
+  prolongation[1](37,2) = -5.0/4096.0;
+  prolongation[1](37,3) = -1.0/4096.0;
+  prolongation[1](37,4) = -5.0/4096.0;
+  prolongation[1](37,5) = -25.0/4096.0;
+  prolongation[1](37,6) = -5.0/4096.0;
+  prolongation[1](37,7) = -1.0/4096.0;
+  prolongation[1](37,8) = 25.0/4096.0;
+  prolongation[1](37,9) = -75.0/4096.0;
+  prolongation[1](37,10) = -75.0/4096.0;
+  prolongation[1](37,11) = 25.0/4096.0;
+  prolongation[1](37,12) = 5.0/4096.0;
+  prolongation[1](37,13) = -15.0/4096.0;
+  prolongation[1](37,14) = -15.0/4096.0;
+  prolongation[1](37,15) = 5.0/4096.0;
+  prolongation[1](37,16) = 25.0/4096.0;
+  prolongation[1](37,17) = -75.0/4096.0;
+  prolongation[1](37,18) = -75.0/4096.0;
+  prolongation[1](37,19) = 25.0/4096.0;
+  prolongation[1](37,20) = 5.0/4096.0;
+  prolongation[1](37,21) = -15.0/4096.0;
+  prolongation[1](37,22) = -15.0/4096.0;
+  prolongation[1](37,23) = 5.0/4096.0;
+  prolongation[1](37,24) = 45.0/4096.0;
+  prolongation[1](37,25) = 45.0/4096.0;
+  prolongation[1](37,26) = 225.0/4096.0;
+  prolongation[1](37,27) = 225.0/4096.0;
+  prolongation[1](37,28) = 45.0/4096.0;
+  prolongation[1](37,29) = 45.0/4096.0;
+  prolongation[1](37,30) = 9.0/4096.0;
+  prolongation[1](37,31) = 9.0/4096.0;
+  prolongation[1](37,32) = 75.0/4096.0;
+  prolongation[1](37,33) = -225.0/4096.0;
+  prolongation[1](37,34) = -25.0/4096.0;
+  prolongation[1](37,35) = 75.0/4096.0;
+  prolongation[1](37,36) = 75.0/4096.0;
+  prolongation[1](37,37) = -225.0/4096.0;
+  prolongation[1](37,38) = -25.0/4096.0;
+  prolongation[1](37,39) = 75.0/4096.0;
+  prolongation[1](37,40) = -225.0/4096.0;
+  prolongation[1](37,41) = 675.0/4096.0;
+  prolongation[1](37,42) = -225.0/4096.0;
+  prolongation[1](37,43) = 675.0/4096.0;
+  prolongation[1](37,44) = 675.0/4096.0;
+  prolongation[1](37,45) = 675.0/4096.0;
+  prolongation[1](37,46) = -225.0/4096.0;
+  prolongation[1](37,47) = -225.0/4096.0;
+  prolongation[1](37,48) = -45.0/4096.0;
+  prolongation[1](37,49) = 135.0/4096.0;
+  prolongation[1](37,50) = -45.0/4096.0;
+  prolongation[1](37,51) = 135.0/4096.0;
+  prolongation[1](37,52) = 135.0/4096.0;
+  prolongation[1](37,53) = 135.0/4096.0;
+  prolongation[1](37,54) = -45.0/4096.0;
+  prolongation[1](37,55) = -45.0/4096.0;
+  prolongation[1](37,56) = -675.0/4096.0;
+  prolongation[1](37,57) = 2025.0/4096.0;
+  prolongation[1](37,58) = -675.0/4096.0;
+  prolongation[1](37,59) = 2025.0/4096.0;
+  prolongation[1](37,60) = 225.0/4096.0;
+  prolongation[1](37,61) = -675.0/4096.0;
+  prolongation[1](37,62) = 225.0/4096.0;
+  prolongation[1](37,63) = -675.0/4096.0;
+  prolongation[1](38,33) = -1.0/16.0;
+  prolongation[1](38,37) = -1.0/16.0;
+  prolongation[1](38,57) = 9.0/16.0;
+  prolongation[1](38,59) = 9.0/16.0;
+  prolongation[1](39,10) = -5.0/256.0;
+  prolongation[1](39,14) = -1.0/256.0;
+  prolongation[1](39,18) = -5.0/256.0;
+  prolongation[1](39,22) = -1.0/256.0;
+  prolongation[1](39,32) = 5.0/256.0;
+  prolongation[1](39,33) = -15.0/256.0;
+  prolongation[1](39,36) = 5.0/256.0;
+  prolongation[1](39,37) = -15.0/256.0;
+  prolongation[1](39,44) = 45.0/256.0;
+  prolongation[1](39,45) = 45.0/256.0;
+  prolongation[1](39,52) = 9.0/256.0;
+  prolongation[1](39,53) = 9.0/256.0;
+  prolongation[1](39,56) = -45.0/256.0;
+  prolongation[1](39,57) = 135.0/256.0;
+  prolongation[1](39,58) = -45.0/256.0;
+  prolongation[1](39,59) = 135.0/256.0;
+  prolongation[1](40,9) = 5.0/16.0;
+  prolongation[1](40,17) = 1.0/16.0;
+  prolongation[1](40,41) = 15.0/16.0;
+  prolongation[1](40,43) = -5.0/16.0;
+  prolongation[1](41,0) = 5.0/256.0;
+  prolongation[1](41,1) = 25.0/256.0;
+  prolongation[1](41,4) = 1.0/256.0;
+  prolongation[1](41,5) = 5.0/256.0;
+  prolongation[1](41,8) = -25.0/256.0;
+  prolongation[1](41,9) = 75.0/256.0;
+  prolongation[1](41,16) = -5.0/256.0;
+  prolongation[1](41,17) = 15.0/256.0;
+  prolongation[1](41,24) = 15.0/256.0;
+  prolongation[1](41,25) = -5.0/256.0;
+  prolongation[1](41,26) = 75.0/256.0;
+  prolongation[1](41,27) = -25.0/256.0;
+  prolongation[1](41,40) = -75.0/256.0;
+  prolongation[1](41,41) = 225.0/256.0;
+  prolongation[1](41,42) = 25.0/256.0;
+  prolongation[1](41,43) = -75.0/256.0;
+  prolongation[1](42,41) = 1.0;
+  prolongation[1](43,24) = 1.0/16.0;
+  prolongation[1](43,26) = 5.0/16.0;
+  prolongation[1](43,40) = -5.0/16.0;
+  prolongation[1](43,41) = 15.0/16.0;
+  prolongation[1](44,1) = 25.0/256.0;
+  prolongation[1](44,2) = 5.0/256.0;
+  prolongation[1](44,5) = 5.0/256.0;
+  prolongation[1](44,6) = 1.0/256.0;
+  prolongation[1](44,10) = 75.0/256.0;
+  prolongation[1](44,11) = -25.0/256.0;
+  prolongation[1](44,18) = 15.0/256.0;
+  prolongation[1](44,19) = -5.0/256.0;
+  prolongation[1](44,26) = 75.0/256.0;
+  prolongation[1](44,27) = -25.0/256.0;
+  prolongation[1](44,28) = 15.0/256.0;
+  prolongation[1](44,29) = -5.0/256.0;
+  prolongation[1](44,44) = 225.0/256.0;
+  prolongation[1](44,45) = -75.0/256.0;
+  prolongation[1](44,46) = -75.0/256.0;
+  prolongation[1](44,47) = 25.0/256.0;
+  prolongation[1](45,26) = 5.0/16.0;
+  prolongation[1](45,28) = 1.0/16.0;
+  prolongation[1](45,44) = 15.0/16.0;
+  prolongation[1](45,46) = -5.0/16.0;
+  prolongation[1](46,10) = 5.0/16.0;
+  prolongation[1](46,18) = 1.0/16.0;
+  prolongation[1](46,44) = 15.0/16.0;
+  prolongation[1](46,45) = -5.0/16.0;
+  prolongation[1](47,44) = 1.0;
+  prolongation[1](48,9) = -5.0/256.0;
+  prolongation[1](48,13) = -5.0/256.0;
+  prolongation[1](48,17) = -1.0/256.0;
+  prolongation[1](48,21) = -1.0/256.0;
+  prolongation[1](48,33) = 45.0/256.0;
+  prolongation[1](48,35) = 45.0/256.0;
+  prolongation[1](48,37) = 9.0/256.0;
+  prolongation[1](48,39) = 9.0/256.0;
+  prolongation[1](48,41) = -15.0/256.0;
+  prolongation[1](48,43) = 5.0/256.0;
+  prolongation[1](48,49) = -15.0/256.0;
+  prolongation[1](48,51) = 5.0/256.0;
+  prolongation[1](48,57) = 135.0/256.0;
+  prolongation[1](48,59) = -45.0/256.0;
+  prolongation[1](48,61) = 135.0/256.0;
+  prolongation[1](48,63) = -45.0/256.0;
+  prolongation[1](49,0) = -5.0/4096.0;
+  prolongation[1](49,1) = -25.0/4096.0;
+  prolongation[1](49,2) = -25.0/4096.0;
+  prolongation[1](49,3) = -5.0/4096.0;
+  prolongation[1](49,4) = -1.0/4096.0;
+  prolongation[1](49,5) = -5.0/4096.0;
+  prolongation[1](49,6) = -5.0/4096.0;
+  prolongation[1](49,7) = -1.0/4096.0;
+  prolongation[1](49,8) = 25.0/4096.0;
+  prolongation[1](49,9) = -75.0/4096.0;
+  prolongation[1](49,10) = 225.0/4096.0;
+  prolongation[1](49,11) = 225.0/4096.0;
+  prolongation[1](49,12) = 25.0/4096.0;
+  prolongation[1](49,13) = -75.0/4096.0;
+  prolongation[1](49,14) = 45.0/4096.0;
+  prolongation[1](49,15) = 45.0/4096.0;
+  prolongation[1](49,16) = 5.0/4096.0;
+  prolongation[1](49,17) = -15.0/4096.0;
+  prolongation[1](49,18) = 45.0/4096.0;
+  prolongation[1](49,19) = 45.0/4096.0;
+  prolongation[1](49,20) = 5.0/4096.0;
+  prolongation[1](49,21) = -15.0/4096.0;
+  prolongation[1](49,22) = 9.0/4096.0;
+  prolongation[1](49,23) = 9.0/4096.0;
+  prolongation[1](49,24) = -15.0/4096.0;
+  prolongation[1](49,25) = 5.0/4096.0;
+  prolongation[1](49,26) = -75.0/4096.0;
+  prolongation[1](49,27) = 25.0/4096.0;
+  prolongation[1](49,28) = -75.0/4096.0;
+  prolongation[1](49,29) = 25.0/4096.0;
+  prolongation[1](49,30) = -15.0/4096.0;
+  prolongation[1](49,31) = 5.0/4096.0;
+  prolongation[1](49,32) = -225.0/4096.0;
+  prolongation[1](49,33) = 675.0/4096.0;
+  prolongation[1](49,34) = -225.0/4096.0;
+  prolongation[1](49,35) = 675.0/4096.0;
+  prolongation[1](49,36) = -45.0/4096.0;
+  prolongation[1](49,37) = 135.0/4096.0;
+  prolongation[1](49,38) = -45.0/4096.0;
+  prolongation[1](49,39) = 135.0/4096.0;
+  prolongation[1](49,40) = 75.0/4096.0;
+  prolongation[1](49,41) = -225.0/4096.0;
+  prolongation[1](49,42) = -25.0/4096.0;
+  prolongation[1](49,43) = 75.0/4096.0;
+  prolongation[1](49,44) = 675.0/4096.0;
+  prolongation[1](49,45) = -225.0/4096.0;
+  prolongation[1](49,46) = 675.0/4096.0;
+  prolongation[1](49,47) = -225.0/4096.0;
+  prolongation[1](49,48) = 75.0/4096.0;
+  prolongation[1](49,49) = -225.0/4096.0;
+  prolongation[1](49,50) = -25.0/4096.0;
+  prolongation[1](49,51) = 75.0/4096.0;
+  prolongation[1](49,52) = 135.0/4096.0;
+  prolongation[1](49,53) = -45.0/4096.0;
+  prolongation[1](49,54) = 135.0/4096.0;
+  prolongation[1](49,55) = -45.0/4096.0;
+  prolongation[1](49,56) = -675.0/4096.0;
+  prolongation[1](49,57) = 2025.0/4096.0;
+  prolongation[1](49,58) = 225.0/4096.0;
+  prolongation[1](49,59) = -675.0/4096.0;
+  prolongation[1](49,60) = -675.0/4096.0;
+  prolongation[1](49,61) = 2025.0/4096.0;
+  prolongation[1](49,62) = 225.0/4096.0;
+  prolongation[1](49,63) = -675.0/4096.0;
+  prolongation[1](50,41) = -1.0/16.0;
+  prolongation[1](50,49) = -1.0/16.0;
+  prolongation[1](50,57) = 9.0/16.0;
+  prolongation[1](50,61) = 9.0/16.0;
+  prolongation[1](51,24) = -1.0/256.0;
+  prolongation[1](51,26) = -5.0/256.0;
+  prolongation[1](51,28) = -5.0/256.0;
+  prolongation[1](51,30) = -1.0/256.0;
+  prolongation[1](51,40) = 5.0/256.0;
+  prolongation[1](51,41) = -15.0/256.0;
+  prolongation[1](51,44) = 45.0/256.0;
+  prolongation[1](51,46) = 45.0/256.0;
+  prolongation[1](51,48) = 5.0/256.0;
+  prolongation[1](51,49) = -15.0/256.0;
+  prolongation[1](51,52) = 9.0/256.0;
+  prolongation[1](51,54) = 9.0/256.0;
+  prolongation[1](51,56) = -45.0/256.0;
+  prolongation[1](51,57) = 135.0/256.0;
+  prolongation[1](51,60) = -45.0/256.0;
+  prolongation[1](51,61) = 135.0/256.0;
+  prolongation[1](52,0) = -25.0/4096.0;
+  prolongation[1](52,1) = -25.0/4096.0;
+  prolongation[1](52,2) = -5.0/4096.0;
+  prolongation[1](52,3) = -5.0/4096.0;
+  prolongation[1](52,4) = -5.0/4096.0;
+  prolongation[1](52,5) = -5.0/4096.0;
+  prolongation[1](52,6) = -1.0/4096.0;
+  prolongation[1](52,7) = -1.0/4096.0;
+  prolongation[1](52,8) = 225.0/4096.0;
+  prolongation[1](52,9) = 225.0/4096.0;
+  prolongation[1](52,10) = -75.0/4096.0;
+  prolongation[1](52,11) = 25.0/4096.0;
+  prolongation[1](52,12) = 45.0/4096.0;
+  prolongation[1](52,13) = 45.0/4096.0;
+  prolongation[1](52,14) = -75.0/4096.0;
+  prolongation[1](52,15) = 25.0/4096.0;
+  prolongation[1](52,16) = 45.0/4096.0;
+  prolongation[1](52,17) = 45.0/4096.0;
+  prolongation[1](52,18) = -15.0/4096.0;
+  prolongation[1](52,19) = 5.0/4096.0;
+  prolongation[1](52,20) = 9.0/4096.0;
+  prolongation[1](52,21) = 9.0/4096.0;
+  prolongation[1](52,22) = -15.0/4096.0;
+  prolongation[1](52,23) = 5.0/4096.0;
+  prolongation[1](52,24) = -75.0/4096.0;
+  prolongation[1](52,25) = 25.0/4096.0;
+  prolongation[1](52,26) = -75.0/4096.0;
+  prolongation[1](52,27) = 25.0/4096.0;
+  prolongation[1](52,28) = -15.0/4096.0;
+  prolongation[1](52,29) = 5.0/4096.0;
+  prolongation[1](52,30) = -15.0/4096.0;
+  prolongation[1](52,31) = 5.0/4096.0;
+  prolongation[1](52,32) = 675.0/4096.0;
+  prolongation[1](52,33) = 675.0/4096.0;
+  prolongation[1](52,34) = -225.0/4096.0;
+  prolongation[1](52,35) = -225.0/4096.0;
+  prolongation[1](52,36) = 135.0/4096.0;
+  prolongation[1](52,37) = 135.0/4096.0;
+  prolongation[1](52,38) = -45.0/4096.0;
+  prolongation[1](52,39) = -45.0/4096.0;
+  prolongation[1](52,40) = 675.0/4096.0;
+  prolongation[1](52,41) = 675.0/4096.0;
+  prolongation[1](52,42) = -225.0/4096.0;
+  prolongation[1](52,43) = -225.0/4096.0;
+  prolongation[1](52,44) = -225.0/4096.0;
+  prolongation[1](52,45) = 75.0/4096.0;
+  prolongation[1](52,46) = 75.0/4096.0;
+  prolongation[1](52,47) = -25.0/4096.0;
+  prolongation[1](52,48) = 135.0/4096.0;
+  prolongation[1](52,49) = 135.0/4096.0;
+  prolongation[1](52,50) = -45.0/4096.0;
+  prolongation[1](52,51) = -45.0/4096.0;
+  prolongation[1](52,52) = -225.0/4096.0;
+  prolongation[1](52,53) = 75.0/4096.0;
+  prolongation[1](52,54) = 75.0/4096.0;
+  prolongation[1](52,55) = -25.0/4096.0;
+  prolongation[1](52,56) = 2025.0/4096.0;
+  prolongation[1](52,57) = 2025.0/4096.0;
+  prolongation[1](52,58) = -675.0/4096.0;
+  prolongation[1](52,59) = -675.0/4096.0;
+  prolongation[1](52,60) = -675.0/4096.0;
+  prolongation[1](52,61) = -675.0/4096.0;
+  prolongation[1](52,62) = 225.0/4096.0;
+  prolongation[1](52,63) = 225.0/4096.0;
+  prolongation[1](53,24) = -5.0/256.0;
+  prolongation[1](53,26) = -5.0/256.0;
+  prolongation[1](53,28) = -1.0/256.0;
+  prolongation[1](53,30) = -1.0/256.0;
+  prolongation[1](53,40) = 45.0/256.0;
+  prolongation[1](53,41) = 45.0/256.0;
+  prolongation[1](53,44) = -15.0/256.0;
+  prolongation[1](53,46) = 5.0/256.0;
+  prolongation[1](53,48) = 9.0/256.0;
+  prolongation[1](53,49) = 9.0/256.0;
+  prolongation[1](53,52) = -15.0/256.0;
+  prolongation[1](53,54) = 5.0/256.0;
+  prolongation[1](53,56) = 135.0/256.0;
+  prolongation[1](53,57) = 135.0/256.0;
+  prolongation[1](53,60) = -45.0/256.0;
+  prolongation[1](53,61) = -45.0/256.0;
+  prolongation[1](54,10) = -5.0/256.0;
+  prolongation[1](54,14) = -5.0/256.0;
+  prolongation[1](54,18) = -1.0/256.0;
+  prolongation[1](54,22) = -1.0/256.0;
+  prolongation[1](54,32) = 45.0/256.0;
+  prolongation[1](54,33) = 45.0/256.0;
+  prolongation[1](54,36) = 9.0/256.0;
+  prolongation[1](54,37) = 9.0/256.0;
+  prolongation[1](54,44) = -15.0/256.0;
+  prolongation[1](54,45) = 5.0/256.0;
+  prolongation[1](54,52) = -15.0/256.0;
+  prolongation[1](54,53) = 5.0/256.0;
+  prolongation[1](54,56) = 135.0/256.0;
+  prolongation[1](54,57) = 135.0/256.0;
+  prolongation[1](54,58) = -45.0/256.0;
+  prolongation[1](54,59) = -45.0/256.0;
+  prolongation[1](55,44) = -1.0/16.0;
+  prolongation[1](55,52) = -1.0/16.0;
+  prolongation[1](55,56) = 9.0/16.0;
+  prolongation[1](55,57) = 9.0/16.0;
+  prolongation[1](56,9) = 25.0/256.0;
+  prolongation[1](56,13) = 5.0/256.0;
+  prolongation[1](56,17) = 5.0/256.0;
+  prolongation[1](56,21) = 1.0/256.0;
+  prolongation[1](56,33) = 75.0/256.0;
+  prolongation[1](56,35) = -25.0/256.0;
+  prolongation[1](56,37) = 15.0/256.0;
+  prolongation[1](56,39) = -5.0/256.0;
+  prolongation[1](56,41) = 75.0/256.0;
+  prolongation[1](56,43) = -25.0/256.0;
+  prolongation[1](56,49) = 15.0/256.0;
+  prolongation[1](56,51) = -5.0/256.0;
+  prolongation[1](56,57) = 225.0/256.0;
+  prolongation[1](56,59) = -75.0/256.0;
+  prolongation[1](56,61) = -75.0/256.0;
+  prolongation[1](56,63) = 25.0/256.0;
+  prolongation[1](57,0) = 25.0/4096.0;
+  prolongation[1](57,1) = 125.0/4096.0;
+  prolongation[1](57,2) = 25.0/4096.0;
+  prolongation[1](57,3) = 5.0/4096.0;
+  prolongation[1](57,4) = 5.0/4096.0;
+  prolongation[1](57,5) = 25.0/4096.0;
+  prolongation[1](57,6) = 5.0/4096.0;
+  prolongation[1](57,7) = 1.0/4096.0;
+  prolongation[1](57,8) = -125.0/4096.0;
+  prolongation[1](57,9) = 375.0/4096.0;
+  prolongation[1](57,10) = 375.0/4096.0;
+  prolongation[1](57,11) = -125.0/4096.0;
+  prolongation[1](57,12) = -25.0/4096.0;
+  prolongation[1](57,13) = 75.0/4096.0;
+  prolongation[1](57,14) = 75.0/4096.0;
+  prolongation[1](57,15) = -25.0/4096.0;
+  prolongation[1](57,16) = -25.0/4096.0;
+  prolongation[1](57,17) = 75.0/4096.0;
+  prolongation[1](57,18) = 75.0/4096.0;
+  prolongation[1](57,19) = -25.0/4096.0;
+  prolongation[1](57,20) = -5.0/4096.0;
+  prolongation[1](57,21) = 15.0/4096.0;
+  prolongation[1](57,22) = 15.0/4096.0;
+  prolongation[1](57,23) = -5.0/4096.0;
+  prolongation[1](57,24) = 75.0/4096.0;
+  prolongation[1](57,25) = -25.0/4096.0;
+  prolongation[1](57,26) = 375.0/4096.0;
+  prolongation[1](57,27) = -125.0/4096.0;
+  prolongation[1](57,28) = 75.0/4096.0;
+  prolongation[1](57,29) = -25.0/4096.0;
+  prolongation[1](57,30) = 15.0/4096.0;
+  prolongation[1](57,31) = -5.0/4096.0;
+  prolongation[1](57,32) = -375.0/4096.0;
+  prolongation[1](57,33) = 1125.0/4096.0;
+  prolongation[1](57,34) = 125.0/4096.0;
+  prolongation[1](57,35) = -375.0/4096.0;
+  prolongation[1](57,36) = -75.0/4096.0;
+  prolongation[1](57,37) = 225.0/4096.0;
+  prolongation[1](57,38) = 25.0/4096.0;
+  prolongation[1](57,39) = -75.0/4096.0;
+  prolongation[1](57,40) = -375.0/4096.0;
+  prolongation[1](57,41) = 1125.0/4096.0;
+  prolongation[1](57,42) = 125.0/4096.0;
+  prolongation[1](57,43) = -375.0/4096.0;
+  prolongation[1](57,44) = 1125.0/4096.0;
+  prolongation[1](57,45) = -375.0/4096.0;
+  prolongation[1](57,46) = -375.0/4096.0;
+  prolongation[1](57,47) = 125.0/4096.0;
+  prolongation[1](57,48) = -75.0/4096.0;
+  prolongation[1](57,49) = 225.0/4096.0;
+  prolongation[1](57,50) = 25.0/4096.0;
+  prolongation[1](57,51) = -75.0/4096.0;
+  prolongation[1](57,52) = 225.0/4096.0;
+  prolongation[1](57,53) = -75.0/4096.0;
+  prolongation[1](57,54) = -75.0/4096.0;
+  prolongation[1](57,55) = 25.0/4096.0;
+  prolongation[1](57,56) = -1125.0/4096.0;
+  prolongation[1](57,57) = 3375.0/4096.0;
+  prolongation[1](57,58) = 375.0/4096.0;
+  prolongation[1](57,59) = -1125.0/4096.0;
+  prolongation[1](57,60) = 375.0/4096.0;
+  prolongation[1](57,61) = -1125.0/4096.0;
+  prolongation[1](57,62) = -125.0/4096.0;
+  prolongation[1](57,63) = 375.0/4096.0;
+  prolongation[1](58,41) = 5.0/16.0;
+  prolongation[1](58,49) = 1.0/16.0;
+  prolongation[1](58,57) = 15.0/16.0;
+  prolongation[1](58,61) = -5.0/16.0;
+  prolongation[1](59,24) = 5.0/256.0;
+  prolongation[1](59,26) = 25.0/256.0;
+  prolongation[1](59,28) = 5.0/256.0;
+  prolongation[1](59,30) = 1.0/256.0;
+  prolongation[1](59,40) = -25.0/256.0;
+  prolongation[1](59,41) = 75.0/256.0;
+  prolongation[1](59,44) = 75.0/256.0;
+  prolongation[1](59,46) = -25.0/256.0;
+  prolongation[1](59,48) = -5.0/256.0;
+  prolongation[1](59,49) = 15.0/256.0;
+  prolongation[1](59,52) = 15.0/256.0;
+  prolongation[1](59,54) = -5.0/256.0;
+  prolongation[1](59,56) = -75.0/256.0;
+  prolongation[1](59,57) = 225.0/256.0;
+  prolongation[1](59,60) = 25.0/256.0;
+  prolongation[1](59,61) = -75.0/256.0;
+  prolongation[1](60,33) = 5.0/16.0;
+  prolongation[1](60,37) = 1.0/16.0;
+  prolongation[1](60,57) = 15.0/16.0;
+  prolongation[1](60,59) = -5.0/16.0;
+  prolongation[1](61,10) = 25.0/256.0;
+  prolongation[1](61,14) = 5.0/256.0;
+  prolongation[1](61,18) = 5.0/256.0;
+  prolongation[1](61,22) = 1.0/256.0;
+  prolongation[1](61,32) = -25.0/256.0;
+  prolongation[1](61,33) = 75.0/256.0;
+  prolongation[1](61,36) = -5.0/256.0;
+  prolongation[1](61,37) = 15.0/256.0;
+  prolongation[1](61,44) = 75.0/256.0;
+  prolongation[1](61,45) = -25.0/256.0;
+  prolongation[1](61,52) = 15.0/256.0;
+  prolongation[1](61,53) = -5.0/256.0;
+  prolongation[1](61,56) = -75.0/256.0;
+  prolongation[1](61,57) = 225.0/256.0;
+  prolongation[1](61,58) = 25.0/256.0;
+  prolongation[1](61,59) = -75.0/256.0;
+  prolongation[1](62,57) = 1.0;
+  prolongation[1](63,44) = 5.0/16.0;
+  prolongation[1](63,52) = 1.0/16.0;
+  prolongation[1](63,56) = -5.0/16.0;
+  prolongation[1](63,57) = 15.0/16.0;
+  prolongation[2](0,0) = 1.0/256.0;
+  prolongation[2](0,1) = 1.0/256.0;
+  prolongation[2](0,2) = 1.0/256.0;
+  prolongation[2](0,3) = 1.0/256.0;
+  prolongation[2](0,8) = -9.0/256.0;
+  prolongation[2](0,9) = -9.0/256.0;
+  prolongation[2](0,10) = -9.0/256.0;
+  prolongation[2](0,11) = -9.0/256.0;
+  prolongation[2](0,12) = -9.0/256.0;
+  prolongation[2](0,13) = -9.0/256.0;
+  prolongation[2](0,14) = -9.0/256.0;
+  prolongation[2](0,15) = -9.0/256.0;
+  prolongation[2](0,32) = 81.0/256.0;
+  prolongation[2](0,33) = 81.0/256.0;
+  prolongation[2](0,34) = 81.0/256.0;
+  prolongation[2](0,35) = 81.0/256.0;
+  prolongation[2](1,1) = -1.0/16.0;
+  prolongation[2](1,2) = -1.0/16.0;
+  prolongation[2](1,10) = 9.0/16.0;
+  prolongation[2](1,11) = 9.0/16.0;
+  prolongation[2](2,2) = 1.0;
+  prolongation[2](3,2) = -1.0/16.0;
+  prolongation[2](3,3) = -1.0/16.0;
+  prolongation[2](3,12) = 9.0/16.0;
+  prolongation[2](3,13) = 9.0/16.0;
+  prolongation[2](4,0) = -1.0/4096.0;
+  prolongation[2](4,1) = -1.0/4096.0;
+  prolongation[2](4,2) = -1.0/4096.0;
+  prolongation[2](4,3) = -1.0/4096.0;
+  prolongation[2](4,4) = -1.0/4096.0;
+  prolongation[2](4,5) = -1.0/4096.0;
+  prolongation[2](4,6) = -1.0/4096.0;
+  prolongation[2](4,7) = -1.0/4096.0;
+  prolongation[2](4,8) = 9.0/4096.0;
+  prolongation[2](4,9) = 9.0/4096.0;
+  prolongation[2](4,10) = 9.0/4096.0;
+  prolongation[2](4,11) = 9.0/4096.0;
+  prolongation[2](4,12) = 9.0/4096.0;
+  prolongation[2](4,13) = 9.0/4096.0;
+  prolongation[2](4,14) = 9.0/4096.0;
+  prolongation[2](4,15) = 9.0/4096.0;
+  prolongation[2](4,16) = 9.0/4096.0;
+  prolongation[2](4,17) = 9.0/4096.0;
+  prolongation[2](4,18) = 9.0/4096.0;
+  prolongation[2](4,19) = 9.0/4096.0;
+  prolongation[2](4,20) = 9.0/4096.0;
+  prolongation[2](4,21) = 9.0/4096.0;
+  prolongation[2](4,22) = 9.0/4096.0;
+  prolongation[2](4,23) = 9.0/4096.0;
+  prolongation[2](4,24) = 9.0/4096.0;
+  prolongation[2](4,25) = 9.0/4096.0;
+  prolongation[2](4,26) = 9.0/4096.0;
+  prolongation[2](4,27) = 9.0/4096.0;
+  prolongation[2](4,28) = 9.0/4096.0;
+  prolongation[2](4,29) = 9.0/4096.0;
+  prolongation[2](4,30) = 9.0/4096.0;
+  prolongation[2](4,31) = 9.0/4096.0;
+  prolongation[2](4,32) = -81.0/4096.0;
+  prolongation[2](4,33) = -81.0/4096.0;
+  prolongation[2](4,34) = -81.0/4096.0;
+  prolongation[2](4,35) = -81.0/4096.0;
+  prolongation[2](4,36) = -81.0/4096.0;
+  prolongation[2](4,37) = -81.0/4096.0;
+  prolongation[2](4,38) = -81.0/4096.0;
+  prolongation[2](4,39) = -81.0/4096.0;
+  prolongation[2](4,40) = -81.0/4096.0;
+  prolongation[2](4,41) = -81.0/4096.0;
+  prolongation[2](4,42) = -81.0/4096.0;
+  prolongation[2](4,43) = -81.0/4096.0;
+  prolongation[2](4,44) = -81.0/4096.0;
+  prolongation[2](4,45) = -81.0/4096.0;
+  prolongation[2](4,46) = -81.0/4096.0;
+  prolongation[2](4,47) = -81.0/4096.0;
+  prolongation[2](4,48) = -81.0/4096.0;
+  prolongation[2](4,49) = -81.0/4096.0;
+  prolongation[2](4,50) = -81.0/4096.0;
+  prolongation[2](4,51) = -81.0/4096.0;
+  prolongation[2](4,52) = -81.0/4096.0;
+  prolongation[2](4,53) = -81.0/4096.0;
+  prolongation[2](4,54) = -81.0/4096.0;
+  prolongation[2](4,55) = -81.0/4096.0;
+  prolongation[2](4,56) = 729.0/4096.0;
+  prolongation[2](4,57) = 729.0/4096.0;
+  prolongation[2](4,58) = 729.0/4096.0;
+  prolongation[2](4,59) = 729.0/4096.0;
+  prolongation[2](4,60) = 729.0/4096.0;
+  prolongation[2](4,61) = 729.0/4096.0;
+  prolongation[2](4,62) = 729.0/4096.0;
+  prolongation[2](4,63) = 729.0/4096.0;
+  prolongation[2](5,1) = 1.0/256.0;
+  prolongation[2](5,2) = 1.0/256.0;
+  prolongation[2](5,5) = 1.0/256.0;
+  prolongation[2](5,6) = 1.0/256.0;
+  prolongation[2](5,10) = -9.0/256.0;
+  prolongation[2](5,11) = -9.0/256.0;
+  prolongation[2](5,18) = -9.0/256.0;
+  prolongation[2](5,19) = -9.0/256.0;
+  prolongation[2](5,26) = -9.0/256.0;
+  prolongation[2](5,27) = -9.0/256.0;
+  prolongation[2](5,28) = -9.0/256.0;
+  prolongation[2](5,29) = -9.0/256.0;
+  prolongation[2](5,44) = 81.0/256.0;
+  prolongation[2](5,45) = 81.0/256.0;
+  prolongation[2](5,46) = 81.0/256.0;
+  prolongation[2](5,47) = 81.0/256.0;
+  prolongation[2](6,2) = -1.0/16.0;
+  prolongation[2](6,6) = -1.0/16.0;
+  prolongation[2](6,28) = 9.0/16.0;
+  prolongation[2](6,29) = 9.0/16.0;
+  prolongation[2](7,2) = 1.0/256.0;
+  prolongation[2](7,3) = 1.0/256.0;
+  prolongation[2](7,6) = 1.0/256.0;
+  prolongation[2](7,7) = 1.0/256.0;
+  prolongation[2](7,12) = -9.0/256.0;
+  prolongation[2](7,13) = -9.0/256.0;
+  prolongation[2](7,20) = -9.0/256.0;
+  prolongation[2](7,21) = -9.0/256.0;
+  prolongation[2](7,28) = -9.0/256.0;
+  prolongation[2](7,29) = -9.0/256.0;
+  prolongation[2](7,30) = -9.0/256.0;
+  prolongation[2](7,31) = -9.0/256.0;
+  prolongation[2](7,48) = 81.0/256.0;
+  prolongation[2](7,49) = 81.0/256.0;
+  prolongation[2](7,50) = 81.0/256.0;
+  prolongation[2](7,51) = 81.0/256.0;
+  prolongation[2](8,9) = -1.0/16.0;
+  prolongation[2](8,13) = -1.0/16.0;
+  prolongation[2](8,33) = 9.0/16.0;
+  prolongation[2](8,35) = 9.0/16.0;
+  prolongation[2](9,0) = -1.0/256.0;
+  prolongation[2](9,1) = -5.0/256.0;
+  prolongation[2](9,2) = -5.0/256.0;
+  prolongation[2](9,3) = -1.0/256.0;
+  prolongation[2](9,8) = 5.0/256.0;
+  prolongation[2](9,9) = -15.0/256.0;
+  prolongation[2](9,10) = 45.0/256.0;
+  prolongation[2](9,11) = 45.0/256.0;
+  prolongation[2](9,12) = 5.0/256.0;
+  prolongation[2](9,13) = -15.0/256.0;
+  prolongation[2](9,14) = 9.0/256.0;
+  prolongation[2](9,15) = 9.0/256.0;
+  prolongation[2](9,32) = -45.0/256.0;
+  prolongation[2](9,33) = 135.0/256.0;
+  prolongation[2](9,34) = -45.0/256.0;
+  prolongation[2](9,35) = 135.0/256.0;
+  prolongation[2](10,11) = 1.0;
+  prolongation[2](11,1) = 1.0/16.0;
+  prolongation[2](11,2) = 5.0/16.0;
+  prolongation[2](11,10) = -5.0/16.0;
+  prolongation[2](11,11) = 15.0/16.0;
+  prolongation[2](12,13) = 1.0;
+  prolongation[2](13,2) = 5.0/16.0;
+  prolongation[2](13,3) = 1.0/16.0;
+  prolongation[2](13,12) = -5.0/16.0;
+  prolongation[2](13,13) = 15.0/16.0;
+  prolongation[2](14,11) = -1.0/16.0;
+  prolongation[2](14,15) = -1.0/16.0;
+  prolongation[2](14,34) = 9.0/16.0;
+  prolongation[2](14,35) = 9.0/16.0;
+  prolongation[2](15,0) = -1.0/256.0;
+  prolongation[2](15,1) = -1.0/256.0;
+  prolongation[2](15,2) = -5.0/256.0;
+  prolongation[2](15,3) = -5.0/256.0;
+  prolongation[2](15,8) = 9.0/256.0;
+  prolongation[2](15,9) = 9.0/256.0;
+  prolongation[2](15,10) = 5.0/256.0;
+  prolongation[2](15,11) = -15.0/256.0;
+  prolongation[2](15,12) = 45.0/256.0;
+  prolongation[2](15,13) = 45.0/256.0;
+  prolongation[2](15,14) = 5.0/256.0;
+  prolongation[2](15,15) = -15.0/256.0;
+  prolongation[2](15,32) = -45.0/256.0;
+  prolongation[2](15,33) = -45.0/256.0;
+  prolongation[2](15,34) = 135.0/256.0;
+  prolongation[2](15,35) = 135.0/256.0;
+  prolongation[2](16,9) = 1.0/256.0;
+  prolongation[2](16,13) = 1.0/256.0;
+  prolongation[2](16,17) = 1.0/256.0;
+  prolongation[2](16,21) = 1.0/256.0;
+  prolongation[2](16,33) = -9.0/256.0;
+  prolongation[2](16,35) = -9.0/256.0;
+  prolongation[2](16,37) = -9.0/256.0;
+  prolongation[2](16,39) = -9.0/256.0;
+  prolongation[2](16,41) = -9.0/256.0;
+  prolongation[2](16,43) = -9.0/256.0;
+  prolongation[2](16,49) = -9.0/256.0;
+  prolongation[2](16,51) = -9.0/256.0;
+  prolongation[2](16,57) = 81.0/256.0;
+  prolongation[2](16,59) = 81.0/256.0;
+  prolongation[2](16,61) = 81.0/256.0;
+  prolongation[2](16,63) = 81.0/256.0;
+  prolongation[2](17,0) = 1.0/4096.0;
+  prolongation[2](17,1) = 5.0/4096.0;
+  prolongation[2](17,2) = 5.0/4096.0;
+  prolongation[2](17,3) = 1.0/4096.0;
+  prolongation[2](17,4) = 1.0/4096.0;
+  prolongation[2](17,5) = 5.0/4096.0;
+  prolongation[2](17,6) = 5.0/4096.0;
+  prolongation[2](17,7) = 1.0/4096.0;
+  prolongation[2](17,8) = -5.0/4096.0;
+  prolongation[2](17,9) = 15.0/4096.0;
+  prolongation[2](17,10) = -45.0/4096.0;
+  prolongation[2](17,11) = -45.0/4096.0;
+  prolongation[2](17,12) = -5.0/4096.0;
+  prolongation[2](17,13) = 15.0/4096.0;
+  prolongation[2](17,14) = -9.0/4096.0;
+  prolongation[2](17,15) = -9.0/4096.0;
+  prolongation[2](17,16) = -5.0/4096.0;
+  prolongation[2](17,17) = 15.0/4096.0;
+  prolongation[2](17,18) = -45.0/4096.0;
+  prolongation[2](17,19) = -45.0/4096.0;
+  prolongation[2](17,20) = -5.0/4096.0;
+  prolongation[2](17,21) = 15.0/4096.0;
+  prolongation[2](17,22) = -9.0/4096.0;
+  prolongation[2](17,23) = -9.0/4096.0;
+  prolongation[2](17,24) = -9.0/4096.0;
+  prolongation[2](17,25) = -9.0/4096.0;
+  prolongation[2](17,26) = -45.0/4096.0;
+  prolongation[2](17,27) = -45.0/4096.0;
+  prolongation[2](17,28) = -45.0/4096.0;
+  prolongation[2](17,29) = -45.0/4096.0;
+  prolongation[2](17,30) = -9.0/4096.0;
+  prolongation[2](17,31) = -9.0/4096.0;
+  prolongation[2](17,32) = 45.0/4096.0;
+  prolongation[2](17,33) = -135.0/4096.0;
+  prolongation[2](17,34) = 45.0/4096.0;
+  prolongation[2](17,35) = -135.0/4096.0;
+  prolongation[2](17,36) = 45.0/4096.0;
+  prolongation[2](17,37) = -135.0/4096.0;
+  prolongation[2](17,38) = 45.0/4096.0;
+  prolongation[2](17,39) = -135.0/4096.0;
+  prolongation[2](17,40) = 45.0/4096.0;
+  prolongation[2](17,41) = -135.0/4096.0;
+  prolongation[2](17,42) = 45.0/4096.0;
+  prolongation[2](17,43) = -135.0/4096.0;
+  prolongation[2](17,44) = 405.0/4096.0;
+  prolongation[2](17,45) = 405.0/4096.0;
+  prolongation[2](17,46) = 405.0/4096.0;
+  prolongation[2](17,47) = 405.0/4096.0;
+  prolongation[2](17,48) = 45.0/4096.0;
+  prolongation[2](17,49) = -135.0/4096.0;
+  prolongation[2](17,50) = 45.0/4096.0;
+  prolongation[2](17,51) = -135.0/4096.0;
+  prolongation[2](17,52) = 81.0/4096.0;
+  prolongation[2](17,53) = 81.0/4096.0;
+  prolongation[2](17,54) = 81.0/4096.0;
+  prolongation[2](17,55) = 81.0/4096.0;
+  prolongation[2](17,56) = -405.0/4096.0;
+  prolongation[2](17,57) = 1215.0/4096.0;
+  prolongation[2](17,58) = -405.0/4096.0;
+  prolongation[2](17,59) = 1215.0/4096.0;
+  prolongation[2](17,60) = -405.0/4096.0;
+  prolongation[2](17,61) = 1215.0/4096.0;
+  prolongation[2](17,62) = -405.0/4096.0;
+  prolongation[2](17,63) = 1215.0/4096.0;
+  prolongation[2](18,11) = -1.0/16.0;
+  prolongation[2](18,19) = -1.0/16.0;
+  prolongation[2](18,46) = 9.0/16.0;
+  prolongation[2](18,47) = 9.0/16.0;
+  prolongation[2](19,1) = -1.0/256.0;
+  prolongation[2](19,2) = -5.0/256.0;
+  prolongation[2](19,5) = -1.0/256.0;
+  prolongation[2](19,6) = -5.0/256.0;
+  prolongation[2](19,10) = 5.0/256.0;
+  prolongation[2](19,11) = -15.0/256.0;
+  prolongation[2](19,18) = 5.0/256.0;
+  prolongation[2](19,19) = -15.0/256.0;
+  prolongation[2](19,26) = 9.0/256.0;
+  prolongation[2](19,27) = 9.0/256.0;
+  prolongation[2](19,28) = 45.0/256.0;
+  prolongation[2](19,29) = 45.0/256.0;
+  prolongation[2](19,44) = -45.0/256.0;
+  prolongation[2](19,45) = -45.0/256.0;
+  prolongation[2](19,46) = 135.0/256.0;
+  prolongation[2](19,47) = 135.0/256.0;
+  prolongation[2](20,13) = -1.0/16.0;
+  prolongation[2](20,21) = -1.0/16.0;
+  prolongation[2](20,49) = 9.0/16.0;
+  prolongation[2](20,51) = 9.0/16.0;
+  prolongation[2](21,2) = -5.0/256.0;
+  prolongation[2](21,3) = -1.0/256.0;
+  prolongation[2](21,6) = -5.0/256.0;
+  prolongation[2](21,7) = -1.0/256.0;
+  prolongation[2](21,12) = 5.0/256.0;
+  prolongation[2](21,13) = -15.0/256.0;
+  prolongation[2](21,20) = 5.0/256.0;
+  prolongation[2](21,21) = -15.0/256.0;
+  prolongation[2](21,28) = 45.0/256.0;
+  prolongation[2](21,29) = 45.0/256.0;
+  prolongation[2](21,30) = 9.0/256.0;
+  prolongation[2](21,31) = 9.0/256.0;
+  prolongation[2](21,48) = -45.0/256.0;
+  prolongation[2](21,49) = 135.0/256.0;
+  prolongation[2](21,50) = -45.0/256.0;
+  prolongation[2](21,51) = 135.0/256.0;
+  prolongation[2](22,11) = 1.0/256.0;
+  prolongation[2](22,15) = 1.0/256.0;
+  prolongation[2](22,19) = 1.0/256.0;
+  prolongation[2](22,23) = 1.0/256.0;
+  prolongation[2](22,34) = -9.0/256.0;
+  prolongation[2](22,35) = -9.0/256.0;
+  prolongation[2](22,38) = -9.0/256.0;
+  prolongation[2](22,39) = -9.0/256.0;
+  prolongation[2](22,46) = -9.0/256.0;
+  prolongation[2](22,47) = -9.0/256.0;
+  prolongation[2](22,54) = -9.0/256.0;
+  prolongation[2](22,55) = -9.0/256.0;
+  prolongation[2](22,60) = 81.0/256.0;
+  prolongation[2](22,61) = 81.0/256.0;
+  prolongation[2](22,62) = 81.0/256.0;
+  prolongation[2](22,63) = 81.0/256.0;
+  prolongation[2](23,0) = 1.0/4096.0;
+  prolongation[2](23,1) = 1.0/4096.0;
+  prolongation[2](23,2) = 5.0/4096.0;
+  prolongation[2](23,3) = 5.0/4096.0;
+  prolongation[2](23,4) = 1.0/4096.0;
+  prolongation[2](23,5) = 1.0/4096.0;
+  prolongation[2](23,6) = 5.0/4096.0;
+  prolongation[2](23,7) = 5.0/4096.0;
+  prolongation[2](23,8) = -9.0/4096.0;
+  prolongation[2](23,9) = -9.0/4096.0;
+  prolongation[2](23,10) = -5.0/4096.0;
+  prolongation[2](23,11) = 15.0/4096.0;
+  prolongation[2](23,12) = -45.0/4096.0;
+  prolongation[2](23,13) = -45.0/4096.0;
+  prolongation[2](23,14) = -5.0/4096.0;
+  prolongation[2](23,15) = 15.0/4096.0;
+  prolongation[2](23,16) = -9.0/4096.0;
+  prolongation[2](23,17) = -9.0/4096.0;
+  prolongation[2](23,18) = -5.0/4096.0;
+  prolongation[2](23,19) = 15.0/4096.0;
+  prolongation[2](23,20) = -45.0/4096.0;
+  prolongation[2](23,21) = -45.0/4096.0;
+  prolongation[2](23,22) = -5.0/4096.0;
+  prolongation[2](23,23) = 15.0/4096.0;
+  prolongation[2](23,24) = -9.0/4096.0;
+  prolongation[2](23,25) = -9.0/4096.0;
+  prolongation[2](23,26) = -9.0/4096.0;
+  prolongation[2](23,27) = -9.0/4096.0;
+  prolongation[2](23,28) = -45.0/4096.0;
+  prolongation[2](23,29) = -45.0/4096.0;
+  prolongation[2](23,30) = -45.0/4096.0;
+  prolongation[2](23,31) = -45.0/4096.0;
+  prolongation[2](23,32) = 45.0/4096.0;
+  prolongation[2](23,33) = 45.0/4096.0;
+  prolongation[2](23,34) = -135.0/4096.0;
+  prolongation[2](23,35) = -135.0/4096.0;
+  prolongation[2](23,36) = 45.0/4096.0;
+  prolongation[2](23,37) = 45.0/4096.0;
+  prolongation[2](23,38) = -135.0/4096.0;
+  prolongation[2](23,39) = -135.0/4096.0;
+  prolongation[2](23,40) = 81.0/4096.0;
+  prolongation[2](23,41) = 81.0/4096.0;
+  prolongation[2](23,42) = 81.0/4096.0;
+  prolongation[2](23,43) = 81.0/4096.0;
+  prolongation[2](23,44) = 45.0/4096.0;
+  prolongation[2](23,45) = 45.0/4096.0;
+  prolongation[2](23,46) = -135.0/4096.0;
+  prolongation[2](23,47) = -135.0/4096.0;
+  prolongation[2](23,48) = 405.0/4096.0;
+  prolongation[2](23,49) = 405.0/4096.0;
+  prolongation[2](23,50) = 405.0/4096.0;
+  prolongation[2](23,51) = 405.0/4096.0;
+  prolongation[2](23,52) = 45.0/4096.0;
+  prolongation[2](23,53) = 45.0/4096.0;
+  prolongation[2](23,54) = -135.0/4096.0;
+  prolongation[2](23,55) = -135.0/4096.0;
+  prolongation[2](23,56) = -405.0/4096.0;
+  prolongation[2](23,57) = -405.0/4096.0;
+  prolongation[2](23,58) = -405.0/4096.0;
+  prolongation[2](23,59) = -405.0/4096.0;
+  prolongation[2](23,60) = 1215.0/4096.0;
+  prolongation[2](23,61) = 1215.0/4096.0;
+  prolongation[2](23,62) = 1215.0/4096.0;
+  prolongation[2](23,63) = 1215.0/4096.0;
+  prolongation[2](24,0) = 5.0/4096.0;
+  prolongation[2](24,1) = 5.0/4096.0;
+  prolongation[2](24,2) = 5.0/4096.0;
+  prolongation[2](24,3) = 5.0/4096.0;
+  prolongation[2](24,4) = 1.0/4096.0;
+  prolongation[2](24,5) = 1.0/4096.0;
+  prolongation[2](24,6) = 1.0/4096.0;
+  prolongation[2](24,7) = 1.0/4096.0;
+  prolongation[2](24,8) = -45.0/4096.0;
+  prolongation[2](24,9) = -45.0/4096.0;
+  prolongation[2](24,10) = -45.0/4096.0;
+  prolongation[2](24,11) = -45.0/4096.0;
+  prolongation[2](24,12) = -45.0/4096.0;
+  prolongation[2](24,13) = -45.0/4096.0;
+  prolongation[2](24,14) = -45.0/4096.0;
+  prolongation[2](24,15) = -45.0/4096.0;
+  prolongation[2](24,16) = -9.0/4096.0;
+  prolongation[2](24,17) = -9.0/4096.0;
+  prolongation[2](24,18) = -9.0/4096.0;
+  prolongation[2](24,19) = -9.0/4096.0;
+  prolongation[2](24,20) = -9.0/4096.0;
+  prolongation[2](24,21) = -9.0/4096.0;
+  prolongation[2](24,22) = -9.0/4096.0;
+  prolongation[2](24,23) = -9.0/4096.0;
+  prolongation[2](24,24) = 15.0/4096.0;
+  prolongation[2](24,25) = -5.0/4096.0;
+  prolongation[2](24,26) = 15.0/4096.0;
+  prolongation[2](24,27) = -5.0/4096.0;
+  prolongation[2](24,28) = 15.0/4096.0;
+  prolongation[2](24,29) = -5.0/4096.0;
+  prolongation[2](24,30) = 15.0/4096.0;
+  prolongation[2](24,31) = -5.0/4096.0;
+  prolongation[2](24,32) = 405.0/4096.0;
+  prolongation[2](24,33) = 405.0/4096.0;
+  prolongation[2](24,34) = 405.0/4096.0;
+  prolongation[2](24,35) = 405.0/4096.0;
+  prolongation[2](24,36) = 81.0/4096.0;
+  prolongation[2](24,37) = 81.0/4096.0;
+  prolongation[2](24,38) = 81.0/4096.0;
+  prolongation[2](24,39) = 81.0/4096.0;
+  prolongation[2](24,40) = -135.0/4096.0;
+  prolongation[2](24,41) = -135.0/4096.0;
+  prolongation[2](24,42) = 45.0/4096.0;
+  prolongation[2](24,43) = 45.0/4096.0;
+  prolongation[2](24,44) = -135.0/4096.0;
+  prolongation[2](24,45) = 45.0/4096.0;
+  prolongation[2](24,46) = -135.0/4096.0;
+  prolongation[2](24,47) = 45.0/4096.0;
+  prolongation[2](24,48) = -135.0/4096.0;
+  prolongation[2](24,49) = -135.0/4096.0;
+  prolongation[2](24,50) = 45.0/4096.0;
+  prolongation[2](24,51) = 45.0/4096.0;
+  prolongation[2](24,52) = -135.0/4096.0;
+  prolongation[2](24,53) = 45.0/4096.0;
+  prolongation[2](24,54) = -135.0/4096.0;
+  prolongation[2](24,55) = 45.0/4096.0;
+  prolongation[2](24,56) = 1215.0/4096.0;
+  prolongation[2](24,57) = 1215.0/4096.0;
+  prolongation[2](24,58) = -405.0/4096.0;
+  prolongation[2](24,59) = -405.0/4096.0;
+  prolongation[2](24,60) = 1215.0/4096.0;
+  prolongation[2](24,61) = 1215.0/4096.0;
+  prolongation[2](24,62) = -405.0/4096.0;
+  prolongation[2](24,63) = -405.0/4096.0;
+  prolongation[2](25,24) = 1.0/256.0;
+  prolongation[2](25,26) = 1.0/256.0;
+  prolongation[2](25,28) = 1.0/256.0;
+  prolongation[2](25,30) = 1.0/256.0;
+  prolongation[2](25,40) = -9.0/256.0;
+  prolongation[2](25,41) = -9.0/256.0;
+  prolongation[2](25,44) = -9.0/256.0;
+  prolongation[2](25,46) = -9.0/256.0;
+  prolongation[2](25,48) = -9.0/256.0;
+  prolongation[2](25,49) = -9.0/256.0;
+  prolongation[2](25,52) = -9.0/256.0;
+  prolongation[2](25,54) = -9.0/256.0;
+  prolongation[2](25,56) = 81.0/256.0;
+  prolongation[2](25,57) = 81.0/256.0;
+  prolongation[2](25,60) = 81.0/256.0;
+  prolongation[2](25,61) = 81.0/256.0;
+  prolongation[2](26,1) = -5.0/256.0;
+  prolongation[2](26,2) = -5.0/256.0;
+  prolongation[2](26,5) = -1.0/256.0;
+  prolongation[2](26,6) = -1.0/256.0;
+  prolongation[2](26,10) = 45.0/256.0;
+  prolongation[2](26,11) = 45.0/256.0;
+  prolongation[2](26,18) = 9.0/256.0;
+  prolongation[2](26,19) = 9.0/256.0;
+  prolongation[2](26,26) = -15.0/256.0;
+  prolongation[2](26,27) = 5.0/256.0;
+  prolongation[2](26,28) = -15.0/256.0;
+  prolongation[2](26,29) = 5.0/256.0;
+  prolongation[2](26,44) = 135.0/256.0;
+  prolongation[2](26,45) = -45.0/256.0;
+  prolongation[2](26,46) = 135.0/256.0;
+  prolongation[2](26,47) = -45.0/256.0;
+  prolongation[2](27,26) = -1.0/16.0;
+  prolongation[2](27,28) = -1.0/16.0;
+  prolongation[2](27,44) = 9.0/16.0;
+  prolongation[2](27,46) = 9.0/16.0;
+  prolongation[2](28,2) = 5.0/16.0;
+  prolongation[2](28,6) = 1.0/16.0;
+  prolongation[2](28,28) = 15.0/16.0;
+  prolongation[2](28,29) = -5.0/16.0;
+  prolongation[2](29,28) = 1.0;
+  prolongation[2](30,2) = -5.0/256.0;
+  prolongation[2](30,3) = -5.0/256.0;
+  prolongation[2](30,6) = -1.0/256.0;
+  prolongation[2](30,7) = -1.0/256.0;
+  prolongation[2](30,12) = 45.0/256.0;
+  prolongation[2](30,13) = 45.0/256.0;
+  prolongation[2](30,20) = 9.0/256.0;
+  prolongation[2](30,21) = 9.0/256.0;
+  prolongation[2](30,28) = -15.0/256.0;
+  prolongation[2](30,29) = 5.0/256.0;
+  prolongation[2](30,30) = -15.0/256.0;
+  prolongation[2](30,31) = 5.0/256.0;
+  prolongation[2](30,48) = 135.0/256.0;
+  prolongation[2](30,49) = 135.0/256.0;
+  prolongation[2](30,50) = -45.0/256.0;
+  prolongation[2](30,51) = -45.0/256.0;
+  prolongation[2](31,28) = -1.0/16.0;
+  prolongation[2](31,30) = -1.0/16.0;
+  prolongation[2](31,48) = 9.0/16.0;
+  prolongation[2](31,49) = 9.0/16.0;
+  prolongation[2](32,35) = 1.0;
+  prolongation[2](33,11) = 5.0/16.0;
+  prolongation[2](33,15) = 1.0/16.0;
+  prolongation[2](33,34) = -5.0/16.0;
+  prolongation[2](33,35) = 15.0/16.0;
+  prolongation[2](34,9) = 1.0/16.0;
+  prolongation[2](34,13) = 5.0/16.0;
+  prolongation[2](34,33) = -5.0/16.0;
+  prolongation[2](34,35) = 15.0/16.0;
+  prolongation[2](35,0) = 1.0/256.0;
+  prolongation[2](35,1) = 5.0/256.0;
+  prolongation[2](35,2) = 25.0/256.0;
+  prolongation[2](35,3) = 5.0/256.0;
+  prolongation[2](35,8) = -5.0/256.0;
+  prolongation[2](35,9) = 15.0/256.0;
+  prolongation[2](35,10) = -25.0/256.0;
+  prolongation[2](35,11) = 75.0/256.0;
+  prolongation[2](35,12) = -25.0/256.0;
+  prolongation[2](35,13) = 75.0/256.0;
+  prolongation[2](35,14) = -5.0/256.0;
+  prolongation[2](35,15) = 15.0/256.0;
+  prolongation[2](35,32) = 25.0/256.0;
+  prolongation[2](35,33) = -75.0/256.0;
+  prolongation[2](35,34) = -75.0/256.0;
+  prolongation[2](35,35) = 225.0/256.0;
+  prolongation[2](36,35) = -1.0/16.0;
+  prolongation[2](36,39) = -1.0/16.0;
+  prolongation[2](36,61) = 9.0/16.0;
+  prolongation[2](36,63) = 9.0/16.0;
+  prolongation[2](37,11) = -5.0/256.0;
+  prolongation[2](37,15) = -1.0/256.0;
+  prolongation[2](37,19) = -5.0/256.0;
+  prolongation[2](37,23) = -1.0/256.0;
+  prolongation[2](37,34) = 5.0/256.0;
+  prolongation[2](37,35) = -15.0/256.0;
+  prolongation[2](37,38) = 5.0/256.0;
+  prolongation[2](37,39) = -15.0/256.0;
+  prolongation[2](37,46) = 45.0/256.0;
+  prolongation[2](37,47) = 45.0/256.0;
+  prolongation[2](37,54) = 9.0/256.0;
+  prolongation[2](37,55) = 9.0/256.0;
+  prolongation[2](37,60) = -45.0/256.0;
+  prolongation[2](37,61) = 135.0/256.0;
+  prolongation[2](37,62) = -45.0/256.0;
+  prolongation[2](37,63) = 135.0/256.0;
+  prolongation[2](38,9) = -1.0/256.0;
+  prolongation[2](38,13) = -5.0/256.0;
+  prolongation[2](38,17) = -1.0/256.0;
+  prolongation[2](38,21) = -5.0/256.0;
+  prolongation[2](38,33) = 5.0/256.0;
+  prolongation[2](38,35) = -15.0/256.0;
+  prolongation[2](38,37) = 5.0/256.0;
+  prolongation[2](38,39) = -15.0/256.0;
+  prolongation[2](38,41) = 9.0/256.0;
+  prolongation[2](38,43) = 9.0/256.0;
+  prolongation[2](38,49) = 45.0/256.0;
+  prolongation[2](38,51) = 45.0/256.0;
+  prolongation[2](38,57) = -45.0/256.0;
+  prolongation[2](38,59) = -45.0/256.0;
+  prolongation[2](38,61) = 135.0/256.0;
+  prolongation[2](38,63) = 135.0/256.0;
+  prolongation[2](39,0) = -1.0/4096.0;
+  prolongation[2](39,1) = -5.0/4096.0;
+  prolongation[2](39,2) = -25.0/4096.0;
+  prolongation[2](39,3) = -5.0/4096.0;
+  prolongation[2](39,4) = -1.0/4096.0;
+  prolongation[2](39,5) = -5.0/4096.0;
+  prolongation[2](39,6) = -25.0/4096.0;
+  prolongation[2](39,7) = -5.0/4096.0;
+  prolongation[2](39,8) = 5.0/4096.0;
+  prolongation[2](39,9) = -15.0/4096.0;
+  prolongation[2](39,10) = 25.0/4096.0;
+  prolongation[2](39,11) = -75.0/4096.0;
+  prolongation[2](39,12) = 25.0/4096.0;
+  prolongation[2](39,13) = -75.0/4096.0;
+  prolongation[2](39,14) = 5.0/4096.0;
+  prolongation[2](39,15) = -15.0/4096.0;
+  prolongation[2](39,16) = 5.0/4096.0;
+  prolongation[2](39,17) = -15.0/4096.0;
+  prolongation[2](39,18) = 25.0/4096.0;
+  prolongation[2](39,19) = -75.0/4096.0;
+  prolongation[2](39,20) = 25.0/4096.0;
+  prolongation[2](39,21) = -75.0/4096.0;
+  prolongation[2](39,22) = 5.0/4096.0;
+  prolongation[2](39,23) = -15.0/4096.0;
+  prolongation[2](39,24) = 9.0/4096.0;
+  prolongation[2](39,25) = 9.0/4096.0;
+  prolongation[2](39,26) = 45.0/4096.0;
+  prolongation[2](39,27) = 45.0/4096.0;
+  prolongation[2](39,28) = 225.0/4096.0;
+  prolongation[2](39,29) = 225.0/4096.0;
+  prolongation[2](39,30) = 45.0/4096.0;
+  prolongation[2](39,31) = 45.0/4096.0;
+  prolongation[2](39,32) = -25.0/4096.0;
+  prolongation[2](39,33) = 75.0/4096.0;
+  prolongation[2](39,34) = 75.0/4096.0;
+  prolongation[2](39,35) = -225.0/4096.0;
+  prolongation[2](39,36) = -25.0/4096.0;
+  prolongation[2](39,37) = 75.0/4096.0;
+  prolongation[2](39,38) = 75.0/4096.0;
+  prolongation[2](39,39) = -225.0/4096.0;
+  prolongation[2](39,40) = -45.0/4096.0;
+  prolongation[2](39,41) = 135.0/4096.0;
+  prolongation[2](39,42) = -45.0/4096.0;
+  prolongation[2](39,43) = 135.0/4096.0;
+  prolongation[2](39,44) = -225.0/4096.0;
+  prolongation[2](39,45) = -225.0/4096.0;
+  prolongation[2](39,46) = 675.0/4096.0;
+  prolongation[2](39,47) = 675.0/4096.0;
+  prolongation[2](39,48) = -225.0/4096.0;
+  prolongation[2](39,49) = 675.0/4096.0;
+  prolongation[2](39,50) = -225.0/4096.0;
+  prolongation[2](39,51) = 675.0/4096.0;
+  prolongation[2](39,52) = -45.0/4096.0;
+  prolongation[2](39,53) = -45.0/4096.0;
+  prolongation[2](39,54) = 135.0/4096.0;
+  prolongation[2](39,55) = 135.0/4096.0;
+  prolongation[2](39,56) = 225.0/4096.0;
+  prolongation[2](39,57) = -675.0/4096.0;
+  prolongation[2](39,58) = 225.0/4096.0;
+  prolongation[2](39,59) = -675.0/4096.0;
+  prolongation[2](39,60) = -675.0/4096.0;
+  prolongation[2](39,61) = 2025.0/4096.0;
+  prolongation[2](39,62) = -675.0/4096.0;
+  prolongation[2](39,63) = 2025.0/4096.0;
+  prolongation[2](40,9) = -5.0/256.0;
+  prolongation[2](40,13) = -5.0/256.0;
+  prolongation[2](40,17) = -1.0/256.0;
+  prolongation[2](40,21) = -1.0/256.0;
+  prolongation[2](40,33) = 45.0/256.0;
+  prolongation[2](40,35) = 45.0/256.0;
+  prolongation[2](40,37) = 9.0/256.0;
+  prolongation[2](40,39) = 9.0/256.0;
+  prolongation[2](40,41) = -15.0/256.0;
+  prolongation[2](40,43) = 5.0/256.0;
+  prolongation[2](40,49) = -15.0/256.0;
+  prolongation[2](40,51) = 5.0/256.0;
+  prolongation[2](40,57) = 135.0/256.0;
+  prolongation[2](40,59) = -45.0/256.0;
+  prolongation[2](40,61) = 135.0/256.0;
+  prolongation[2](40,63) = -45.0/256.0;
+  prolongation[2](41,0) = -5.0/4096.0;
+  prolongation[2](41,1) = -25.0/4096.0;
+  prolongation[2](41,2) = -25.0/4096.0;
+  prolongation[2](41,3) = -5.0/4096.0;
+  prolongation[2](41,4) = -1.0/4096.0;
+  prolongation[2](41,5) = -5.0/4096.0;
+  prolongation[2](41,6) = -5.0/4096.0;
+  prolongation[2](41,7) = -1.0/4096.0;
+  prolongation[2](41,8) = 25.0/4096.0;
+  prolongation[2](41,9) = -75.0/4096.0;
+  prolongation[2](41,10) = 225.0/4096.0;
+  prolongation[2](41,11) = 225.0/4096.0;
+  prolongation[2](41,12) = 25.0/4096.0;
+  prolongation[2](41,13) = -75.0/4096.0;
+  prolongation[2](41,14) = 45.0/4096.0;
+  prolongation[2](41,15) = 45.0/4096.0;
+  prolongation[2](41,16) = 5.0/4096.0;
+  prolongation[2](41,17) = -15.0/4096.0;
+  prolongation[2](41,18) = 45.0/4096.0;
+  prolongation[2](41,19) = 45.0/4096.0;
+  prolongation[2](41,20) = 5.0/4096.0;
+  prolongation[2](41,21) = -15.0/4096.0;
+  prolongation[2](41,22) = 9.0/4096.0;
+  prolongation[2](41,23) = 9.0/4096.0;
+  prolongation[2](41,24) = -15.0/4096.0;
+  prolongation[2](41,25) = 5.0/4096.0;
+  prolongation[2](41,26) = -75.0/4096.0;
+  prolongation[2](41,27) = 25.0/4096.0;
+  prolongation[2](41,28) = -75.0/4096.0;
+  prolongation[2](41,29) = 25.0/4096.0;
+  prolongation[2](41,30) = -15.0/4096.0;
+  prolongation[2](41,31) = 5.0/4096.0;
+  prolongation[2](41,32) = -225.0/4096.0;
+  prolongation[2](41,33) = 675.0/4096.0;
+  prolongation[2](41,34) = -225.0/4096.0;
+  prolongation[2](41,35) = 675.0/4096.0;
+  prolongation[2](41,36) = -45.0/4096.0;
+  prolongation[2](41,37) = 135.0/4096.0;
+  prolongation[2](41,38) = -45.0/4096.0;
+  prolongation[2](41,39) = 135.0/4096.0;
+  prolongation[2](41,40) = 75.0/4096.0;
+  prolongation[2](41,41) = -225.0/4096.0;
+  prolongation[2](41,42) = -25.0/4096.0;
+  prolongation[2](41,43) = 75.0/4096.0;
+  prolongation[2](41,44) = 675.0/4096.0;
+  prolongation[2](41,45) = -225.0/4096.0;
+  prolongation[2](41,46) = 675.0/4096.0;
+  prolongation[2](41,47) = -225.0/4096.0;
+  prolongation[2](41,48) = 75.0/4096.0;
+  prolongation[2](41,49) = -225.0/4096.0;
+  prolongation[2](41,50) = -25.0/4096.0;
+  prolongation[2](41,51) = 75.0/4096.0;
+  prolongation[2](41,52) = 135.0/4096.0;
+  prolongation[2](41,53) = -45.0/4096.0;
+  prolongation[2](41,54) = 135.0/4096.0;
+  prolongation[2](41,55) = -45.0/4096.0;
+  prolongation[2](41,56) = -675.0/4096.0;
+  prolongation[2](41,57) = 2025.0/4096.0;
+  prolongation[2](41,58) = 225.0/4096.0;
+  prolongation[2](41,59) = -675.0/4096.0;
+  prolongation[2](41,60) = -675.0/4096.0;
+  prolongation[2](41,61) = 2025.0/4096.0;
+  prolongation[2](41,62) = 225.0/4096.0;
+  prolongation[2](41,63) = -675.0/4096.0;
+  prolongation[2](42,41) = -1.0/16.0;
+  prolongation[2](42,49) = -1.0/16.0;
+  prolongation[2](42,57) = 9.0/16.0;
+  prolongation[2](42,61) = 9.0/16.0;
+  prolongation[2](43,24) = -1.0/256.0;
+  prolongation[2](43,26) = -5.0/256.0;
+  prolongation[2](43,28) = -5.0/256.0;
+  prolongation[2](43,30) = -1.0/256.0;
+  prolongation[2](43,40) = 5.0/256.0;
+  prolongation[2](43,41) = -15.0/256.0;
+  prolongation[2](43,44) = 45.0/256.0;
+  prolongation[2](43,46) = 45.0/256.0;
+  prolongation[2](43,48) = 5.0/256.0;
+  prolongation[2](43,49) = -15.0/256.0;
+  prolongation[2](43,52) = 9.0/256.0;
+  prolongation[2](43,54) = 9.0/256.0;
+  prolongation[2](43,56) = -45.0/256.0;
+  prolongation[2](43,57) = 135.0/256.0;
+  prolongation[2](43,60) = -45.0/256.0;
+  prolongation[2](43,61) = 135.0/256.0;
+  prolongation[2](44,11) = 5.0/16.0;
+  prolongation[2](44,19) = 1.0/16.0;
+  prolongation[2](44,46) = 15.0/16.0;
+  prolongation[2](44,47) = -5.0/16.0;
+  prolongation[2](45,46) = 1.0;
+  prolongation[2](46,1) = 5.0/256.0;
+  prolongation[2](46,2) = 25.0/256.0;
+  prolongation[2](46,5) = 1.0/256.0;
+  prolongation[2](46,6) = 5.0/256.0;
+  prolongation[2](46,10) = -25.0/256.0;
+  prolongation[2](46,11) = 75.0/256.0;
+  prolongation[2](46,18) = -5.0/256.0;
+  prolongation[2](46,19) = 15.0/256.0;
+  prolongation[2](46,26) = 15.0/256.0;
+  prolongation[2](46,27) = -5.0/256.0;
+  prolongation[2](46,28) = 75.0/256.0;
+  prolongation[2](46,29) = -25.0/256.0;
+  prolongation[2](46,44) = -75.0/256.0;
+  prolongation[2](46,45) = 25.0/256.0;
+  prolongation[2](46,46) = 225.0/256.0;
+  prolongation[2](46,47) = -75.0/256.0;
+  prolongation[2](47,26) = 1.0/16.0;
+  prolongation[2](47,28) = 5.0/16.0;
+  prolongation[2](47,44) = -5.0/16.0;
+  prolongation[2](47,46) = 15.0/16.0;
+  prolongation[2](48,13) = 5.0/16.0;
+  prolongation[2](48,21) = 1.0/16.0;
+  prolongation[2](48,49) = 15.0/16.0;
+  prolongation[2](48,51) = -5.0/16.0;
+  prolongation[2](49,2) = 25.0/256.0;
+  prolongation[2](49,3) = 5.0/256.0;
+  prolongation[2](49,6) = 5.0/256.0;
+  prolongation[2](49,7) = 1.0/256.0;
+  prolongation[2](49,12) = -25.0/256.0;
+  prolongation[2](49,13) = 75.0/256.0;
+  prolongation[2](49,20) = -5.0/256.0;
+  prolongation[2](49,21) = 15.0/256.0;
+  prolongation[2](49,28) = 75.0/256.0;
+  prolongation[2](49,29) = -25.0/256.0;
+  prolongation[2](49,30) = 15.0/256.0;
+  prolongation[2](49,31) = -5.0/256.0;
+  prolongation[2](49,48) = -75.0/256.0;
+  prolongation[2](49,49) = 225.0/256.0;
+  prolongation[2](49,50) = 25.0/256.0;
+  prolongation[2](49,51) = -75.0/256.0;
+  prolongation[2](50,49) = 1.0;
+  prolongation[2](51,28) = 5.0/16.0;
+  prolongation[2](51,30) = 1.0/16.0;
+  prolongation[2](51,48) = -5.0/16.0;
+  prolongation[2](51,49) = 15.0/16.0;
+  prolongation[2](52,11) = -5.0/256.0;
+  prolongation[2](52,15) = -5.0/256.0;
+  prolongation[2](52,19) = -1.0/256.0;
+  prolongation[2](52,23) = -1.0/256.0;
+  prolongation[2](52,34) = 45.0/256.0;
+  prolongation[2](52,35) = 45.0/256.0;
+  prolongation[2](52,38) = 9.0/256.0;
+  prolongation[2](52,39) = 9.0/256.0;
+  prolongation[2](52,46) = -15.0/256.0;
+  prolongation[2](52,47) = 5.0/256.0;
+  prolongation[2](52,54) = -15.0/256.0;
+  prolongation[2](52,55) = 5.0/256.0;
+  prolongation[2](52,60) = 135.0/256.0;
+  prolongation[2](52,61) = 135.0/256.0;
+  prolongation[2](52,62) = -45.0/256.0;
+  prolongation[2](52,63) = -45.0/256.0;
+  prolongation[2](53,46) = -1.0/16.0;
+  prolongation[2](53,54) = -1.0/16.0;
+  prolongation[2](53,60) = 9.0/16.0;
+  prolongation[2](53,61) = 9.0/16.0;
+  prolongation[2](54,0) = -5.0/4096.0;
+  prolongation[2](54,1) = -5.0/4096.0;
+  prolongation[2](54,2) = -25.0/4096.0;
+  prolongation[2](54,3) = -25.0/4096.0;
+  prolongation[2](54,4) = -1.0/4096.0;
+  prolongation[2](54,5) = -1.0/4096.0;
+  prolongation[2](54,6) = -5.0/4096.0;
+  prolongation[2](54,7) = -5.0/4096.0;
+  prolongation[2](54,8) = 45.0/4096.0;
+  prolongation[2](54,9) = 45.0/4096.0;
+  prolongation[2](54,10) = 25.0/4096.0;
+  prolongation[2](54,11) = -75.0/4096.0;
+  prolongation[2](54,12) = 225.0/4096.0;
+  prolongation[2](54,13) = 225.0/4096.0;
+  prolongation[2](54,14) = 25.0/4096.0;
+  prolongation[2](54,15) = -75.0/4096.0;
+  prolongation[2](54,16) = 9.0/4096.0;
+  prolongation[2](54,17) = 9.0/4096.0;
+  prolongation[2](54,18) = 5.0/4096.0;
+  prolongation[2](54,19) = -15.0/4096.0;
+  prolongation[2](54,20) = 45.0/4096.0;
+  prolongation[2](54,21) = 45.0/4096.0;
+  prolongation[2](54,22) = 5.0/4096.0;
+  prolongation[2](54,23) = -15.0/4096.0;
+  prolongation[2](54,24) = -15.0/4096.0;
+  prolongation[2](54,25) = 5.0/4096.0;
+  prolongation[2](54,26) = -15.0/4096.0;
+  prolongation[2](54,27) = 5.0/4096.0;
+  prolongation[2](54,28) = -75.0/4096.0;
+  prolongation[2](54,29) = 25.0/4096.0;
+  prolongation[2](54,30) = -75.0/4096.0;
+  prolongation[2](54,31) = 25.0/4096.0;
+  prolongation[2](54,32) = -225.0/4096.0;
+  prolongation[2](54,33) = -225.0/4096.0;
+  prolongation[2](54,34) = 675.0/4096.0;
+  prolongation[2](54,35) = 675.0/4096.0;
+  prolongation[2](54,36) = -45.0/4096.0;
+  prolongation[2](54,37) = -45.0/4096.0;
+  prolongation[2](54,38) = 135.0/4096.0;
+  prolongation[2](54,39) = 135.0/4096.0;
+  prolongation[2](54,40) = 135.0/4096.0;
+  prolongation[2](54,41) = 135.0/4096.0;
+  prolongation[2](54,42) = -45.0/4096.0;
+  prolongation[2](54,43) = -45.0/4096.0;
+  prolongation[2](54,44) = 75.0/4096.0;
+  prolongation[2](54,45) = -25.0/4096.0;
+  prolongation[2](54,46) = -225.0/4096.0;
+  prolongation[2](54,47) = 75.0/4096.0;
+  prolongation[2](54,48) = 675.0/4096.0;
+  prolongation[2](54,49) = 675.0/4096.0;
+  prolongation[2](54,50) = -225.0/4096.0;
+  prolongation[2](54,51) = -225.0/4096.0;
+  prolongation[2](54,52) = 75.0/4096.0;
+  prolongation[2](54,53) = -25.0/4096.0;
+  prolongation[2](54,54) = -225.0/4096.0;
+  prolongation[2](54,55) = 75.0/4096.0;
+  prolongation[2](54,56) = -675.0/4096.0;
+  prolongation[2](54,57) = -675.0/4096.0;
+  prolongation[2](54,58) = 225.0/4096.0;
+  prolongation[2](54,59) = 225.0/4096.0;
+  prolongation[2](54,60) = 2025.0/4096.0;
+  prolongation[2](54,61) = 2025.0/4096.0;
+  prolongation[2](54,62) = -675.0/4096.0;
+  prolongation[2](54,63) = -675.0/4096.0;
+  prolongation[2](55,24) = -1.0/256.0;
+  prolongation[2](55,26) = -1.0/256.0;
+  prolongation[2](55,28) = -5.0/256.0;
+  prolongation[2](55,30) = -5.0/256.0;
+  prolongation[2](55,40) = 9.0/256.0;
+  prolongation[2](55,41) = 9.0/256.0;
+  prolongation[2](55,44) = 5.0/256.0;
+  prolongation[2](55,46) = -15.0/256.0;
+  prolongation[2](55,48) = 45.0/256.0;
+  prolongation[2](55,49) = 45.0/256.0;
+  prolongation[2](55,52) = 5.0/256.0;
+  prolongation[2](55,54) = -15.0/256.0;
+  prolongation[2](55,56) = -45.0/256.0;
+  prolongation[2](55,57) = -45.0/256.0;
+  prolongation[2](55,60) = 135.0/256.0;
+  prolongation[2](55,61) = 135.0/256.0;
+  prolongation[2](56,35) = 5.0/16.0;
+  prolongation[2](56,39) = 1.0/16.0;
+  prolongation[2](56,61) = 15.0/16.0;
+  prolongation[2](56,63) = -5.0/16.0;
+  prolongation[2](57,11) = 25.0/256.0;
+  prolongation[2](57,15) = 5.0/256.0;
+  prolongation[2](57,19) = 5.0/256.0;
+  prolongation[2](57,23) = 1.0/256.0;
+  prolongation[2](57,34) = -25.0/256.0;
+  prolongation[2](57,35) = 75.0/256.0;
+  prolongation[2](57,38) = -5.0/256.0;
+  prolongation[2](57,39) = 15.0/256.0;
+  prolongation[2](57,46) = 75.0/256.0;
+  prolongation[2](57,47) = -25.0/256.0;
+  prolongation[2](57,54) = 15.0/256.0;
+  prolongation[2](57,55) = -5.0/256.0;
+  prolongation[2](57,60) = -75.0/256.0;
+  prolongation[2](57,61) = 225.0/256.0;
+  prolongation[2](57,62) = 25.0/256.0;
+  prolongation[2](57,63) = -75.0/256.0;
+  prolongation[2](58,61) = 1.0;
+  prolongation[2](59,46) = 5.0/16.0;
+  prolongation[2](59,54) = 1.0/16.0;
+  prolongation[2](59,60) = -5.0/16.0;
+  prolongation[2](59,61) = 15.0/16.0;
+  prolongation[2](60,9) = 5.0/256.0;
+  prolongation[2](60,13) = 25.0/256.0;
+  prolongation[2](60,17) = 1.0/256.0;
+  prolongation[2](60,21) = 5.0/256.0;
+  prolongation[2](60,33) = -25.0/256.0;
+  prolongation[2](60,35) = 75.0/256.0;
+  prolongation[2](60,37) = -5.0/256.0;
+  prolongation[2](60,39) = 15.0/256.0;
+  prolongation[2](60,41) = 15.0/256.0;
+  prolongation[2](60,43) = -5.0/256.0;
+  prolongation[2](60,49) = 75.0/256.0;
+  prolongation[2](60,51) = -25.0/256.0;
+  prolongation[2](60,57) = -75.0/256.0;
+  prolongation[2](60,59) = 25.0/256.0;
+  prolongation[2](60,61) = 225.0/256.0;
+  prolongation[2](60,63) = -75.0/256.0;
+  prolongation[2](61,0) = 5.0/4096.0;
+  prolongation[2](61,1) = 25.0/4096.0;
+  prolongation[2](61,2) = 125.0/4096.0;
+  prolongation[2](61,3) = 25.0/4096.0;
+  prolongation[2](61,4) = 1.0/4096.0;
+  prolongation[2](61,5) = 5.0/4096.0;
+  prolongation[2](61,6) = 25.0/4096.0;
+  prolongation[2](61,7) = 5.0/4096.0;
+  prolongation[2](61,8) = -25.0/4096.0;
+  prolongation[2](61,9) = 75.0/4096.0;
+  prolongation[2](61,10) = -125.0/4096.0;
+  prolongation[2](61,11) = 375.0/4096.0;
+  prolongation[2](61,12) = -125.0/4096.0;
+  prolongation[2](61,13) = 375.0/4096.0;
+  prolongation[2](61,14) = -25.0/4096.0;
+  prolongation[2](61,15) = 75.0/4096.0;
+  prolongation[2](61,16) = -5.0/4096.0;
+  prolongation[2](61,17) = 15.0/4096.0;
+  prolongation[2](61,18) = -25.0/4096.0;
+  prolongation[2](61,19) = 75.0/4096.0;
+  prolongation[2](61,20) = -25.0/4096.0;
+  prolongation[2](61,21) = 75.0/4096.0;
+  prolongation[2](61,22) = -5.0/4096.0;
+  prolongation[2](61,23) = 15.0/4096.0;
+  prolongation[2](61,24) = 15.0/4096.0;
+  prolongation[2](61,25) = -5.0/4096.0;
+  prolongation[2](61,26) = 75.0/4096.0;
+  prolongation[2](61,27) = -25.0/4096.0;
+  prolongation[2](61,28) = 375.0/4096.0;
+  prolongation[2](61,29) = -125.0/4096.0;
+  prolongation[2](61,30) = 75.0/4096.0;
+  prolongation[2](61,31) = -25.0/4096.0;
+  prolongation[2](61,32) = 125.0/4096.0;
+  prolongation[2](61,33) = -375.0/4096.0;
+  prolongation[2](61,34) = -375.0/4096.0;
+  prolongation[2](61,35) = 1125.0/4096.0;
+  prolongation[2](61,36) = 25.0/4096.0;
+  prolongation[2](61,37) = -75.0/4096.0;
+  prolongation[2](61,38) = -75.0/4096.0;
+  prolongation[2](61,39) = 225.0/4096.0;
+  prolongation[2](61,40) = -75.0/4096.0;
+  prolongation[2](61,41) = 225.0/4096.0;
+  prolongation[2](61,42) = 25.0/4096.0;
+  prolongation[2](61,43) = -75.0/4096.0;
+  prolongation[2](61,44) = -375.0/4096.0;
+  prolongation[2](61,45) = 125.0/4096.0;
+  prolongation[2](61,46) = 1125.0/4096.0;
+  prolongation[2](61,47) = -375.0/4096.0;
+  prolongation[2](61,48) = -375.0/4096.0;
+  prolongation[2](61,49) = 1125.0/4096.0;
+  prolongation[2](61,50) = 125.0/4096.0;
+  prolongation[2](61,51) = -375.0/4096.0;
+  prolongation[2](61,52) = -75.0/4096.0;
+  prolongation[2](61,53) = 25.0/4096.0;
+  prolongation[2](61,54) = 225.0/4096.0;
+  prolongation[2](61,55) = -75.0/4096.0;
+  prolongation[2](61,56) = 375.0/4096.0;
+  prolongation[2](61,57) = -1125.0/4096.0;
+  prolongation[2](61,58) = -125.0/4096.0;
+  prolongation[2](61,59) = 375.0/4096.0;
+  prolongation[2](61,60) = -1125.0/4096.0;
+  prolongation[2](61,61) = 3375.0/4096.0;
+  prolongation[2](61,62) = 375.0/4096.0;
+  prolongation[2](61,63) = -1125.0/4096.0;
+  prolongation[2](62,41) = 1.0/16.0;
+  prolongation[2](62,49) = 5.0/16.0;
+  prolongation[2](62,57) = -5.0/16.0;
+  prolongation[2](62,61) = 15.0/16.0;
+  prolongation[2](63,24) = 1.0/256.0;
+  prolongation[2](63,26) = 5.0/256.0;
+  prolongation[2](63,28) = 25.0/256.0;
+  prolongation[2](63,30) = 5.0/256.0;
+  prolongation[2](63,40) = -5.0/256.0;
+  prolongation[2](63,41) = 15.0/256.0;
+  prolongation[2](63,44) = -25.0/256.0;
+  prolongation[2](63,46) = 75.0/256.0;
+  prolongation[2](63,48) = -25.0/256.0;
+  prolongation[2](63,49) = 75.0/256.0;
+  prolongation[2](63,52) = -5.0/256.0;
+  prolongation[2](63,54) = 15.0/256.0;
+  prolongation[2](63,56) = 25.0/256.0;
+  prolongation[2](63,57) = -75.0/256.0;
+  prolongation[2](63,60) = -75.0/256.0;
+  prolongation[2](63,61) = 225.0/256.0;
+  prolongation[3](0,0) = -1.0/16.0;
+  prolongation[3](0,3) = -1.0/16.0;
+  prolongation[3](0,14) = 9.0/16.0;
+  prolongation[3](0,15) = 9.0/16.0;
+  prolongation[3](1,0) = 1.0/256.0;
+  prolongation[3](1,1) = 1.0/256.0;
+  prolongation[3](1,2) = 1.0/256.0;
+  prolongation[3](1,3) = 1.0/256.0;
+  prolongation[3](1,8) = -9.0/256.0;
+  prolongation[3](1,9) = -9.0/256.0;
+  prolongation[3](1,10) = -9.0/256.0;
+  prolongation[3](1,11) = -9.0/256.0;
+  prolongation[3](1,12) = -9.0/256.0;
+  prolongation[3](1,13) = -9.0/256.0;
+  prolongation[3](1,14) = -9.0/256.0;
+  prolongation[3](1,15) = -9.0/256.0;
+  prolongation[3](1,32) = 81.0/256.0;
+  prolongation[3](1,33) = 81.0/256.0;
+  prolongation[3](1,34) = 81.0/256.0;
+  prolongation[3](1,35) = 81.0/256.0;
+  prolongation[3](2,2) = -1.0/16.0;
+  prolongation[3](2,3) = -1.0/16.0;
+  prolongation[3](2,12) = 9.0/16.0;
+  prolongation[3](2,13) = 9.0/16.0;
+  prolongation[3](3,3) = 1.0;
+  prolongation[3](4,0) = 1.0/256.0;
+  prolongation[3](4,3) = 1.0/256.0;
+  prolongation[3](4,4) = 1.0/256.0;
+  prolongation[3](4,7) = 1.0/256.0;
+  prolongation[3](4,14) = -9.0/256.0;
+  prolongation[3](4,15) = -9.0/256.0;
+  prolongation[3](4,22) = -9.0/256.0;
+  prolongation[3](4,23) = -9.0/256.0;
+  prolongation[3](4,24) = -9.0/256.0;
+  prolongation[3](4,25) = -9.0/256.0;
+  prolongation[3](4,30) = -9.0/256.0;
+  prolongation[3](4,31) = -9.0/256.0;
+  prolongation[3](4,52) = 81.0/256.0;
+  prolongation[3](4,53) = 81.0/256.0;
+  prolongation[3](4,54) = 81.0/256.0;
+  prolongation[3](4,55) = 81.0/256.0;
+  prolongation[3](5,0) = -1.0/4096.0;
+  prolongation[3](5,1) = -1.0/4096.0;
+  prolongation[3](5,2) = -1.0/4096.0;
+  prolongation[3](5,3) = -1.0/4096.0;
+  prolongation[3](5,4) = -1.0/4096.0;
+  prolongation[3](5,5) = -1.0/4096.0;
+  prolongation[3](5,6) = -1.0/4096.0;
+  prolongation[3](5,7) = -1.0/4096.0;
+  prolongation[3](5,8) = 9.0/4096.0;
+  prolongation[3](5,9) = 9.0/4096.0;
+  prolongation[3](5,10) = 9.0/4096.0;
+  prolongation[3](5,11) = 9.0/4096.0;
+  prolongation[3](5,12) = 9.0/4096.0;
+  prolongation[3](5,13) = 9.0/4096.0;
+  prolongation[3](5,14) = 9.0/4096.0;
+  prolongation[3](5,15) = 9.0/4096.0;
+  prolongation[3](5,16) = 9.0/4096.0;
+  prolongation[3](5,17) = 9.0/4096.0;
+  prolongation[3](5,18) = 9.0/4096.0;
+  prolongation[3](5,19) = 9.0/4096.0;
+  prolongation[3](5,20) = 9.0/4096.0;
+  prolongation[3](5,21) = 9.0/4096.0;
+  prolongation[3](5,22) = 9.0/4096.0;
+  prolongation[3](5,23) = 9.0/4096.0;
+  prolongation[3](5,24) = 9.0/4096.0;
+  prolongation[3](5,25) = 9.0/4096.0;
+  prolongation[3](5,26) = 9.0/4096.0;
+  prolongation[3](5,27) = 9.0/4096.0;
+  prolongation[3](5,28) = 9.0/4096.0;
+  prolongation[3](5,29) = 9.0/4096.0;
+  prolongation[3](5,30) = 9.0/4096.0;
+  prolongation[3](5,31) = 9.0/4096.0;
+  prolongation[3](5,32) = -81.0/4096.0;
+  prolongation[3](5,33) = -81.0/4096.0;
+  prolongation[3](5,34) = -81.0/4096.0;
+  prolongation[3](5,35) = -81.0/4096.0;
+  prolongation[3](5,36) = -81.0/4096.0;
+  prolongation[3](5,37) = -81.0/4096.0;
+  prolongation[3](5,38) = -81.0/4096.0;
+  prolongation[3](5,39) = -81.0/4096.0;
+  prolongation[3](5,40) = -81.0/4096.0;
+  prolongation[3](5,41) = -81.0/4096.0;
+  prolongation[3](5,42) = -81.0/4096.0;
+  prolongation[3](5,43) = -81.0/4096.0;
+  prolongation[3](5,44) = -81.0/4096.0;
+  prolongation[3](5,45) = -81.0/4096.0;
+  prolongation[3](5,46) = -81.0/4096.0;
+  prolongation[3](5,47) = -81.0/4096.0;
+  prolongation[3](5,48) = -81.0/4096.0;
+  prolongation[3](5,49) = -81.0/4096.0;
+  prolongation[3](5,50) = -81.0/4096.0;
+  prolongation[3](5,51) = -81.0/4096.0;
+  prolongation[3](5,52) = -81.0/4096.0;
+  prolongation[3](5,53) = -81.0/4096.0;
+  prolongation[3](5,54) = -81.0/4096.0;
+  prolongation[3](5,55) = -81.0/4096.0;
+  prolongation[3](5,56) = 729.0/4096.0;
+  prolongation[3](5,57) = 729.0/4096.0;
+  prolongation[3](5,58) = 729.0/4096.0;
+  prolongation[3](5,59) = 729.0/4096.0;
+  prolongation[3](5,60) = 729.0/4096.0;
+  prolongation[3](5,61) = 729.0/4096.0;
+  prolongation[3](5,62) = 729.0/4096.0;
+  prolongation[3](5,63) = 729.0/4096.0;
+  prolongation[3](6,2) = 1.0/256.0;
+  prolongation[3](6,3) = 1.0/256.0;
+  prolongation[3](6,6) = 1.0/256.0;
+  prolongation[3](6,7) = 1.0/256.0;
+  prolongation[3](6,12) = -9.0/256.0;
+  prolongation[3](6,13) = -9.0/256.0;
+  prolongation[3](6,20) = -9.0/256.0;
+  prolongation[3](6,21) = -9.0/256.0;
+  prolongation[3](6,28) = -9.0/256.0;
+  prolongation[3](6,29) = -9.0/256.0;
+  prolongation[3](6,30) = -9.0/256.0;
+  prolongation[3](6,31) = -9.0/256.0;
+  prolongation[3](6,48) = 81.0/256.0;
+  prolongation[3](6,49) = 81.0/256.0;
+  prolongation[3](6,50) = 81.0/256.0;
+  prolongation[3](6,51) = 81.0/256.0;
+  prolongation[3](7,3) = -1.0/16.0;
+  prolongation[3](7,7) = -1.0/16.0;
+  prolongation[3](7,30) = 9.0/16.0;
+  prolongation[3](7,31) = 9.0/16.0;
+  prolongation[3](8,0) = -5.0/256.0;
+  prolongation[3](8,1) = -1.0/256.0;
+  prolongation[3](8,2) = -1.0/256.0;
+  prolongation[3](8,3) = -5.0/256.0;
+  prolongation[3](8,8) = -15.0/256.0;
+  prolongation[3](8,9) = 5.0/256.0;
+  prolongation[3](8,10) = 9.0/256.0;
+  prolongation[3](8,11) = 9.0/256.0;
+  prolongation[3](8,12) = -15.0/256.0;
+  prolongation[3](8,13) = 5.0/256.0;
+  prolongation[3](8,14) = 45.0/256.0;
+  prolongation[3](8,15) = 45.0/256.0;
+  prolongation[3](8,32) = 135.0/256.0;
+  prolongation[3](8,33) = -45.0/256.0;
+  prolongation[3](8,34) = 135.0/256.0;
+  prolongation[3](8,35) = -45.0/256.0;
+  prolongation[3](9,8) = -1.0/16.0;
+  prolongation[3](9,12) = -1.0/16.0;
+  prolongation[3](9,32) = 9.0/16.0;
+  prolongation[3](9,34) = 9.0/16.0;
+  prolongation[3](10,11) = -1.0/16.0;
+  prolongation[3](10,15) = -1.0/16.0;
+  prolongation[3](10,34) = 9.0/16.0;
+  prolongation[3](10,35) = 9.0/16.0;
+  prolongation[3](11,0) = -1.0/256.0;
+  prolongation[3](11,1) = -1.0/256.0;
+  prolongation[3](11,2) = -5.0/256.0;
+  prolongation[3](11,3) = -5.0/256.0;
+  prolongation[3](11,8) = 9.0/256.0;
+  prolongation[3](11,9) = 9.0/256.0;
+  prolongation[3](11,10) = 5.0/256.0;
+  prolongation[3](11,11) = -15.0/256.0;
+  prolongation[3](11,12) = 45.0/256.0;
+  prolongation[3](11,13) = 45.0/256.0;
+  prolongation[3](11,14) = 5.0/256.0;
+  prolongation[3](11,15) = -15.0/256.0;
+  prolongation[3](11,32) = -45.0/256.0;
+  prolongation[3](11,33) = -45.0/256.0;
+  prolongation[3](11,34) = 135.0/256.0;
+  prolongation[3](11,35) = 135.0/256.0;
+  prolongation[3](12,2) = 1.0/16.0;
+  prolongation[3](12,3) = 5.0/16.0;
+  prolongation[3](12,12) = 15.0/16.0;
+  prolongation[3](12,13) = -5.0/16.0;
+  prolongation[3](13,12) = 1.0;
+  prolongation[3](14,15) = 1.0;
+  prolongation[3](15,0) = 1.0/16.0;
+  prolongation[3](15,3) = 5.0/16.0;
+  prolongation[3](15,14) = -5.0/16.0;
+  prolongation[3](15,15) = 15.0/16.0;
+  prolongation[3](16,0) = 5.0/4096.0;
+  prolongation[3](16,1) = 1.0/4096.0;
+  prolongation[3](16,2) = 1.0/4096.0;
+  prolongation[3](16,3) = 5.0/4096.0;
+  prolongation[3](16,4) = 5.0/4096.0;
+  prolongation[3](16,5) = 1.0/4096.0;
+  prolongation[3](16,6) = 1.0/4096.0;
+  prolongation[3](16,7) = 5.0/4096.0;
+  prolongation[3](16,8) = 15.0/4096.0;
+  prolongation[3](16,9) = -5.0/4096.0;
+  prolongation[3](16,10) = -9.0/4096.0;
+  prolongation[3](16,11) = -9.0/4096.0;
+  prolongation[3](16,12) = 15.0/4096.0;
+  prolongation[3](16,13) = -5.0/4096.0;
+  prolongation[3](16,14) = -45.0/4096.0;
+  prolongation[3](16,15) = -45.0/4096.0;
+  prolongation[3](16,16) = 15.0/4096.0;
+  prolongation[3](16,17) = -5.0/4096.0;
+  prolongation[3](16,18) = -9.0/4096.0;
+  prolongation[3](16,19) = -9.0/4096.0;
+  prolongation[3](16,20) = 15.0/4096.0;
+  prolongation[3](16,21) = -5.0/4096.0;
+  prolongation[3](16,22) = -45.0/4096.0;
+  prolongation[3](16,23) = -45.0/4096.0;
+  prolongation[3](16,24) = -45.0/4096.0;
+  prolongation[3](16,25) = -45.0/4096.0;
+  prolongation[3](16,26) = -9.0/4096.0;
+  prolongation[3](16,27) = -9.0/4096.0;
+  prolongation[3](16,28) = -9.0/4096.0;
+  prolongation[3](16,29) = -9.0/4096.0;
+  prolongation[3](16,30) = -45.0/4096.0;
+  prolongation[3](16,31) = -45.0/4096.0;
+  prolongation[3](16,32) = -135.0/4096.0;
+  prolongation[3](16,33) = 45.0/4096.0;
+  prolongation[3](16,34) = -135.0/4096.0;
+  prolongation[3](16,35) = 45.0/4096.0;
+  prolongation[3](16,36) = -135.0/4096.0;
+  prolongation[3](16,37) = 45.0/4096.0;
+  prolongation[3](16,38) = -135.0/4096.0;
+  prolongation[3](16,39) = 45.0/4096.0;
+  prolongation[3](16,40) = -135.0/4096.0;
+  prolongation[3](16,41) = 45.0/4096.0;
+  prolongation[3](16,42) = -135.0/4096.0;
+  prolongation[3](16,43) = 45.0/4096.0;
+  prolongation[3](16,44) = 81.0/4096.0;
+  prolongation[3](16,45) = 81.0/4096.0;
+  prolongation[3](16,46) = 81.0/4096.0;
+  prolongation[3](16,47) = 81.0/4096.0;
+  prolongation[3](16,48) = -135.0/4096.0;
+  prolongation[3](16,49) = 45.0/4096.0;
+  prolongation[3](16,50) = -135.0/4096.0;
+  prolongation[3](16,51) = 45.0/4096.0;
+  prolongation[3](16,52) = 405.0/4096.0;
+  prolongation[3](16,53) = 405.0/4096.0;
+  prolongation[3](16,54) = 405.0/4096.0;
+  prolongation[3](16,55) = 405.0/4096.0;
+  prolongation[3](16,56) = 1215.0/4096.0;
+  prolongation[3](16,57) = -405.0/4096.0;
+  prolongation[3](16,58) = 1215.0/4096.0;
+  prolongation[3](16,59) = -405.0/4096.0;
+  prolongation[3](16,60) = 1215.0/4096.0;
+  prolongation[3](16,61) = -405.0/4096.0;
+  prolongation[3](16,62) = 1215.0/4096.0;
+  prolongation[3](16,63) = -405.0/4096.0;
+  prolongation[3](17,8) = 1.0/256.0;
+  prolongation[3](17,12) = 1.0/256.0;
+  prolongation[3](17,16) = 1.0/256.0;
+  prolongation[3](17,20) = 1.0/256.0;
+  prolongation[3](17,32) = -9.0/256.0;
+  prolongation[3](17,34) = -9.0/256.0;
+  prolongation[3](17,36) = -9.0/256.0;
+  prolongation[3](17,38) = -9.0/256.0;
+  prolongation[3](17,40) = -9.0/256.0;
+  prolongation[3](17,42) = -9.0/256.0;
+  prolongation[3](17,48) = -9.0/256.0;
+  prolongation[3](17,50) = -9.0/256.0;
+  prolongation[3](17,56) = 81.0/256.0;
+  prolongation[3](17,58) = 81.0/256.0;
+  prolongation[3](17,60) = 81.0/256.0;
+  prolongation[3](17,62) = 81.0/256.0;
+  prolongation[3](18,11) = 1.0/256.0;
+  prolongation[3](18,15) = 1.0/256.0;
+  prolongation[3](18,19) = 1.0/256.0;
+  prolongation[3](18,23) = 1.0/256.0;
+  prolongation[3](18,34) = -9.0/256.0;
+  prolongation[3](18,35) = -9.0/256.0;
+  prolongation[3](18,38) = -9.0/256.0;
+  prolongation[3](18,39) = -9.0/256.0;
+  prolongation[3](18,46) = -9.0/256.0;
+  prolongation[3](18,47) = -9.0/256.0;
+  prolongation[3](18,54) = -9.0/256.0;
+  prolongation[3](18,55) = -9.0/256.0;
+  prolongation[3](18,60) = 81.0/256.0;
+  prolongation[3](18,61) = 81.0/256.0;
+  prolongation[3](18,62) = 81.0/256.0;
+  prolongation[3](18,63) = 81.0/256.0;
+  prolongation[3](19,0) = 1.0/4096.0;
+  prolongation[3](19,1) = 1.0/4096.0;
+  prolongation[3](19,2) = 5.0/4096.0;
+  prolongation[3](19,3) = 5.0/4096.0;
+  prolongation[3](19,4) = 1.0/4096.0;
+  prolongation[3](19,5) = 1.0/4096.0;
+  prolongation[3](19,6) = 5.0/4096.0;
+  prolongation[3](19,7) = 5.0/4096.0;
+  prolongation[3](19,8) = -9.0/4096.0;
+  prolongation[3](19,9) = -9.0/4096.0;
+  prolongation[3](19,10) = -5.0/4096.0;
+  prolongation[3](19,11) = 15.0/4096.0;
+  prolongation[3](19,12) = -45.0/4096.0;
+  prolongation[3](19,13) = -45.0/4096.0;
+  prolongation[3](19,14) = -5.0/4096.0;
+  prolongation[3](19,15) = 15.0/4096.0;
+  prolongation[3](19,16) = -9.0/4096.0;
+  prolongation[3](19,17) = -9.0/4096.0;
+  prolongation[3](19,18) = -5.0/4096.0;
+  prolongation[3](19,19) = 15.0/4096.0;
+  prolongation[3](19,20) = -45.0/4096.0;
+  prolongation[3](19,21) = -45.0/4096.0;
+  prolongation[3](19,22) = -5.0/4096.0;
+  prolongation[3](19,23) = 15.0/4096.0;
+  prolongation[3](19,24) = -9.0/4096.0;
+  prolongation[3](19,25) = -9.0/4096.0;
+  prolongation[3](19,26) = -9.0/4096.0;
+  prolongation[3](19,27) = -9.0/4096.0;
+  prolongation[3](19,28) = -45.0/4096.0;
+  prolongation[3](19,29) = -45.0/4096.0;
+  prolongation[3](19,30) = -45.0/4096.0;
+  prolongation[3](19,31) = -45.0/4096.0;
+  prolongation[3](19,32) = 45.0/4096.0;
+  prolongation[3](19,33) = 45.0/4096.0;
+  prolongation[3](19,34) = -135.0/4096.0;
+  prolongation[3](19,35) = -135.0/4096.0;
+  prolongation[3](19,36) = 45.0/4096.0;
+  prolongation[3](19,37) = 45.0/4096.0;
+  prolongation[3](19,38) = -135.0/4096.0;
+  prolongation[3](19,39) = -135.0/4096.0;
+  prolongation[3](19,40) = 81.0/4096.0;
+  prolongation[3](19,41) = 81.0/4096.0;
+  prolongation[3](19,42) = 81.0/4096.0;
+  prolongation[3](19,43) = 81.0/4096.0;
+  prolongation[3](19,44) = 45.0/4096.0;
+  prolongation[3](19,45) = 45.0/4096.0;
+  prolongation[3](19,46) = -135.0/4096.0;
+  prolongation[3](19,47) = -135.0/4096.0;
+  prolongation[3](19,48) = 405.0/4096.0;
+  prolongation[3](19,49) = 405.0/4096.0;
+  prolongation[3](19,50) = 405.0/4096.0;
+  prolongation[3](19,51) = 405.0/4096.0;
+  prolongation[3](19,52) = 45.0/4096.0;
+  prolongation[3](19,53) = 45.0/4096.0;
+  prolongation[3](19,54) = -135.0/4096.0;
+  prolongation[3](19,55) = -135.0/4096.0;
+  prolongation[3](19,56) = -405.0/4096.0;
+  prolongation[3](19,57) = -405.0/4096.0;
+  prolongation[3](19,58) = -405.0/4096.0;
+  prolongation[3](19,59) = -405.0/4096.0;
+  prolongation[3](19,60) = 1215.0/4096.0;
+  prolongation[3](19,61) = 1215.0/4096.0;
+  prolongation[3](19,62) = 1215.0/4096.0;
+  prolongation[3](19,63) = 1215.0/4096.0;
+  prolongation[3](20,2) = -1.0/256.0;
+  prolongation[3](20,3) = -5.0/256.0;
+  prolongation[3](20,6) = -1.0/256.0;
+  prolongation[3](20,7) = -5.0/256.0;
+  prolongation[3](20,12) = -15.0/256.0;
+  prolongation[3](20,13) = 5.0/256.0;
+  prolongation[3](20,20) = -15.0/256.0;
+  prolongation[3](20,21) = 5.0/256.0;
+  prolongation[3](20,28) = 9.0/256.0;
+  prolongation[3](20,29) = 9.0/256.0;
+  prolongation[3](20,30) = 45.0/256.0;
+  prolongation[3](20,31) = 45.0/256.0;
+  prolongation[3](20,48) = 135.0/256.0;
+  prolongation[3](20,49) = -45.0/256.0;
+  prolongation[3](20,50) = 135.0/256.0;
+  prolongation[3](20,51) = -45.0/256.0;
+  prolongation[3](21,12) = -1.0/16.0;
+  prolongation[3](21,20) = -1.0/16.0;
+  prolongation[3](21,48) = 9.0/16.0;
+  prolongation[3](21,50) = 9.0/16.0;
+  prolongation[3](22,15) = -1.0/16.0;
+  prolongation[3](22,23) = -1.0/16.0;
+  prolongation[3](22,54) = 9.0/16.0;
+  prolongation[3](22,55) = 9.0/16.0;
+  prolongation[3](23,0) = -1.0/256.0;
+  prolongation[3](23,3) = -5.0/256.0;
+  prolongation[3](23,4) = -1.0/256.0;
+  prolongation[3](23,7) = -5.0/256.0;
+  prolongation[3](23,14) = 5.0/256.0;
+  prolongation[3](23,15) = -15.0/256.0;
+  prolongation[3](23,22) = 5.0/256.0;
+  prolongation[3](23,23) = -15.0/256.0;
+  prolongation[3](23,24) = 9.0/256.0;
+  prolongation[3](23,25) = 9.0/256.0;
+  prolongation[3](23,30) = 45.0/256.0;
+  prolongation[3](23,31) = 45.0/256.0;
+  prolongation[3](23,52) = -45.0/256.0;
+  prolongation[3](23,53) = -45.0/256.0;
+  prolongation[3](23,54) = 135.0/256.0;
+  prolongation[3](23,55) = 135.0/256.0;
+  prolongation[3](24,0) = -5.0/256.0;
+  prolongation[3](24,3) = -5.0/256.0;
+  prolongation[3](24,4) = -1.0/256.0;
+  prolongation[3](24,7) = -1.0/256.0;
+  prolongation[3](24,14) = 45.0/256.0;
+  prolongation[3](24,15) = 45.0/256.0;
+  prolongation[3](24,22) = 9.0/256.0;
+  prolongation[3](24,23) = 9.0/256.0;
+  prolongation[3](24,24) = -15.0/256.0;
+  prolongation[3](24,25) = 5.0/256.0;
+  prolongation[3](24,30) = -15.0/256.0;
+  prolongation[3](24,31) = 5.0/256.0;
+  prolongation[3](24,52) = 135.0/256.0;
+  prolongation[3](24,53) = -45.0/256.0;
+  prolongation[3](24,54) = 135.0/256.0;
+  prolongation[3](24,55) = -45.0/256.0;
+  prolongation[3](25,24) = -1.0/16.0;
+  prolongation[3](25,30) = -1.0/16.0;
+  prolongation[3](25,52) = 9.0/16.0;
+  prolongation[3](25,54) = 9.0/16.0;
+  prolongation[3](26,0) = 5.0/4096.0;
+  prolongation[3](26,1) = 5.0/4096.0;
+  prolongation[3](26,2) = 5.0/4096.0;
+  prolongation[3](26,3) = 5.0/4096.0;
+  prolongation[3](26,4) = 1.0/4096.0;
+  prolongation[3](26,5) = 1.0/4096.0;
+  prolongation[3](26,6) = 1.0/4096.0;
+  prolongation[3](26,7) = 1.0/4096.0;
+  prolongation[3](26,8) = -45.0/4096.0;
+  prolongation[3](26,9) = -45.0/4096.0;
+  prolongation[3](26,10) = -45.0/4096.0;
+  prolongation[3](26,11) = -45.0/4096.0;
+  prolongation[3](26,12) = -45.0/4096.0;
+  prolongation[3](26,13) = -45.0/4096.0;
+  prolongation[3](26,14) = -45.0/4096.0;
+  prolongation[3](26,15) = -45.0/4096.0;
+  prolongation[3](26,16) = -9.0/4096.0;
+  prolongation[3](26,17) = -9.0/4096.0;
+  prolongation[3](26,18) = -9.0/4096.0;
+  prolongation[3](26,19) = -9.0/4096.0;
+  prolongation[3](26,20) = -9.0/4096.0;
+  prolongation[3](26,21) = -9.0/4096.0;
+  prolongation[3](26,22) = -9.0/4096.0;
+  prolongation[3](26,23) = -9.0/4096.0;
+  prolongation[3](26,24) = 15.0/4096.0;
+  prolongation[3](26,25) = -5.0/4096.0;
+  prolongation[3](26,26) = 15.0/4096.0;
+  prolongation[3](26,27) = -5.0/4096.0;
+  prolongation[3](26,28) = 15.0/4096.0;
+  prolongation[3](26,29) = -5.0/4096.0;
+  prolongation[3](26,30) = 15.0/4096.0;
+  prolongation[3](26,31) = -5.0/4096.0;
+  prolongation[3](26,32) = 405.0/4096.0;
+  prolongation[3](26,33) = 405.0/4096.0;
+  prolongation[3](26,34) = 405.0/4096.0;
+  prolongation[3](26,35) = 405.0/4096.0;
+  prolongation[3](26,36) = 81.0/4096.0;
+  prolongation[3](26,37) = 81.0/4096.0;
+  prolongation[3](26,38) = 81.0/4096.0;
+  prolongation[3](26,39) = 81.0/4096.0;
+  prolongation[3](26,40) = -135.0/4096.0;
+  prolongation[3](26,41) = -135.0/4096.0;
+  prolongation[3](26,42) = 45.0/4096.0;
+  prolongation[3](26,43) = 45.0/4096.0;
+  prolongation[3](26,44) = -135.0/4096.0;
+  prolongation[3](26,45) = 45.0/4096.0;
+  prolongation[3](26,46) = -135.0/4096.0;
+  prolongation[3](26,47) = 45.0/4096.0;
+  prolongation[3](26,48) = -135.0/4096.0;
+  prolongation[3](26,49) = -135.0/4096.0;
+  prolongation[3](26,50) = 45.0/4096.0;
+  prolongation[3](26,51) = 45.0/4096.0;
+  prolongation[3](26,52) = -135.0/4096.0;
+  prolongation[3](26,53) = 45.0/4096.0;
+  prolongation[3](26,54) = -135.0/4096.0;
+  prolongation[3](26,55) = 45.0/4096.0;
+  prolongation[3](26,56) = 1215.0/4096.0;
+  prolongation[3](26,57) = 1215.0/4096.0;
+  prolongation[3](26,58) = -405.0/4096.0;
+  prolongation[3](26,59) = -405.0/4096.0;
+  prolongation[3](26,60) = 1215.0/4096.0;
+  prolongation[3](26,61) = 1215.0/4096.0;
+  prolongation[3](26,62) = -405.0/4096.0;
+  prolongation[3](26,63) = -405.0/4096.0;
+  prolongation[3](27,24) = 1.0/256.0;
+  prolongation[3](27,26) = 1.0/256.0;
+  prolongation[3](27,28) = 1.0/256.0;
+  prolongation[3](27,30) = 1.0/256.0;
+  prolongation[3](27,40) = -9.0/256.0;
+  prolongation[3](27,41) = -9.0/256.0;
+  prolongation[3](27,44) = -9.0/256.0;
+  prolongation[3](27,46) = -9.0/256.0;
+  prolongation[3](27,48) = -9.0/256.0;
+  prolongation[3](27,49) = -9.0/256.0;
+  prolongation[3](27,52) = -9.0/256.0;
+  prolongation[3](27,54) = -9.0/256.0;
+  prolongation[3](27,56) = 81.0/256.0;
+  prolongation[3](27,57) = 81.0/256.0;
+  prolongation[3](27,60) = 81.0/256.0;
+  prolongation[3](27,61) = 81.0/256.0;
+  prolongation[3](28,2) = -5.0/256.0;
+  prolongation[3](28,3) = -5.0/256.0;
+  prolongation[3](28,6) = -1.0/256.0;
+  prolongation[3](28,7) = -1.0/256.0;
+  prolongation[3](28,12) = 45.0/256.0;
+  prolongation[3](28,13) = 45.0/256.0;
+  prolongation[3](28,20) = 9.0/256.0;
+  prolongation[3](28,21) = 9.0/256.0;
+  prolongation[3](28,28) = -15.0/256.0;
+  prolongation[3](28,29) = 5.0/256.0;
+  prolongation[3](28,30) = -15.0/256.0;
+  prolongation[3](28,31) = 5.0/256.0;
+  prolongation[3](28,48) = 135.0/256.0;
+  prolongation[3](28,49) = 135.0/256.0;
+  prolongation[3](28,50) = -45.0/256.0;
+  prolongation[3](28,51) = -45.0/256.0;
+  prolongation[3](29,28) = -1.0/16.0;
+  prolongation[3](29,30) = -1.0/16.0;
+  prolongation[3](29,48) = 9.0/16.0;
+  prolongation[3](29,49) = 9.0/16.0;
+  prolongation[3](30,3) = 5.0/16.0;
+  prolongation[3](30,7) = 1.0/16.0;
+  prolongation[3](30,30) = 15.0/16.0;
+  prolongation[3](30,31) = -5.0/16.0;
+  prolongation[3](31,30) = 1.0;
+  prolongation[3](32,11) = 1.0/16.0;
+  prolongation[3](32,15) = 5.0/16.0;
+  prolongation[3](32,34) = 15.0/16.0;
+  prolongation[3](32,35) = -5.0/16.0;
+  prolongation[3](33,34) = 1.0;
+  prolongation[3](34,0) = 5.0/256.0;
+  prolongation[3](34,1) = 1.0/256.0;
+  prolongation[3](34,2) = 5.0/256.0;
+  prolongation[3](34,3) = 25.0/256.0;
+  prolongation[3](34,8) = 15.0/256.0;
+  prolongation[3](34,9) = -5.0/256.0;
+  prolongation[3](34,10) = -5.0/256.0;
+  prolongation[3](34,11) = 15.0/256.0;
+  prolongation[3](34,12) = 75.0/256.0;
+  prolongation[3](34,13) = -25.0/256.0;
+  prolongation[3](34,14) = -25.0/256.0;
+  prolongation[3](34,15) = 75.0/256.0;
+  prolongation[3](34,32) = -75.0/256.0;
+  prolongation[3](34,33) = 25.0/256.0;
+  prolongation[3](34,34) = 225.0/256.0;
+  prolongation[3](34,35) = -75.0/256.0;
+  prolongation[3](35,8) = 1.0/16.0;
+  prolongation[3](35,12) = 5.0/16.0;
+  prolongation[3](35,32) = -5.0/16.0;
+  prolongation[3](35,34) = 15.0/16.0;
+  prolongation[3](36,11) = -1.0/256.0;
+  prolongation[3](36,15) = -5.0/256.0;
+  prolongation[3](36,19) = -1.0/256.0;
+  prolongation[3](36,23) = -5.0/256.0;
+  prolongation[3](36,34) = -15.0/256.0;
+  prolongation[3](36,35) = 5.0/256.0;
+  prolongation[3](36,38) = -15.0/256.0;
+  prolongation[3](36,39) = 5.0/256.0;
+  prolongation[3](36,46) = 9.0/256.0;
+  prolongation[3](36,47) = 9.0/256.0;
+  prolongation[3](36,54) = 45.0/256.0;
+  prolongation[3](36,55) = 45.0/256.0;
+  prolongation[3](36,60) = 135.0/256.0;
+  prolongation[3](36,61) = -45.0/256.0;
+  prolongation[3](36,62) = 135.0/256.0;
+  prolongation[3](36,63) = -45.0/256.0;
+  prolongation[3](37,34) = -1.0/16.0;
+  prolongation[3](37,38) = -1.0/16.0;
+  prolongation[3](37,60) = 9.0/16.0;
+  prolongation[3](37,62) = 9.0/16.0;
+  prolongation[3](38,0) = -5.0/4096.0;
+  prolongation[3](38,1) = -1.0/4096.0;
+  prolongation[3](38,2) = -5.0/4096.0;
+  prolongation[3](38,3) = -25.0/4096.0;
+  prolongation[3](38,4) = -5.0/4096.0;
+  prolongation[3](38,5) = -1.0/4096.0;
+  prolongation[3](38,6) = -5.0/4096.0;
+  prolongation[3](38,7) = -25.0/4096.0;
+  prolongation[3](38,8) = -15.0/4096.0;
+  prolongation[3](38,9) = 5.0/4096.0;
+  prolongation[3](38,10) = 5.0/4096.0;
+  prolongation[3](38,11) = -15.0/4096.0;
+  prolongation[3](38,12) = -75.0/4096.0;
+  prolongation[3](38,13) = 25.0/4096.0;
+  prolongation[3](38,14) = 25.0/4096.0;
+  prolongation[3](38,15) = -75.0/4096.0;
+  prolongation[3](38,16) = -15.0/4096.0;
+  prolongation[3](38,17) = 5.0/4096.0;
+  prolongation[3](38,18) = 5.0/4096.0;
+  prolongation[3](38,19) = -15.0/4096.0;
+  prolongation[3](38,20) = -75.0/4096.0;
+  prolongation[3](38,21) = 25.0/4096.0;
+  prolongation[3](38,22) = 25.0/4096.0;
+  prolongation[3](38,23) = -75.0/4096.0;
+  prolongation[3](38,24) = 45.0/4096.0;
+  prolongation[3](38,25) = 45.0/4096.0;
+  prolongation[3](38,26) = 9.0/4096.0;
+  prolongation[3](38,27) = 9.0/4096.0;
+  prolongation[3](38,28) = 45.0/4096.0;
+  prolongation[3](38,29) = 45.0/4096.0;
+  prolongation[3](38,30) = 225.0/4096.0;
+  prolongation[3](38,31) = 225.0/4096.0;
+  prolongation[3](38,32) = 75.0/4096.0;
+  prolongation[3](38,33) = -25.0/4096.0;
+  prolongation[3](38,34) = -225.0/4096.0;
+  prolongation[3](38,35) = 75.0/4096.0;
+  prolongation[3](38,36) = 75.0/4096.0;
+  prolongation[3](38,37) = -25.0/4096.0;
+  prolongation[3](38,38) = -225.0/4096.0;
+  prolongation[3](38,39) = 75.0/4096.0;
+  prolongation[3](38,40) = 135.0/4096.0;
+  prolongation[3](38,41) = -45.0/4096.0;
+  prolongation[3](38,42) = 135.0/4096.0;
+  prolongation[3](38,43) = -45.0/4096.0;
+  prolongation[3](38,44) = -45.0/4096.0;
+  prolongation[3](38,45) = -45.0/4096.0;
+  prolongation[3](38,46) = 135.0/4096.0;
+  prolongation[3](38,47) = 135.0/4096.0;
+  prolongation[3](38,48) = 675.0/4096.0;
+  prolongation[3](38,49) = -225.0/4096.0;
+  prolongation[3](38,50) = 675.0/4096.0;
+  prolongation[3](38,51) = -225.0/4096.0;
+  prolongation[3](38,52) = -225.0/4096.0;
+  prolongation[3](38,53) = -225.0/4096.0;
+  prolongation[3](38,54) = 675.0/4096.0;
+  prolongation[3](38,55) = 675.0/4096.0;
+  prolongation[3](38,56) = -675.0/4096.0;
+  prolongation[3](38,57) = 225.0/4096.0;
+  prolongation[3](38,58) = -675.0/4096.0;
+  prolongation[3](38,59) = 225.0/4096.0;
+  prolongation[3](38,60) = 2025.0/4096.0;
+  prolongation[3](38,61) = -675.0/4096.0;
+  prolongation[3](38,62) = 2025.0/4096.0;
+  prolongation[3](38,63) = -675.0/4096.0;
+  prolongation[3](39,8) = -1.0/256.0;
+  prolongation[3](39,12) = -5.0/256.0;
+  prolongation[3](39,16) = -1.0/256.0;
+  prolongation[3](39,20) = -5.0/256.0;
+  prolongation[3](39,32) = 5.0/256.0;
+  prolongation[3](39,34) = -15.0/256.0;
+  prolongation[3](39,36) = 5.0/256.0;
+  prolongation[3](39,38) = -15.0/256.0;
+  prolongation[3](39,40) = 9.0/256.0;
+  prolongation[3](39,42) = 9.0/256.0;
+  prolongation[3](39,48) = 45.0/256.0;
+  prolongation[3](39,50) = 45.0/256.0;
+  prolongation[3](39,56) = -45.0/256.0;
+  prolongation[3](39,58) = -45.0/256.0;
+  prolongation[3](39,60) = 135.0/256.0;
+  prolongation[3](39,62) = 135.0/256.0;
+  prolongation[3](40,0) = -25.0/4096.0;
+  prolongation[3](40,1) = -5.0/4096.0;
+  prolongation[3](40,2) = -5.0/4096.0;
+  prolongation[3](40,3) = -25.0/4096.0;
+  prolongation[3](40,4) = -5.0/4096.0;
+  prolongation[3](40,5) = -1.0/4096.0;
+  prolongation[3](40,6) = -1.0/4096.0;
+  prolongation[3](40,7) = -5.0/4096.0;
+  prolongation[3](40,8) = -75.0/4096.0;
+  prolongation[3](40,9) = 25.0/4096.0;
+  prolongation[3](40,10) = 45.0/4096.0;
+  prolongation[3](40,11) = 45.0/4096.0;
+  prolongation[3](40,12) = -75.0/4096.0;
+  prolongation[3](40,13) = 25.0/4096.0;
+  prolongation[3](40,14) = 225.0/4096.0;
+  prolongation[3](40,15) = 225.0/4096.0;
+  prolongation[3](40,16) = -15.0/4096.0;
+  prolongation[3](40,17) = 5.0/4096.0;
+  prolongation[3](40,18) = 9.0/4096.0;
+  prolongation[3](40,19) = 9.0/4096.0;
+  prolongation[3](40,20) = -15.0/4096.0;
+  prolongation[3](40,21) = 5.0/4096.0;
+  prolongation[3](40,22) = 45.0/4096.0;
+  prolongation[3](40,23) = 45.0/4096.0;
+  prolongation[3](40,24) = -75.0/4096.0;
+  prolongation[3](40,25) = 25.0/4096.0;
+  prolongation[3](40,26) = -15.0/4096.0;
+  prolongation[3](40,27) = 5.0/4096.0;
+  prolongation[3](40,28) = -15.0/4096.0;
+  prolongation[3](40,29) = 5.0/4096.0;
+  prolongation[3](40,30) = -75.0/4096.0;
+  prolongation[3](40,31) = 25.0/4096.0;
+  prolongation[3](40,32) = 675.0/4096.0;
+  prolongation[3](40,33) = -225.0/4096.0;
+  prolongation[3](40,34) = 675.0/4096.0;
+  prolongation[3](40,35) = -225.0/4096.0;
+  prolongation[3](40,36) = 135.0/4096.0;
+  prolongation[3](40,37) = -45.0/4096.0;
+  prolongation[3](40,38) = 135.0/4096.0;
+  prolongation[3](40,39) = -45.0/4096.0;
+  prolongation[3](40,40) = -225.0/4096.0;
+  prolongation[3](40,41) = 75.0/4096.0;
+  prolongation[3](40,42) = 75.0/4096.0;
+  prolongation[3](40,43) = -25.0/4096.0;
+  prolongation[3](40,44) = 135.0/4096.0;
+  prolongation[3](40,45) = -45.0/4096.0;
+  prolongation[3](40,46) = 135.0/4096.0;
+  prolongation[3](40,47) = -45.0/4096.0;
+  prolongation[3](40,48) = -225.0/4096.0;
+  prolongation[3](40,49) = 75.0/4096.0;
+  prolongation[3](40,50) = 75.0/4096.0;
+  prolongation[3](40,51) = -25.0/4096.0;
+  prolongation[3](40,52) = 675.0/4096.0;
+  prolongation[3](40,53) = -225.0/4096.0;
+  prolongation[3](40,54) = 675.0/4096.0;
+  prolongation[3](40,55) = -225.0/4096.0;
+  prolongation[3](40,56) = 2025.0/4096.0;
+  prolongation[3](40,57) = -675.0/4096.0;
+  prolongation[3](40,58) = -675.0/4096.0;
+  prolongation[3](40,59) = 225.0/4096.0;
+  prolongation[3](40,60) = 2025.0/4096.0;
+  prolongation[3](40,61) = -675.0/4096.0;
+  prolongation[3](40,62) = -675.0/4096.0;
+  prolongation[3](40,63) = 225.0/4096.0;
+  prolongation[3](41,8) = -5.0/256.0;
+  prolongation[3](41,12) = -5.0/256.0;
+  prolongation[3](41,16) = -1.0/256.0;
+  prolongation[3](41,20) = -1.0/256.0;
+  prolongation[3](41,32) = 45.0/256.0;
+  prolongation[3](41,34) = 45.0/256.0;
+  prolongation[3](41,36) = 9.0/256.0;
+  prolongation[3](41,38) = 9.0/256.0;
+  prolongation[3](41,40) = -15.0/256.0;
+  prolongation[3](41,42) = 5.0/256.0;
+  prolongation[3](41,48) = -15.0/256.0;
+  prolongation[3](41,50) = 5.0/256.0;
+  prolongation[3](41,56) = 135.0/256.0;
+  prolongation[3](41,58) = -45.0/256.0;
+  prolongation[3](41,60) = 135.0/256.0;
+  prolongation[3](41,62) = -45.0/256.0;
+  prolongation[3](42,24) = -5.0/256.0;
+  prolongation[3](42,26) = -1.0/256.0;
+  prolongation[3](42,28) = -1.0/256.0;
+  prolongation[3](42,30) = -5.0/256.0;
+  prolongation[3](42,40) = -15.0/256.0;
+  prolongation[3](42,41) = 5.0/256.0;
+  prolongation[3](42,44) = 9.0/256.0;
+  prolongation[3](42,46) = 9.0/256.0;
+  prolongation[3](42,48) = -15.0/256.0;
+  prolongation[3](42,49) = 5.0/256.0;
+  prolongation[3](42,52) = 45.0/256.0;
+  prolongation[3](42,54) = 45.0/256.0;
+  prolongation[3](42,56) = 135.0/256.0;
+  prolongation[3](42,57) = -45.0/256.0;
+  prolongation[3](42,60) = 135.0/256.0;
+  prolongation[3](42,61) = -45.0/256.0;
+  prolongation[3](43,40) = -1.0/16.0;
+  prolongation[3](43,48) = -1.0/16.0;
+  prolongation[3](43,56) = 9.0/16.0;
+  prolongation[3](43,60) = 9.0/16.0;
+  prolongation[3](44,11) = -5.0/256.0;
+  prolongation[3](44,15) = -5.0/256.0;
+  prolongation[3](44,19) = -1.0/256.0;
+  prolongation[3](44,23) = -1.0/256.0;
+  prolongation[3](44,34) = 45.0/256.0;
+  prolongation[3](44,35) = 45.0/256.0;
+  prolongation[3](44,38) = 9.0/256.0;
+  prolongation[3](44,39) = 9.0/256.0;
+  prolongation[3](44,46) = -15.0/256.0;
+  prolongation[3](44,47) = 5.0/256.0;
+  prolongation[3](44,54) = -15.0/256.0;
+  prolongation[3](44,55) = 5.0/256.0;
+  prolongation[3](44,60) = 135.0/256.0;
+  prolongation[3](44,61) = 135.0/256.0;
+  prolongation[3](44,62) = -45.0/256.0;
+  prolongation[3](44,63) = -45.0/256.0;
+  prolongation[3](45,46) = -1.0/16.0;
+  prolongation[3](45,54) = -1.0/16.0;
+  prolongation[3](45,60) = 9.0/16.0;
+  prolongation[3](45,61) = 9.0/16.0;
+  prolongation[3](46,0) = -5.0/4096.0;
+  prolongation[3](46,1) = -5.0/4096.0;
+  prolongation[3](46,2) = -25.0/4096.0;
+  prolongation[3](46,3) = -25.0/4096.0;
+  prolongation[3](46,4) = -1.0/4096.0;
+  prolongation[3](46,5) = -1.0/4096.0;
+  prolongation[3](46,6) = -5.0/4096.0;
+  prolongation[3](46,7) = -5.0/4096.0;
+  prolongation[3](46,8) = 45.0/4096.0;
+  prolongation[3](46,9) = 45.0/4096.0;
+  prolongation[3](46,10) = 25.0/4096.0;
+  prolongation[3](46,11) = -75.0/4096.0;
+  prolongation[3](46,12) = 225.0/4096.0;
+  prolongation[3](46,13) = 225.0/4096.0;
+  prolongation[3](46,14) = 25.0/4096.0;
+  prolongation[3](46,15) = -75.0/4096.0;
+  prolongation[3](46,16) = 9.0/4096.0;
+  prolongation[3](46,17) = 9.0/4096.0;
+  prolongation[3](46,18) = 5.0/4096.0;
+  prolongation[3](46,19) = -15.0/4096.0;
+  prolongation[3](46,20) = 45.0/4096.0;
+  prolongation[3](46,21) = 45.0/4096.0;
+  prolongation[3](46,22) = 5.0/4096.0;
+  prolongation[3](46,23) = -15.0/4096.0;
+  prolongation[3](46,24) = -15.0/4096.0;
+  prolongation[3](46,25) = 5.0/4096.0;
+  prolongation[3](46,26) = -15.0/4096.0;
+  prolongation[3](46,27) = 5.0/4096.0;
+  prolongation[3](46,28) = -75.0/4096.0;
+  prolongation[3](46,29) = 25.0/4096.0;
+  prolongation[3](46,30) = -75.0/4096.0;
+  prolongation[3](46,31) = 25.0/4096.0;
+  prolongation[3](46,32) = -225.0/4096.0;
+  prolongation[3](46,33) = -225.0/4096.0;
+  prolongation[3](46,34) = 675.0/4096.0;
+  prolongation[3](46,35) = 675.0/4096.0;
+  prolongation[3](46,36) = -45.0/4096.0;
+  prolongation[3](46,37) = -45.0/4096.0;
+  prolongation[3](46,38) = 135.0/4096.0;
+  prolongation[3](46,39) = 135.0/4096.0;
+  prolongation[3](46,40) = 135.0/4096.0;
+  prolongation[3](46,41) = 135.0/4096.0;
+  prolongation[3](46,42) = -45.0/4096.0;
+  prolongation[3](46,43) = -45.0/4096.0;
+  prolongation[3](46,44) = 75.0/4096.0;
+  prolongation[3](46,45) = -25.0/4096.0;
+  prolongation[3](46,46) = -225.0/4096.0;
+  prolongation[3](46,47) = 75.0/4096.0;
+  prolongation[3](46,48) = 675.0/4096.0;
+  prolongation[3](46,49) = 675.0/4096.0;
+  prolongation[3](46,50) = -225.0/4096.0;
+  prolongation[3](46,51) = -225.0/4096.0;
+  prolongation[3](46,52) = 75.0/4096.0;
+  prolongation[3](46,53) = -25.0/4096.0;
+  prolongation[3](46,54) = -225.0/4096.0;
+  prolongation[3](46,55) = 75.0/4096.0;
+  prolongation[3](46,56) = -675.0/4096.0;
+  prolongation[3](46,57) = -675.0/4096.0;
+  prolongation[3](46,58) = 225.0/4096.0;
+  prolongation[3](46,59) = 225.0/4096.0;
+  prolongation[3](46,60) = 2025.0/4096.0;
+  prolongation[3](46,61) = 2025.0/4096.0;
+  prolongation[3](46,62) = -675.0/4096.0;
+  prolongation[3](46,63) = -675.0/4096.0;
+  prolongation[3](47,24) = -1.0/256.0;
+  prolongation[3](47,26) = -1.0/256.0;
+  prolongation[3](47,28) = -5.0/256.0;
+  prolongation[3](47,30) = -5.0/256.0;
+  prolongation[3](47,40) = 9.0/256.0;
+  prolongation[3](47,41) = 9.0/256.0;
+  prolongation[3](47,44) = 5.0/256.0;
+  prolongation[3](47,46) = -15.0/256.0;
+  prolongation[3](47,48) = 45.0/256.0;
+  prolongation[3](47,49) = 45.0/256.0;
+  prolongation[3](47,52) = 5.0/256.0;
+  prolongation[3](47,54) = -15.0/256.0;
+  prolongation[3](47,56) = -45.0/256.0;
+  prolongation[3](47,57) = -45.0/256.0;
+  prolongation[3](47,60) = 135.0/256.0;
+  prolongation[3](47,61) = 135.0/256.0;
+  prolongation[3](48,2) = 5.0/256.0;
+  prolongation[3](48,3) = 25.0/256.0;
+  prolongation[3](48,6) = 1.0/256.0;
+  prolongation[3](48,7) = 5.0/256.0;
+  prolongation[3](48,12) = 75.0/256.0;
+  prolongation[3](48,13) = -25.0/256.0;
+  prolongation[3](48,20) = 15.0/256.0;
+  prolongation[3](48,21) = -5.0/256.0;
+  prolongation[3](48,28) = 15.0/256.0;
+  prolongation[3](48,29) = -5.0/256.0;
+  prolongation[3](48,30) = 75.0/256.0;
+  prolongation[3](48,31) = -25.0/256.0;
+  prolongation[3](48,48) = 225.0/256.0;
+  prolongation[3](48,49) = -75.0/256.0;
+  prolongation[3](48,50) = -75.0/256.0;
+  prolongation[3](48,51) = 25.0/256.0;
+  prolongation[3](49,12) = 5.0/16.0;
+  prolongation[3](49,20) = 1.0/16.0;
+  prolongation[3](49,48) = 15.0/16.0;
+  prolongation[3](49,50) = -5.0/16.0;
+  prolongation[3](50,28) = 1.0/16.0;
+  prolongation[3](50,30) = 5.0/16.0;
+  prolongation[3](50,48) = 15.0/16.0;
+  prolongation[3](50,49) = -5.0/16.0;
+  prolongation[3](51,48) = 1.0;
+  prolongation[3](52,15) = 5.0/16.0;
+  prolongation[3](52,23) = 1.0/16.0;
+  prolongation[3](52,54) = 15.0/16.0;
+  prolongation[3](52,55) = -5.0/16.0;
+  prolongation[3](53,54) = 1.0;
+  prolongation[3](54,0) = 5.0/256.0;
+  prolongation[3](54,3) = 25.0/256.0;
+  prolongation[3](54,4) = 1.0/256.0;
+  prolongation[3](54,7) = 5.0/256.0;
+  prolongation[3](54,14) = -25.0/256.0;
+  prolongation[3](54,15) = 75.0/256.0;
+  prolongation[3](54,22) = -5.0/256.0;
+  prolongation[3](54,23) = 15.0/256.0;
+  prolongation[3](54,24) = 15.0/256.0;
+  prolongation[3](54,25) = -5.0/256.0;
+  prolongation[3](54,30) = 75.0/256.0;
+  prolongation[3](54,31) = -25.0/256.0;
+  prolongation[3](54,52) = -75.0/256.0;
+  prolongation[3](54,53) = 25.0/256.0;
+  prolongation[3](54,54) = 225.0/256.0;
+  prolongation[3](54,55) = -75.0/256.0;
+  prolongation[3](55,24) = 1.0/16.0;
+  prolongation[3](55,30) = 5.0/16.0;
+  prolongation[3](55,52) = -5.0/16.0;
+  prolongation[3](55,54) = 15.0/16.0;
+  prolongation[3](56,11) = 5.0/256.0;
+  prolongation[3](56,15) = 25.0/256.0;
+  prolongation[3](56,19) = 1.0/256.0;
+  prolongation[3](56,23) = 5.0/256.0;
+  prolongation[3](56,34) = 75.0/256.0;
+  prolongation[3](56,35) = -25.0/256.0;
+  prolongation[3](56,38) = 15.0/256.0;
+  prolongation[3](56,39) = -5.0/256.0;
+  prolongation[3](56,46) = 15.0/256.0;
+  prolongation[3](56,47) = -5.0/256.0;
+  prolongation[3](56,54) = 75.0/256.0;
+  prolongation[3](56,55) = -25.0/256.0;
+  prolongation[3](56,60) = 225.0/256.0;
+  prolongation[3](56,61) = -75.0/256.0;
+  prolongation[3](56,62) = -75.0/256.0;
+  prolongation[3](56,63) = 25.0/256.0;
+  prolongation[3](57,34) = 5.0/16.0;
+  prolongation[3](57,38) = 1.0/16.0;
+  prolongation[3](57,60) = 15.0/16.0;
+  prolongation[3](57,62) = -5.0/16.0;
+  prolongation[3](58,46) = 1.0/16.0;
+  prolongation[3](58,54) = 5.0/16.0;
+  prolongation[3](58,60) = 15.0/16.0;
+  prolongation[3](58,61) = -5.0/16.0;
+  prolongation[3](59,60) = 1.0;
+  prolongation[3](60,0) = 25.0/4096.0;
+  prolongation[3](60,1) = 5.0/4096.0;
+  prolongation[3](60,2) = 25.0/4096.0;
+  prolongation[3](60,3) = 125.0/4096.0;
+  prolongation[3](60,4) = 5.0/4096.0;
+  prolongation[3](60,5) = 1.0/4096.0;
+  prolongation[3](60,6) = 5.0/4096.0;
+  prolongation[3](60,7) = 25.0/4096.0;
+  prolongation[3](60,8) = 75.0/4096.0;
+  prolongation[3](60,9) = -25.0/4096.0;
+  prolongation[3](60,10) = -25.0/4096.0;
+  prolongation[3](60,11) = 75.0/4096.0;
+  prolongation[3](60,12) = 375.0/4096.0;
+  prolongation[3](60,13) = -125.0/4096.0;
+  prolongation[3](60,14) = -125.0/4096.0;
+  prolongation[3](60,15) = 375.0/4096.0;
+  prolongation[3](60,16) = 15.0/4096.0;
+  prolongation[3](60,17) = -5.0/4096.0;
+  prolongation[3](60,18) = -5.0/4096.0;
+  prolongation[3](60,19) = 15.0/4096.0;
+  prolongation[3](60,20) = 75.0/4096.0;
+  prolongation[3](60,21) = -25.0/4096.0;
+  prolongation[3](60,22) = -25.0/4096.0;
+  prolongation[3](60,23) = 75.0/4096.0;
+  prolongation[3](60,24) = 75.0/4096.0;
+  prolongation[3](60,25) = -25.0/4096.0;
+  prolongation[3](60,26) = 15.0/4096.0;
+  prolongation[3](60,27) = -5.0/4096.0;
+  prolongation[3](60,28) = 75.0/4096.0;
+  prolongation[3](60,29) = -25.0/4096.0;
+  prolongation[3](60,30) = 375.0/4096.0;
+  prolongation[3](60,31) = -125.0/4096.0;
+  prolongation[3](60,32) = -375.0/4096.0;
+  prolongation[3](60,33) = 125.0/4096.0;
+  prolongation[3](60,34) = 1125.0/4096.0;
+  prolongation[3](60,35) = -375.0/4096.0;
+  prolongation[3](60,36) = -75.0/4096.0;
+  prolongation[3](60,37) = 25.0/4096.0;
+  prolongation[3](60,38) = 225.0/4096.0;
+  prolongation[3](60,39) = -75.0/4096.0;
+  prolongation[3](60,40) = 225.0/4096.0;
+  prolongation[3](60,41) = -75.0/4096.0;
+  prolongation[3](60,42) = -75.0/4096.0;
+  prolongation[3](60,43) = 25.0/4096.0;
+  prolongation[3](60,44) = -75.0/4096.0;
+  prolongation[3](60,45) = 25.0/4096.0;
+  prolongation[3](60,46) = 225.0/4096.0;
+  prolongation[3](60,47) = -75.0/4096.0;
+  prolongation[3](60,48) = 1125.0/4096.0;
+  prolongation[3](60,49) = -375.0/4096.0;
+  prolongation[3](60,50) = -375.0/4096.0;
+  prolongation[3](60,51) = 125.0/4096.0;
+  prolongation[3](60,52) = -375.0/4096.0;
+  prolongation[3](60,53) = 125.0/4096.0;
+  prolongation[3](60,54) = 1125.0/4096.0;
+  prolongation[3](60,55) = -375.0/4096.0;
+  prolongation[3](60,56) = -1125.0/4096.0;
+  prolongation[3](60,57) = 375.0/4096.0;
+  prolongation[3](60,58) = 375.0/4096.0;
+  prolongation[3](60,59) = -125.0/4096.0;
+  prolongation[3](60,60) = 3375.0/4096.0;
+  prolongation[3](60,61) = -1125.0/4096.0;
+  prolongation[3](60,62) = -1125.0/4096.0;
+  prolongation[3](60,63) = 375.0/4096.0;
+  prolongation[3](61,8) = 5.0/256.0;
+  prolongation[3](61,12) = 25.0/256.0;
+  prolongation[3](61,16) = 1.0/256.0;
+  prolongation[3](61,20) = 5.0/256.0;
+  prolongation[3](61,32) = -25.0/256.0;
+  prolongation[3](61,34) = 75.0/256.0;
+  prolongation[3](61,36) = -5.0/256.0;
+  prolongation[3](61,38) = 15.0/256.0;
+  prolongation[3](61,40) = 15.0/256.0;
+  prolongation[3](61,42) = -5.0/256.0;
+  prolongation[3](61,48) = 75.0/256.0;
+  prolongation[3](61,50) = -25.0/256.0;
+  prolongation[3](61,56) = -75.0/256.0;
+  prolongation[3](61,58) = 25.0/256.0;
+  prolongation[3](61,60) = 225.0/256.0;
+  prolongation[3](61,62) = -75.0/256.0;
+  prolongation[3](62,24) = 5.0/256.0;
+  prolongation[3](62,26) = 1.0/256.0;
+  prolongation[3](62,28) = 5.0/256.0;
+  prolongation[3](62,30) = 25.0/256.0;
+  prolongation[3](62,40) = 15.0/256.0;
+  prolongation[3](62,41) = -5.0/256.0;
+  prolongation[3](62,44) = -5.0/256.0;
+  prolongation[3](62,46) = 15.0/256.0;
+  prolongation[3](62,48) = 75.0/256.0;
+  prolongation[3](62,49) = -25.0/256.0;
+  prolongation[3](62,52) = -25.0/256.0;
+  prolongation[3](62,54) = 75.0/256.0;
+  prolongation[3](62,56) = -75.0/256.0;
+  prolongation[3](62,57) = 25.0/256.0;
+  prolongation[3](62,60) = 225.0/256.0;
+  prolongation[3](62,61) = -75.0/256.0;
+  prolongation[3](63,40) = 1.0/16.0;
+  prolongation[3](63,48) = 5.0/16.0;
+  prolongation[3](63,56) = -5.0/16.0;
+  prolongation[3](63,60) = 15.0/16.0;
+  prolongation[4](0,0) = -1.0/16.0;
+  prolongation[4](0,4) = -1.0/16.0;
+  prolongation[4](0,24) = 9.0/16.0;
+  prolongation[4](0,25) = 9.0/16.0;
+  prolongation[4](1,0) = 1.0/256.0;
+  prolongation[4](1,1) = 1.0/256.0;
+  prolongation[4](1,4) = 1.0/256.0;
+  prolongation[4](1,5) = 1.0/256.0;
+  prolongation[4](1,8) = -9.0/256.0;
+  prolongation[4](1,9) = -9.0/256.0;
+  prolongation[4](1,16) = -9.0/256.0;
+  prolongation[4](1,17) = -9.0/256.0;
+  prolongation[4](1,24) = -9.0/256.0;
+  prolongation[4](1,25) = -9.0/256.0;
+  prolongation[4](1,26) = -9.0/256.0;
+  prolongation[4](1,27) = -9.0/256.0;
+  prolongation[4](1,40) = 81.0/256.0;
+  prolongation[4](1,41) = 81.0/256.0;
+  prolongation[4](1,42) = 81.0/256.0;
+  prolongation[4](1,43) = 81.0/256.0;
+  prolongation[4](2,0) = -1.0/4096.0;
+  prolongation[4](2,1) = -1.0/4096.0;
+  prolongation[4](2,2) = -1.0/4096.0;
+  prolongation[4](2,3) = -1.0/4096.0;
+  prolongation[4](2,4) = -1.0/4096.0;
+  prolongation[4](2,5) = -1.0/4096.0;
+  prolongation[4](2,6) = -1.0/4096.0;
+  prolongation[4](2,7) = -1.0/4096.0;
+  prolongation[4](2,8) = 9.0/4096.0;
+  prolongation[4](2,9) = 9.0/4096.0;
+  prolongation[4](2,10) = 9.0/4096.0;
+  prolongation[4](2,11) = 9.0/4096.0;
+  prolongation[4](2,12) = 9.0/4096.0;
+  prolongation[4](2,13) = 9.0/4096.0;
+  prolongation[4](2,14) = 9.0/4096.0;
+  prolongation[4](2,15) = 9.0/4096.0;
+  prolongation[4](2,16) = 9.0/4096.0;
+  prolongation[4](2,17) = 9.0/4096.0;
+  prolongation[4](2,18) = 9.0/4096.0;
+  prolongation[4](2,19) = 9.0/4096.0;
+  prolongation[4](2,20) = 9.0/4096.0;
+  prolongation[4](2,21) = 9.0/4096.0;
+  prolongation[4](2,22) = 9.0/4096.0;
+  prolongation[4](2,23) = 9.0/4096.0;
+  prolongation[4](2,24) = 9.0/4096.0;
+  prolongation[4](2,25) = 9.0/4096.0;
+  prolongation[4](2,26) = 9.0/4096.0;
+  prolongation[4](2,27) = 9.0/4096.0;
+  prolongation[4](2,28) = 9.0/4096.0;
+  prolongation[4](2,29) = 9.0/4096.0;
+  prolongation[4](2,30) = 9.0/4096.0;
+  prolongation[4](2,31) = 9.0/4096.0;
+  prolongation[4](2,32) = -81.0/4096.0;
+  prolongation[4](2,33) = -81.0/4096.0;
+  prolongation[4](2,34) = -81.0/4096.0;
+  prolongation[4](2,35) = -81.0/4096.0;
+  prolongation[4](2,36) = -81.0/4096.0;
+  prolongation[4](2,37) = -81.0/4096.0;
+  prolongation[4](2,38) = -81.0/4096.0;
+  prolongation[4](2,39) = -81.0/4096.0;
+  prolongation[4](2,40) = -81.0/4096.0;
+  prolongation[4](2,41) = -81.0/4096.0;
+  prolongation[4](2,42) = -81.0/4096.0;
+  prolongation[4](2,43) = -81.0/4096.0;
+  prolongation[4](2,44) = -81.0/4096.0;
+  prolongation[4](2,45) = -81.0/4096.0;
+  prolongation[4](2,46) = -81.0/4096.0;
+  prolongation[4](2,47) = -81.0/4096.0;
+  prolongation[4](2,48) = -81.0/4096.0;
+  prolongation[4](2,49) = -81.0/4096.0;
+  prolongation[4](2,50) = -81.0/4096.0;
+  prolongation[4](2,51) = -81.0/4096.0;
+  prolongation[4](2,52) = -81.0/4096.0;
+  prolongation[4](2,53) = -81.0/4096.0;
+  prolongation[4](2,54) = -81.0/4096.0;
+  prolongation[4](2,55) = -81.0/4096.0;
+  prolongation[4](2,56) = 729.0/4096.0;
+  prolongation[4](2,57) = 729.0/4096.0;
+  prolongation[4](2,58) = 729.0/4096.0;
+  prolongation[4](2,59) = 729.0/4096.0;
+  prolongation[4](2,60) = 729.0/4096.0;
+  prolongation[4](2,61) = 729.0/4096.0;
+  prolongation[4](2,62) = 729.0/4096.0;
+  prolongation[4](2,63) = 729.0/4096.0;
+  prolongation[4](3,0) = 1.0/256.0;
+  prolongation[4](3,3) = 1.0/256.0;
+  prolongation[4](3,4) = 1.0/256.0;
+  prolongation[4](3,7) = 1.0/256.0;
+  prolongation[4](3,14) = -9.0/256.0;
+  prolongation[4](3,15) = -9.0/256.0;
+  prolongation[4](3,22) = -9.0/256.0;
+  prolongation[4](3,23) = -9.0/256.0;
+  prolongation[4](3,24) = -9.0/256.0;
+  prolongation[4](3,25) = -9.0/256.0;
+  prolongation[4](3,30) = -9.0/256.0;
+  prolongation[4](3,31) = -9.0/256.0;
+  prolongation[4](3,52) = 81.0/256.0;
+  prolongation[4](3,53) = 81.0/256.0;
+  prolongation[4](3,54) = 81.0/256.0;
+  prolongation[4](3,55) = 81.0/256.0;
+  prolongation[4](4,4) = 1.0;
+  prolongation[4](5,4) = -1.0/16.0;
+  prolongation[4](5,5) = -1.0/16.0;
+  prolongation[4](5,16) = 9.0/16.0;
+  prolongation[4](5,17) = 9.0/16.0;
+  prolongation[4](6,4) = 1.0/256.0;
+  prolongation[4](6,5) = 1.0/256.0;
+  prolongation[4](6,6) = 1.0/256.0;
+  prolongation[4](6,7) = 1.0/256.0;
+  prolongation[4](6,16) = -9.0/256.0;
+  prolongation[4](6,17) = -9.0/256.0;
+  prolongation[4](6,18) = -9.0/256.0;
+  prolongation[4](6,19) = -9.0/256.0;
+  prolongation[4](6,20) = -9.0/256.0;
+  prolongation[4](6,21) = -9.0/256.0;
+  prolongation[4](6,22) = -9.0/256.0;
+  prolongation[4](6,23) = -9.0/256.0;
+  prolongation[4](6,36) = 81.0/256.0;
+  prolongation[4](6,37) = 81.0/256.0;
+  prolongation[4](6,38) = 81.0/256.0;
+  prolongation[4](6,39) = 81.0/256.0;
+  prolongation[4](7,4) = -1.0/16.0;
+  prolongation[4](7,7) = -1.0/16.0;
+  prolongation[4](7,22) = 9.0/16.0;
+  prolongation[4](7,23) = 9.0/16.0;
+  prolongation[4](8,0) = -5.0/256.0;
+  prolongation[4](8,1) = -1.0/256.0;
+  prolongation[4](8,4) = -5.0/256.0;
+  prolongation[4](8,5) = -1.0/256.0;
+  prolongation[4](8,8) = -15.0/256.0;
+  prolongation[4](8,9) = 5.0/256.0;
+  prolongation[4](8,16) = -15.0/256.0;
+  prolongation[4](8,17) = 5.0/256.0;
+  prolongation[4](8,24) = 45.0/256.0;
+  prolongation[4](8,25) = 45.0/256.0;
+  prolongation[4](8,26) = 9.0/256.0;
+  prolongation[4](8,27) = 9.0/256.0;
+  prolongation[4](8,40) = 135.0/256.0;
+  prolongation[4](8,41) = -45.0/256.0;
+  prolongation[4](8,42) = 135.0/256.0;
+  prolongation[4](8,43) = -45.0/256.0;
+  prolongation[4](9,8) = -1.0/16.0;
+  prolongation[4](9,16) = -1.0/16.0;
+  prolongation[4](9,40) = 9.0/16.0;
+  prolongation[4](9,42) = 9.0/16.0;
+  prolongation[4](10,0) = 5.0/4096.0;
+  prolongation[4](10,1) = 5.0/4096.0;
+  prolongation[4](10,2) = 1.0/4096.0;
+  prolongation[4](10,3) = 1.0/4096.0;
+  prolongation[4](10,4) = 5.0/4096.0;
+  prolongation[4](10,5) = 5.0/4096.0;
+  prolongation[4](10,6) = 1.0/4096.0;
+  prolongation[4](10,7) = 1.0/4096.0;
+  prolongation[4](10,8) = -45.0/4096.0;
+  prolongation[4](10,9) = -45.0/4096.0;
+  prolongation[4](10,10) = 15.0/4096.0;
+  prolongation[4](10,11) = -5.0/4096.0;
+  prolongation[4](10,12) = -9.0/4096.0;
+  prolongation[4](10,13) = -9.0/4096.0;
+  prolongation[4](10,14) = 15.0/4096.0;
+  prolongation[4](10,15) = -5.0/4096.0;
+  prolongation[4](10,16) = -45.0/4096.0;
+  prolongation[4](10,17) = -45.0/4096.0;
+  prolongation[4](10,18) = 15.0/4096.0;
+  prolongation[4](10,19) = -5.0/4096.0;
+  prolongation[4](10,20) = -9.0/4096.0;
+  prolongation[4](10,21) = -9.0/4096.0;
+  prolongation[4](10,22) = 15.0/4096.0;
+  prolongation[4](10,23) = -5.0/4096.0;
+  prolongation[4](10,24) = -45.0/4096.0;
+  prolongation[4](10,25) = -45.0/4096.0;
+  prolongation[4](10,26) = -45.0/4096.0;
+  prolongation[4](10,27) = -45.0/4096.0;
+  prolongation[4](10,28) = -9.0/4096.0;
+  prolongation[4](10,29) = -9.0/4096.0;
+  prolongation[4](10,30) = -9.0/4096.0;
+  prolongation[4](10,31) = -9.0/4096.0;
+  prolongation[4](10,32) = -135.0/4096.0;
+  prolongation[4](10,33) = -135.0/4096.0;
+  prolongation[4](10,34) = 45.0/4096.0;
+  prolongation[4](10,35) = 45.0/4096.0;
+  prolongation[4](10,36) = -135.0/4096.0;
+  prolongation[4](10,37) = -135.0/4096.0;
+  prolongation[4](10,38) = 45.0/4096.0;
+  prolongation[4](10,39) = 45.0/4096.0;
+  prolongation[4](10,40) = 405.0/4096.0;
+  prolongation[4](10,41) = 405.0/4096.0;
+  prolongation[4](10,42) = 405.0/4096.0;
+  prolongation[4](10,43) = 405.0/4096.0;
+  prolongation[4](10,44) = -135.0/4096.0;
+  prolongation[4](10,45) = -135.0/4096.0;
+  prolongation[4](10,46) = 45.0/4096.0;
+  prolongation[4](10,47) = 45.0/4096.0;
+  prolongation[4](10,48) = 81.0/4096.0;
+  prolongation[4](10,49) = 81.0/4096.0;
+  prolongation[4](10,50) = 81.0/4096.0;
+  prolongation[4](10,51) = 81.0/4096.0;
+  prolongation[4](10,52) = -135.0/4096.0;
+  prolongation[4](10,53) = -135.0/4096.0;
+  prolongation[4](10,54) = 45.0/4096.0;
+  prolongation[4](10,55) = 45.0/4096.0;
+  prolongation[4](10,56) = 1215.0/4096.0;
+  prolongation[4](10,57) = 1215.0/4096.0;
+  prolongation[4](10,58) = 1215.0/4096.0;
+  prolongation[4](10,59) = 1215.0/4096.0;
+  prolongation[4](10,60) = -405.0/4096.0;
+  prolongation[4](10,61) = -405.0/4096.0;
+  prolongation[4](10,62) = -405.0/4096.0;
+  prolongation[4](10,63) = -405.0/4096.0;
+  prolongation[4](11,10) = 1.0/256.0;
+  prolongation[4](11,14) = 1.0/256.0;
+  prolongation[4](11,18) = 1.0/256.0;
+  prolongation[4](11,22) = 1.0/256.0;
+  prolongation[4](11,32) = -9.0/256.0;
+  prolongation[4](11,33) = -9.0/256.0;
+  prolongation[4](11,36) = -9.0/256.0;
+  prolongation[4](11,37) = -9.0/256.0;
+  prolongation[4](11,44) = -9.0/256.0;
+  prolongation[4](11,45) = -9.0/256.0;
+  prolongation[4](11,52) = -9.0/256.0;
+  prolongation[4](11,53) = -9.0/256.0;
+  prolongation[4](11,56) = 81.0/256.0;
+  prolongation[4](11,57) = 81.0/256.0;
+  prolongation[4](11,58) = 81.0/256.0;
+  prolongation[4](11,59) = 81.0/256.0;
+  prolongation[4](12,0) = 5.0/4096.0;
+  prolongation[4](12,1) = 1.0/4096.0;
+  prolongation[4](12,2) = 1.0/4096.0;
+  prolongation[4](12,3) = 5.0/4096.0;
+  prolongation[4](12,4) = 5.0/4096.0;
+  prolongation[4](12,5) = 1.0/4096.0;
+  prolongation[4](12,6) = 1.0/4096.0;
+  prolongation[4](12,7) = 5.0/4096.0;
+  prolongation[4](12,8) = 15.0/4096.0;
+  prolongation[4](12,9) = -5.0/4096.0;
+  prolongation[4](12,10) = -9.0/4096.0;
+  prolongation[4](12,11) = -9.0/4096.0;
+  prolongation[4](12,12) = 15.0/4096.0;
+  prolongation[4](12,13) = -5.0/4096.0;
+  prolongation[4](12,14) = -45.0/4096.0;
+  prolongation[4](12,15) = -45.0/4096.0;
+  prolongation[4](12,16) = 15.0/4096.0;
+  prolongation[4](12,17) = -5.0/4096.0;
+  prolongation[4](12,18) = -9.0/4096.0;
+  prolongation[4](12,19) = -9.0/4096.0;
+  prolongation[4](12,20) = 15.0/4096.0;
+  prolongation[4](12,21) = -5.0/4096.0;
+  prolongation[4](12,22) = -45.0/4096.0;
+  prolongation[4](12,23) = -45.0/4096.0;
+  prolongation[4](12,24) = -45.0/4096.0;
+  prolongation[4](12,25) = -45.0/4096.0;
+  prolongation[4](12,26) = -9.0/4096.0;
+  prolongation[4](12,27) = -9.0/4096.0;
+  prolongation[4](12,28) = -9.0/4096.0;
+  prolongation[4](12,29) = -9.0/4096.0;
+  prolongation[4](12,30) = -45.0/4096.0;
+  prolongation[4](12,31) = -45.0/4096.0;
+  prolongation[4](12,32) = -135.0/4096.0;
+  prolongation[4](12,33) = 45.0/4096.0;
+  prolongation[4](12,34) = -135.0/4096.0;
+  prolongation[4](12,35) = 45.0/4096.0;
+  prolongation[4](12,36) = -135.0/4096.0;
+  prolongation[4](12,37) = 45.0/4096.0;
+  prolongation[4](12,38) = -135.0/4096.0;
+  prolongation[4](12,39) = 45.0/4096.0;
+  prolongation[4](12,40) = -135.0/4096.0;
+  prolongation[4](12,41) = 45.0/4096.0;
+  prolongation[4](12,42) = -135.0/4096.0;
+  prolongation[4](12,43) = 45.0/4096.0;
+  prolongation[4](12,44) = 81.0/4096.0;
+  prolongation[4](12,45) = 81.0/4096.0;
+  prolongation[4](12,46) = 81.0/4096.0;
+  prolongation[4](12,47) = 81.0/4096.0;
+  prolongation[4](12,48) = -135.0/4096.0;
+  prolongation[4](12,49) = 45.0/4096.0;
+  prolongation[4](12,50) = -135.0/4096.0;
+  prolongation[4](12,51) = 45.0/4096.0;
+  prolongation[4](12,52) = 405.0/4096.0;
+  prolongation[4](12,53) = 405.0/4096.0;
+  prolongation[4](12,54) = 405.0/4096.0;
+  prolongation[4](12,55) = 405.0/4096.0;
+  prolongation[4](12,56) = 1215.0/4096.0;
+  prolongation[4](12,57) = -405.0/4096.0;
+  prolongation[4](12,58) = 1215.0/4096.0;
+  prolongation[4](12,59) = -405.0/4096.0;
+  prolongation[4](12,60) = 1215.0/4096.0;
+  prolongation[4](12,61) = -405.0/4096.0;
+  prolongation[4](12,62) = 1215.0/4096.0;
+  prolongation[4](12,63) = -405.0/4096.0;
+  prolongation[4](13,8) = 1.0/256.0;
+  prolongation[4](13,12) = 1.0/256.0;
+  prolongation[4](13,16) = 1.0/256.0;
+  prolongation[4](13,20) = 1.0/256.0;
+  prolongation[4](13,32) = -9.0/256.0;
+  prolongation[4](13,34) = -9.0/256.0;
+  prolongation[4](13,36) = -9.0/256.0;
+  prolongation[4](13,38) = -9.0/256.0;
+  prolongation[4](13,40) = -9.0/256.0;
+  prolongation[4](13,42) = -9.0/256.0;
+  prolongation[4](13,48) = -9.0/256.0;
+  prolongation[4](13,50) = -9.0/256.0;
+  prolongation[4](13,56) = 81.0/256.0;
+  prolongation[4](13,58) = 81.0/256.0;
+  prolongation[4](13,60) = 81.0/256.0;
+  prolongation[4](13,62) = 81.0/256.0;
+  prolongation[4](14,0) = -5.0/256.0;
+  prolongation[4](14,3) = -1.0/256.0;
+  prolongation[4](14,4) = -5.0/256.0;
+  prolongation[4](14,7) = -1.0/256.0;
+  prolongation[4](14,14) = -15.0/256.0;
+  prolongation[4](14,15) = 5.0/256.0;
+  prolongation[4](14,22) = -15.0/256.0;
+  prolongation[4](14,23) = 5.0/256.0;
+  prolongation[4](14,24) = 45.0/256.0;
+  prolongation[4](14,25) = 45.0/256.0;
+  prolongation[4](14,30) = 9.0/256.0;
+  prolongation[4](14,31) = 9.0/256.0;
+  prolongation[4](14,52) = 135.0/256.0;
+  prolongation[4](14,53) = 135.0/256.0;
+  prolongation[4](14,54) = -45.0/256.0;
+  prolongation[4](14,55) = -45.0/256.0;
+  prolongation[4](15,14) = -1.0/16.0;
+  prolongation[4](15,22) = -1.0/16.0;
+  prolongation[4](15,52) = 9.0/16.0;
+  prolongation[4](15,53) = 9.0/16.0;
+  prolongation[4](16,4) = 5.0/16.0;
+  prolongation[4](16,5) = 1.0/16.0;
+  prolongation[4](16,16) = 15.0/16.0;
+  prolongation[4](16,17) = -5.0/16.0;
+  prolongation[4](17,16) = 1.0;
+  prolongation[4](18,4) = -5.0/256.0;
+  prolongation[4](18,5) = -5.0/256.0;
+  prolongation[4](18,6) = -1.0/256.0;
+  prolongation[4](18,7) = -1.0/256.0;
+  prolongation[4](18,16) = 45.0/256.0;
+  prolongation[4](18,17) = 45.0/256.0;
+  prolongation[4](18,18) = -15.0/256.0;
+  prolongation[4](18,19) = 5.0/256.0;
+  prolongation[4](18,20) = 9.0/256.0;
+  prolongation[4](18,21) = 9.0/256.0;
+  prolongation[4](18,22) = -15.0/256.0;
+  prolongation[4](18,23) = 5.0/256.0;
+  prolongation[4](18,36) = 135.0/256.0;
+  prolongation[4](18,37) = 135.0/256.0;
+  prolongation[4](18,38) = -45.0/256.0;
+  prolongation[4](18,39) = -45.0/256.0;
+  prolongation[4](19,18) = -1.0/16.0;
+  prolongation[4](19,22) = -1.0/16.0;
+  prolongation[4](19,36) = 9.0/16.0;
+  prolongation[4](19,37) = 9.0/16.0;
+  prolongation[4](20,4) = -5.0/256.0;
+  prolongation[4](20,5) = -1.0/256.0;
+  prolongation[4](20,6) = -1.0/256.0;
+  prolongation[4](20,7) = -5.0/256.0;
+  prolongation[4](20,16) = -15.0/256.0;
+  prolongation[4](20,17) = 5.0/256.0;
+  prolongation[4](20,18) = 9.0/256.0;
+  prolongation[4](20,19) = 9.0/256.0;
+  prolongation[4](20,20) = -15.0/256.0;
+  prolongation[4](20,21) = 5.0/256.0;
+  prolongation[4](20,22) = 45.0/256.0;
+  prolongation[4](20,23) = 45.0/256.0;
+  prolongation[4](20,36) = 135.0/256.0;
+  prolongation[4](20,37) = -45.0/256.0;
+  prolongation[4](20,38) = 135.0/256.0;
+  prolongation[4](20,39) = -45.0/256.0;
+  prolongation[4](21,16) = -1.0/16.0;
+  prolongation[4](21,20) = -1.0/16.0;
+  prolongation[4](21,36) = 9.0/16.0;
+  prolongation[4](21,38) = 9.0/16.0;
+  prolongation[4](22,4) = 5.0/16.0;
+  prolongation[4](22,7) = 1.0/16.0;
+  prolongation[4](22,22) = 15.0/16.0;
+  prolongation[4](22,23) = -5.0/16.0;
+  prolongation[4](23,22) = 1.0;
+  prolongation[4](24,25) = 1.0;
+  prolongation[4](25,0) = 1.0/16.0;
+  prolongation[4](25,4) = 5.0/16.0;
+  prolongation[4](25,24) = -5.0/16.0;
+  prolongation[4](25,25) = 15.0/16.0;
+  prolongation[4](26,25) = -1.0/16.0;
+  prolongation[4](26,27) = -1.0/16.0;
+  prolongation[4](26,42) = 9.0/16.0;
+  prolongation[4](26,43) = 9.0/16.0;
+  prolongation[4](27,0) = -1.0/256.0;
+  prolongation[4](27,1) = -1.0/256.0;
+  prolongation[4](27,4) = -5.0/256.0;
+  prolongation[4](27,5) = -5.0/256.0;
+  prolongation[4](27,8) = 9.0/256.0;
+  prolongation[4](27,9) = 9.0/256.0;
+  prolongation[4](27,16) = 45.0/256.0;
+  prolongation[4](27,17) = 45.0/256.0;
+  prolongation[4](27,24) = 5.0/256.0;
+  prolongation[4](27,25) = -15.0/256.0;
+  prolongation[4](27,26) = 5.0/256.0;
+  prolongation[4](27,27) = -15.0/256.0;
+  prolongation[4](27,40) = -45.0/256.0;
+  prolongation[4](27,41) = -45.0/256.0;
+  prolongation[4](27,42) = 135.0/256.0;
+  prolongation[4](27,43) = 135.0/256.0;
+  prolongation[4](28,25) = 1.0/256.0;
+  prolongation[4](28,27) = 1.0/256.0;
+  prolongation[4](28,29) = 1.0/256.0;
+  prolongation[4](28,31) = 1.0/256.0;
+  prolongation[4](28,42) = -9.0/256.0;
+  prolongation[4](28,43) = -9.0/256.0;
+  prolongation[4](28,45) = -9.0/256.0;
+  prolongation[4](28,47) = -9.0/256.0;
+  prolongation[4](28,50) = -9.0/256.0;
+  prolongation[4](28,51) = -9.0/256.0;
+  prolongation[4](28,53) = -9.0/256.0;
+  prolongation[4](28,55) = -9.0/256.0;
+  prolongation[4](28,58) = 81.0/256.0;
+  prolongation[4](28,59) = 81.0/256.0;
+  prolongation[4](28,62) = 81.0/256.0;
+  prolongation[4](28,63) = 81.0/256.0;
+  prolongation[4](29,0) = 1.0/4096.0;
+  prolongation[4](29,1) = 1.0/4096.0;
+  prolongation[4](29,2) = 1.0/4096.0;
+  prolongation[4](29,3) = 1.0/4096.0;
+  prolongation[4](29,4) = 5.0/4096.0;
+  prolongation[4](29,5) = 5.0/4096.0;
+  prolongation[4](29,6) = 5.0/4096.0;
+  prolongation[4](29,7) = 5.0/4096.0;
+  prolongation[4](29,8) = -9.0/4096.0;
+  prolongation[4](29,9) = -9.0/4096.0;
+  prolongation[4](29,10) = -9.0/4096.0;
+  prolongation[4](29,11) = -9.0/4096.0;
+  prolongation[4](29,12) = -9.0/4096.0;
+  prolongation[4](29,13) = -9.0/4096.0;
+  prolongation[4](29,14) = -9.0/4096.0;
+  prolongation[4](29,15) = -9.0/4096.0;
+  prolongation[4](29,16) = -45.0/4096.0;
+  prolongation[4](29,17) = -45.0/4096.0;
+  prolongation[4](29,18) = -45.0/4096.0;
+  prolongation[4](29,19) = -45.0/4096.0;
+  prolongation[4](29,20) = -45.0/4096.0;
+  prolongation[4](29,21) = -45.0/4096.0;
+  prolongation[4](29,22) = -45.0/4096.0;
+  prolongation[4](29,23) = -45.0/4096.0;
+  prolongation[4](29,24) = -5.0/4096.0;
+  prolongation[4](29,25) = 15.0/4096.0;
+  prolongation[4](29,26) = -5.0/4096.0;
+  prolongation[4](29,27) = 15.0/4096.0;
+  prolongation[4](29,28) = -5.0/4096.0;
+  prolongation[4](29,29) = 15.0/4096.0;
+  prolongation[4](29,30) = -5.0/4096.0;
+  prolongation[4](29,31) = 15.0/4096.0;
+  prolongation[4](29,32) = 81.0/4096.0;
+  prolongation[4](29,33) = 81.0/4096.0;
+  prolongation[4](29,34) = 81.0/4096.0;
+  prolongation[4](29,35) = 81.0/4096.0;
+  prolongation[4](29,36) = 405.0/4096.0;
+  prolongation[4](29,37) = 405.0/4096.0;
+  prolongation[4](29,38) = 405.0/4096.0;
+  prolongation[4](29,39) = 405.0/4096.0;
+  prolongation[4](29,40) = 45.0/4096.0;
+  prolongation[4](29,41) = 45.0/4096.0;
+  prolongation[4](29,42) = -135.0/4096.0;
+  prolongation[4](29,43) = -135.0/4096.0;
+  prolongation[4](29,44) = 45.0/4096.0;
+  prolongation[4](29,45) = -135.0/4096.0;
+  prolongation[4](29,46) = 45.0/4096.0;
+  prolongation[4](29,47) = -135.0/4096.0;
+  prolongation[4](29,48) = 45.0/4096.0;
+  prolongation[4](29,49) = 45.0/4096.0;
+  prolongation[4](29,50) = -135.0/4096.0;
+  prolongation[4](29,51) = -135.0/4096.0;
+  prolongation[4](29,52) = 45.0/4096.0;
+  prolongation[4](29,53) = -135.0/4096.0;
+  prolongation[4](29,54) = 45.0/4096.0;
+  prolongation[4](29,55) = -135.0/4096.0;
+  prolongation[4](29,56) = -405.0/4096.0;
+  prolongation[4](29,57) = -405.0/4096.0;
+  prolongation[4](29,58) = 1215.0/4096.0;
+  prolongation[4](29,59) = 1215.0/4096.0;
+  prolongation[4](29,60) = -405.0/4096.0;
+  prolongation[4](29,61) = -405.0/4096.0;
+  prolongation[4](29,62) = 1215.0/4096.0;
+  prolongation[4](29,63) = 1215.0/4096.0;
+  prolongation[4](30,25) = -1.0/16.0;
+  prolongation[4](30,31) = -1.0/16.0;
+  prolongation[4](30,53) = 9.0/16.0;
+  prolongation[4](30,55) = 9.0/16.0;
+  prolongation[4](31,0) = -1.0/256.0;
+  prolongation[4](31,3) = -1.0/256.0;
+  prolongation[4](31,4) = -5.0/256.0;
+  prolongation[4](31,7) = -5.0/256.0;
+  prolongation[4](31,14) = 9.0/256.0;
+  prolongation[4](31,15) = 9.0/256.0;
+  prolongation[4](31,22) = 45.0/256.0;
+  prolongation[4](31,23) = 45.0/256.0;
+  prolongation[4](31,24) = 5.0/256.0;
+  prolongation[4](31,25) = -15.0/256.0;
+  prolongation[4](31,30) = 5.0/256.0;
+  prolongation[4](31,31) = -15.0/256.0;
+  prolongation[4](31,52) = -45.0/256.0;
+  prolongation[4](31,53) = 135.0/256.0;
+  prolongation[4](31,54) = -45.0/256.0;
+  prolongation[4](31,55) = 135.0/256.0;
+  prolongation[4](32,0) = -25.0/4096.0;
+  prolongation[4](32,1) = -5.0/4096.0;
+  prolongation[4](32,2) = -1.0/4096.0;
+  prolongation[4](32,3) = -5.0/4096.0;
+  prolongation[4](32,4) = -25.0/4096.0;
+  prolongation[4](32,5) = -5.0/4096.0;
+  prolongation[4](32,6) = -1.0/4096.0;
+  prolongation[4](32,7) = -5.0/4096.0;
+  prolongation[4](32,8) = -75.0/4096.0;
+  prolongation[4](32,9) = 25.0/4096.0;
+  prolongation[4](32,10) = -15.0/4096.0;
+  prolongation[4](32,11) = 5.0/4096.0;
+  prolongation[4](32,12) = -15.0/4096.0;
+  prolongation[4](32,13) = 5.0/4096.0;
+  prolongation[4](32,14) = -75.0/4096.0;
+  prolongation[4](32,15) = 25.0/4096.0;
+  prolongation[4](32,16) = -75.0/4096.0;
+  prolongation[4](32,17) = 25.0/4096.0;
+  prolongation[4](32,18) = -15.0/4096.0;
+  prolongation[4](32,19) = 5.0/4096.0;
+  prolongation[4](32,20) = -15.0/4096.0;
+  prolongation[4](32,21) = 5.0/4096.0;
+  prolongation[4](32,22) = -75.0/4096.0;
+  prolongation[4](32,23) = 25.0/4096.0;
+  prolongation[4](32,24) = 225.0/4096.0;
+  prolongation[4](32,25) = 225.0/4096.0;
+  prolongation[4](32,26) = 45.0/4096.0;
+  prolongation[4](32,27) = 45.0/4096.0;
+  prolongation[4](32,28) = 9.0/4096.0;
+  prolongation[4](32,29) = 9.0/4096.0;
+  prolongation[4](32,30) = 45.0/4096.0;
+  prolongation[4](32,31) = 45.0/4096.0;
+  prolongation[4](32,32) = -225.0/4096.0;
+  prolongation[4](32,33) = 75.0/4096.0;
+  prolongation[4](32,34) = 75.0/4096.0;
+  prolongation[4](32,35) = -25.0/4096.0;
+  prolongation[4](32,36) = -225.0/4096.0;
+  prolongation[4](32,37) = 75.0/4096.0;
+  prolongation[4](32,38) = 75.0/4096.0;
+  prolongation[4](32,39) = -25.0/4096.0;
+  prolongation[4](32,40) = 675.0/4096.0;
+  prolongation[4](32,41) = -225.0/4096.0;
+  prolongation[4](32,42) = 675.0/4096.0;
+  prolongation[4](32,43) = -225.0/4096.0;
+  prolongation[4](32,44) = 135.0/4096.0;
+  prolongation[4](32,45) = 135.0/4096.0;
+  prolongation[4](32,46) = -45.0/4096.0;
+  prolongation[4](32,47) = -45.0/4096.0;
+  prolongation[4](32,48) = 135.0/4096.0;
+  prolongation[4](32,49) = -45.0/4096.0;
+  prolongation[4](32,50) = 135.0/4096.0;
+  prolongation[4](32,51) = -45.0/4096.0;
+  prolongation[4](32,52) = 675.0/4096.0;
+  prolongation[4](32,53) = 675.0/4096.0;
+  prolongation[4](32,54) = -225.0/4096.0;
+  prolongation[4](32,55) = -225.0/4096.0;
+  prolongation[4](32,56) = 2025.0/4096.0;
+  prolongation[4](32,57) = -675.0/4096.0;
+  prolongation[4](32,58) = 2025.0/4096.0;
+  prolongation[4](32,59) = -675.0/4096.0;
+  prolongation[4](32,60) = -675.0/4096.0;
+  prolongation[4](32,61) = 225.0/4096.0;
+  prolongation[4](32,62) = -675.0/4096.0;
+  prolongation[4](32,63) = 225.0/4096.0;
+  prolongation[4](33,8) = -5.0/256.0;
+  prolongation[4](33,12) = -1.0/256.0;
+  prolongation[4](33,16) = -5.0/256.0;
+  prolongation[4](33,20) = -1.0/256.0;
+  prolongation[4](33,32) = -15.0/256.0;
+  prolongation[4](33,34) = 5.0/256.0;
+  prolongation[4](33,36) = -15.0/256.0;
+  prolongation[4](33,38) = 5.0/256.0;
+  prolongation[4](33,40) = 45.0/256.0;
+  prolongation[4](33,42) = 45.0/256.0;
+  prolongation[4](33,48) = 9.0/256.0;
+  prolongation[4](33,50) = 9.0/256.0;
+  prolongation[4](33,56) = 135.0/256.0;
+  prolongation[4](33,58) = 135.0/256.0;
+  prolongation[4](33,60) = -45.0/256.0;
+  prolongation[4](33,62) = -45.0/256.0;
+  prolongation[4](34,10) = -1.0/256.0;
+  prolongation[4](34,14) = -5.0/256.0;
+  prolongation[4](34,18) = -1.0/256.0;
+  prolongation[4](34,22) = -5.0/256.0;
+  prolongation[4](34,32) = -15.0/256.0;
+  prolongation[4](34,33) = 5.0/256.0;
+  prolongation[4](34,36) = -15.0/256.0;
+  prolongation[4](34,37) = 5.0/256.0;
+  prolongation[4](34,44) = 9.0/256.0;
+  prolongation[4](34,45) = 9.0/256.0;
+  prolongation[4](34,52) = 45.0/256.0;
+  prolongation[4](34,53) = 45.0/256.0;
+  prolongation[4](34,56) = 135.0/256.0;
+  prolongation[4](34,57) = -45.0/256.0;
+  prolongation[4](34,58) = 135.0/256.0;
+  prolongation[4](34,59) = -45.0/256.0;
+  prolongation[4](35,32) = -1.0/16.0;
+  prolongation[4](35,36) = -1.0/16.0;
+  prolongation[4](35,56) = 9.0/16.0;
+  prolongation[4](35,58) = 9.0/16.0;
+  prolongation[4](36,4) = 25.0/256.0;
+  prolongation[4](36,5) = 5.0/256.0;
+  prolongation[4](36,6) = 1.0/256.0;
+  prolongation[4](36,7) = 5.0/256.0;
+  prolongation[4](36,16) = 75.0/256.0;
+  prolongation[4](36,17) = -25.0/256.0;
+  prolongation[4](36,18) = 15.0/256.0;
+  prolongation[4](36,19) = -5.0/256.0;
+  prolongation[4](36,20) = 15.0/256.0;
+  prolongation[4](36,21) = -5.0/256.0;
+  prolongation[4](36,22) = 75.0/256.0;
+  prolongation[4](36,23) = -25.0/256.0;
+  prolongation[4](36,36) = 225.0/256.0;
+  prolongation[4](36,37) = -75.0/256.0;
+  prolongation[4](36,38) = -75.0/256.0;
+  prolongation[4](36,39) = 25.0/256.0;
+  prolongation[4](37,16) = 5.0/16.0;
+  prolongation[4](37,20) = 1.0/16.0;
+  prolongation[4](37,36) = 15.0/16.0;
+  prolongation[4](37,38) = -5.0/16.0;
+  prolongation[4](38,18) = 1.0/16.0;
+  prolongation[4](38,22) = 5.0/16.0;
+  prolongation[4](38,36) = 15.0/16.0;
+  prolongation[4](38,37) = -5.0/16.0;
+  prolongation[4](39,36) = 1.0;
+  prolongation[4](40,25) = 5.0/16.0;
+  prolongation[4](40,27) = 1.0/16.0;
+  prolongation[4](40,42) = 15.0/16.0;
+  prolongation[4](40,43) = -5.0/16.0;
+  prolongation[4](41,42) = 1.0;
+  prolongation[4](42,0) = 5.0/256.0;
+  prolongation[4](42,1) = 1.0/256.0;
+  prolongation[4](42,4) = 25.0/256.0;
+  prolongation[4](42,5) = 5.0/256.0;
+  prolongation[4](42,8) = 15.0/256.0;
+  prolongation[4](42,9) = -5.0/256.0;
+  prolongation[4](42,16) = 75.0/256.0;
+  prolongation[4](42,17) = -25.0/256.0;
+  prolongation[4](42,24) = -25.0/256.0;
+  prolongation[4](42,25) = 75.0/256.0;
+  prolongation[4](42,26) = -5.0/256.0;
+  prolongation[4](42,27) = 15.0/256.0;
+  prolongation[4](42,40) = -75.0/256.0;
+  prolongation[4](42,41) = 25.0/256.0;
+  prolongation[4](42,42) = 225.0/256.0;
+  prolongation[4](42,43) = -75.0/256.0;
+  prolongation[4](43,8) = 1.0/16.0;
+  prolongation[4](43,16) = 5.0/16.0;
+  prolongation[4](43,40) = -5.0/16.0;
+  prolongation[4](43,42) = 15.0/16.0;
+  prolongation[4](44,25) = -5.0/256.0;
+  prolongation[4](44,27) = -5.0/256.0;
+  prolongation[4](44,29) = -1.0/256.0;
+  prolongation[4](44,31) = -1.0/256.0;
+  prolongation[4](44,42) = 45.0/256.0;
+  prolongation[4](44,43) = 45.0/256.0;
+  prolongation[4](44,45) = -15.0/256.0;
+  prolongation[4](44,47) = 5.0/256.0;
+  prolongation[4](44,50) = 9.0/256.0;
+  prolongation[4](44,51) = 9.0/256.0;
+  prolongation[4](44,53) = -15.0/256.0;
+  prolongation[4](44,55) = 5.0/256.0;
+  prolongation[4](44,58) = 135.0/256.0;
+  prolongation[4](44,59) = 135.0/256.0;
+  prolongation[4](44,62) = -45.0/256.0;
+  prolongation[4](44,63) = -45.0/256.0;
+  prolongation[4](45,0) = -5.0/4096.0;
+  prolongation[4](45,1) = -5.0/4096.0;
+  prolongation[4](45,2) = -1.0/4096.0;
+  prolongation[4](45,3) = -1.0/4096.0;
+  prolongation[4](45,4) = -25.0/4096.0;
+  prolongation[4](45,5) = -25.0/4096.0;
+  prolongation[4](45,6) = -5.0/4096.0;
+  prolongation[4](45,7) = -5.0/4096.0;
+  prolongation[4](45,8) = 45.0/4096.0;
+  prolongation[4](45,9) = 45.0/4096.0;
+  prolongation[4](45,10) = -15.0/4096.0;
+  prolongation[4](45,11) = 5.0/4096.0;
+  prolongation[4](45,12) = 9.0/4096.0;
+  prolongation[4](45,13) = 9.0/4096.0;
+  prolongation[4](45,14) = -15.0/4096.0;
+  prolongation[4](45,15) = 5.0/4096.0;
+  prolongation[4](45,16) = 225.0/4096.0;
+  prolongation[4](45,17) = 225.0/4096.0;
+  prolongation[4](45,18) = -75.0/4096.0;
+  prolongation[4](45,19) = 25.0/4096.0;
+  prolongation[4](45,20) = 45.0/4096.0;
+  prolongation[4](45,21) = 45.0/4096.0;
+  prolongation[4](45,22) = -75.0/4096.0;
+  prolongation[4](45,23) = 25.0/4096.0;
+  prolongation[4](45,24) = 25.0/4096.0;
+  prolongation[4](45,25) = -75.0/4096.0;
+  prolongation[4](45,26) = 25.0/4096.0;
+  prolongation[4](45,27) = -75.0/4096.0;
+  prolongation[4](45,28) = 5.0/4096.0;
+  prolongation[4](45,29) = -15.0/4096.0;
+  prolongation[4](45,30) = 5.0/4096.0;
+  prolongation[4](45,31) = -15.0/4096.0;
+  prolongation[4](45,32) = 135.0/4096.0;
+  prolongation[4](45,33) = 135.0/4096.0;
+  prolongation[4](45,34) = -45.0/4096.0;
+  prolongation[4](45,35) = -45.0/4096.0;
+  prolongation[4](45,36) = 675.0/4096.0;
+  prolongation[4](45,37) = 675.0/4096.0;
+  prolongation[4](45,38) = -225.0/4096.0;
+  prolongation[4](45,39) = -225.0/4096.0;
+  prolongation[4](45,40) = -225.0/4096.0;
+  prolongation[4](45,41) = -225.0/4096.0;
+  prolongation[4](45,42) = 675.0/4096.0;
+  prolongation[4](45,43) = 675.0/4096.0;
+  prolongation[4](45,44) = 75.0/4096.0;
+  prolongation[4](45,45) = -225.0/4096.0;
+  prolongation[4](45,46) = -25.0/4096.0;
+  prolongation[4](45,47) = 75.0/4096.0;
+  prolongation[4](45,48) = -45.0/4096.0;
+  prolongation[4](45,49) = -45.0/4096.0;
+  prolongation[4](45,50) = 135.0/4096.0;
+  prolongation[4](45,51) = 135.0/4096.0;
+  prolongation[4](45,52) = 75.0/4096.0;
+  prolongation[4](45,53) = -225.0/4096.0;
+  prolongation[4](45,54) = -25.0/4096.0;
+  prolongation[4](45,55) = 75.0/4096.0;
+  prolongation[4](45,56) = -675.0/4096.0;
+  prolongation[4](45,57) = -675.0/4096.0;
+  prolongation[4](45,58) = 2025.0/4096.0;
+  prolongation[4](45,59) = 2025.0/4096.0;
+  prolongation[4](45,60) = 225.0/4096.0;
+  prolongation[4](45,61) = 225.0/4096.0;
+  prolongation[4](45,62) = -675.0/4096.0;
+  prolongation[4](45,63) = -675.0/4096.0;
+  prolongation[4](46,45) = -1.0/16.0;
+  prolongation[4](46,53) = -1.0/16.0;
+  prolongation[4](46,58) = 9.0/16.0;
+  prolongation[4](46,59) = 9.0/16.0;
+  prolongation[4](47,10) = -1.0/256.0;
+  prolongation[4](47,14) = -1.0/256.0;
+  prolongation[4](47,18) = -5.0/256.0;
+  prolongation[4](47,22) = -5.0/256.0;
+  prolongation[4](47,32) = 9.0/256.0;
+  prolongation[4](47,33) = 9.0/256.0;
+  prolongation[4](47,36) = 45.0/256.0;
+  prolongation[4](47,37) = 45.0/256.0;
+  prolongation[4](47,44) = 5.0/256.0;
+  prolongation[4](47,45) = -15.0/256.0;
+  prolongation[4](47,52) = 5.0/256.0;
+  prolongation[4](47,53) = -15.0/256.0;
+  prolongation[4](47,56) = -45.0/256.0;
+  prolongation[4](47,57) = -45.0/256.0;
+  prolongation[4](47,58) = 135.0/256.0;
+  prolongation[4](47,59) = 135.0/256.0;
+  prolongation[4](48,25) = -5.0/256.0;
+  prolongation[4](48,27) = -1.0/256.0;
+  prolongation[4](48,29) = -1.0/256.0;
+  prolongation[4](48,31) = -5.0/256.0;
+  prolongation[4](48,42) = -15.0/256.0;
+  prolongation[4](48,43) = 5.0/256.0;
+  prolongation[4](48,45) = 9.0/256.0;
+  prolongation[4](48,47) = 9.0/256.0;
+  prolongation[4](48,50) = -15.0/256.0;
+  prolongation[4](48,51) = 5.0/256.0;
+  prolongation[4](48,53) = 45.0/256.0;
+  prolongation[4](48,55) = 45.0/256.0;
+  prolongation[4](48,58) = 135.0/256.0;
+  prolongation[4](48,59) = -45.0/256.0;
+  prolongation[4](48,62) = 135.0/256.0;
+  prolongation[4](48,63) = -45.0/256.0;
+  prolongation[4](49,42) = -1.0/16.0;
+  prolongation[4](49,50) = -1.0/16.0;
+  prolongation[4](49,58) = 9.0/16.0;
+  prolongation[4](49,62) = 9.0/16.0;
+  prolongation[4](50,0) = -5.0/4096.0;
+  prolongation[4](50,1) = -1.0/4096.0;
+  prolongation[4](50,2) = -1.0/4096.0;
+  prolongation[4](50,3) = -5.0/4096.0;
+  prolongation[4](50,4) = -25.0/4096.0;
+  prolongation[4](50,5) = -5.0/4096.0;
+  prolongation[4](50,6) = -5.0/4096.0;
+  prolongation[4](50,7) = -25.0/4096.0;
+  prolongation[4](50,8) = -15.0/4096.0;
+  prolongation[4](50,9) = 5.0/4096.0;
+  prolongation[4](50,10) = 9.0/4096.0;
+  prolongation[4](50,11) = 9.0/4096.0;
+  prolongation[4](50,12) = -15.0/4096.0;
+  prolongation[4](50,13) = 5.0/4096.0;
+  prolongation[4](50,14) = 45.0/4096.0;
+  prolongation[4](50,15) = 45.0/4096.0;
+  prolongation[4](50,16) = -75.0/4096.0;
+  prolongation[4](50,17) = 25.0/4096.0;
+  prolongation[4](50,18) = 45.0/4096.0;
+  prolongation[4](50,19) = 45.0/4096.0;
+  prolongation[4](50,20) = -75.0/4096.0;
+  prolongation[4](50,21) = 25.0/4096.0;
+  prolongation[4](50,22) = 225.0/4096.0;
+  prolongation[4](50,23) = 225.0/4096.0;
+  prolongation[4](50,24) = 25.0/4096.0;
+  prolongation[4](50,25) = -75.0/4096.0;
+  prolongation[4](50,26) = 5.0/4096.0;
+  prolongation[4](50,27) = -15.0/4096.0;
+  prolongation[4](50,28) = 5.0/4096.0;
+  prolongation[4](50,29) = -15.0/4096.0;
+  prolongation[4](50,30) = 25.0/4096.0;
+  prolongation[4](50,31) = -75.0/4096.0;
+  prolongation[4](50,32) = 135.0/4096.0;
+  prolongation[4](50,33) = -45.0/4096.0;
+  prolongation[4](50,34) = 135.0/4096.0;
+  prolongation[4](50,35) = -45.0/4096.0;
+  prolongation[4](50,36) = 675.0/4096.0;
+  prolongation[4](50,37) = -225.0/4096.0;
+  prolongation[4](50,38) = 675.0/4096.0;
+  prolongation[4](50,39) = -225.0/4096.0;
+  prolongation[4](50,40) = 75.0/4096.0;
+  prolongation[4](50,41) = -25.0/4096.0;
+  prolongation[4](50,42) = -225.0/4096.0;
+  prolongation[4](50,43) = 75.0/4096.0;
+  prolongation[4](50,44) = -45.0/4096.0;
+  prolongation[4](50,45) = 135.0/4096.0;
+  prolongation[4](50,46) = -45.0/4096.0;
+  prolongation[4](50,47) = 135.0/4096.0;
+  prolongation[4](50,48) = 75.0/4096.0;
+  prolongation[4](50,49) = -25.0/4096.0;
+  prolongation[4](50,50) = -225.0/4096.0;
+  prolongation[4](50,51) = 75.0/4096.0;
+  prolongation[4](50,52) = -225.0/4096.0;
+  prolongation[4](50,53) = 675.0/4096.0;
+  prolongation[4](50,54) = -225.0/4096.0;
+  prolongation[4](50,55) = 675.0/4096.0;
+  prolongation[4](50,56) = -675.0/4096.0;
+  prolongation[4](50,57) = 225.0/4096.0;
+  prolongation[4](50,58) = 2025.0/4096.0;
+  prolongation[4](50,59) = -675.0/4096.0;
+  prolongation[4](50,60) = -675.0/4096.0;
+  prolongation[4](50,61) = 225.0/4096.0;
+  prolongation[4](50,62) = 2025.0/4096.0;
+  prolongation[4](50,63) = -675.0/4096.0;
+  prolongation[4](51,8) = -1.0/256.0;
+  prolongation[4](51,12) = -1.0/256.0;
+  prolongation[4](51,16) = -5.0/256.0;
+  prolongation[4](51,20) = -5.0/256.0;
+  prolongation[4](51,32) = 9.0/256.0;
+  prolongation[4](51,34) = 9.0/256.0;
+  prolongation[4](51,36) = 45.0/256.0;
+  prolongation[4](51,38) = 45.0/256.0;
+  prolongation[4](51,40) = 5.0/256.0;
+  prolongation[4](51,42) = -15.0/256.0;
+  prolongation[4](51,48) = 5.0/256.0;
+  prolongation[4](51,50) = -15.0/256.0;
+  prolongation[4](51,56) = -45.0/256.0;
+  prolongation[4](51,58) = 135.0/256.0;
+  prolongation[4](51,60) = -45.0/256.0;
+  prolongation[4](51,62) = 135.0/256.0;
+  prolongation[4](52,25) = 5.0/16.0;
+  prolongation[4](52,31) = 1.0/16.0;
+  prolongation[4](52,53) = 15.0/16.0;
+  prolongation[4](52,55) = -5.0/16.0;
+  prolongation[4](53,0) = 5.0/256.0;
+  prolongation[4](53,3) = 1.0/256.0;
+  prolongation[4](53,4) = 25.0/256.0;
+  prolongation[4](53,7) = 5.0/256.0;
+  prolongation[4](53,14) = 15.0/256.0;
+  prolongation[4](53,15) = -5.0/256.0;
+  prolongation[4](53,22) = 75.0/256.0;
+  prolongation[4](53,23) = -25.0/256.0;
+  prolongation[4](53,24) = -25.0/256.0;
+  prolongation[4](53,25) = 75.0/256.0;
+  prolongation[4](53,30) = -5.0/256.0;
+  prolongation[4](53,31) = 15.0/256.0;
+  prolongation[4](53,52) = -75.0/256.0;
+  prolongation[4](53,53) = 225.0/256.0;
+  prolongation[4](53,54) = 25.0/256.0;
+  prolongation[4](53,55) = -75.0/256.0;
+  prolongation[4](54,53) = 1.0;
+  prolongation[4](55,14) = 1.0/16.0;
+  prolongation[4](55,22) = 5.0/16.0;
+  prolongation[4](55,52) = -5.0/16.0;
+  prolongation[4](55,53) = 15.0/16.0;
+  prolongation[4](56,25) = 25.0/256.0;
+  prolongation[4](56,27) = 5.0/256.0;
+  prolongation[4](56,29) = 1.0/256.0;
+  prolongation[4](56,31) = 5.0/256.0;
+  prolongation[4](56,42) = 75.0/256.0;
+  prolongation[4](56,43) = -25.0/256.0;
+  prolongation[4](56,45) = 15.0/256.0;
+  prolongation[4](56,47) = -5.0/256.0;
+  prolongation[4](56,50) = 15.0/256.0;
+  prolongation[4](56,51) = -5.0/256.0;
+  prolongation[4](56,53) = 75.0/256.0;
+  prolongation[4](56,55) = -25.0/256.0;
+  prolongation[4](56,58) = 225.0/256.0;
+  prolongation[4](56,59) = -75.0/256.0;
+  prolongation[4](56,62) = -75.0/256.0;
+  prolongation[4](56,63) = 25.0/256.0;
+  prolongation[4](57,42) = 5.0/16.0;
+  prolongation[4](57,50) = 1.0/16.0;
+  prolongation[4](57,58) = 15.0/16.0;
+  prolongation[4](57,62) = -5.0/16.0;
+  prolongation[4](58,0) = 25.0/4096.0;
+  prolongation[4](58,1) = 5.0/4096.0;
+  prolongation[4](58,2) = 1.0/4096.0;
+  prolongation[4](58,3) = 5.0/4096.0;
+  prolongation[4](58,4) = 125.0/4096.0;
+  prolongation[4](58,5) = 25.0/4096.0;
+  prolongation[4](58,6) = 5.0/4096.0;
+  prolongation[4](58,7) = 25.0/4096.0;
+  prolongation[4](58,8) = 75.0/4096.0;
+  prolongation[4](58,9) = -25.0/4096.0;
+  prolongation[4](58,10) = 15.0/4096.0;
+  prolongation[4](58,11) = -5.0/4096.0;
+  prolongation[4](58,12) = 15.0/4096.0;
+  prolongation[4](58,13) = -5.0/4096.0;
+  prolongation[4](58,14) = 75.0/4096.0;
+  prolongation[4](58,15) = -25.0/4096.0;
+  prolongation[4](58,16) = 375.0/4096.0;
+  prolongation[4](58,17) = -125.0/4096.0;
+  prolongation[4](58,18) = 75.0/4096.0;
+  prolongation[4](58,19) = -25.0/4096.0;
+  prolongation[4](58,20) = 75.0/4096.0;
+  prolongation[4](58,21) = -25.0/4096.0;
+  prolongation[4](58,22) = 375.0/4096.0;
+  prolongation[4](58,23) = -125.0/4096.0;
+  prolongation[4](58,24) = -125.0/4096.0;
+  prolongation[4](58,25) = 375.0/4096.0;
+  prolongation[4](58,26) = -25.0/4096.0;
+  prolongation[4](58,27) = 75.0/4096.0;
+  prolongation[4](58,28) = -5.0/4096.0;
+  prolongation[4](58,29) = 15.0/4096.0;
+  prolongation[4](58,30) = -25.0/4096.0;
+  prolongation[4](58,31) = 75.0/4096.0;
+  prolongation[4](58,32) = 225.0/4096.0;
+  prolongation[4](58,33) = -75.0/4096.0;
+  prolongation[4](58,34) = -75.0/4096.0;
+  prolongation[4](58,35) = 25.0/4096.0;
+  prolongation[4](58,36) = 1125.0/4096.0;
+  prolongation[4](58,37) = -375.0/4096.0;
+  prolongation[4](58,38) = -375.0/4096.0;
+  prolongation[4](58,39) = 125.0/4096.0;
+  prolongation[4](58,40) = -375.0/4096.0;
+  prolongation[4](58,41) = 125.0/4096.0;
+  prolongation[4](58,42) = 1125.0/4096.0;
+  prolongation[4](58,43) = -375.0/4096.0;
+  prolongation[4](58,44) = -75.0/4096.0;
+  prolongation[4](58,45) = 225.0/4096.0;
+  prolongation[4](58,46) = 25.0/4096.0;
+  prolongation[4](58,47) = -75.0/4096.0;
+  prolongation[4](58,48) = -75.0/4096.0;
+  prolongation[4](58,49) = 25.0/4096.0;
+  prolongation[4](58,50) = 225.0/4096.0;
+  prolongation[4](58,51) = -75.0/4096.0;
+  prolongation[4](58,52) = -375.0/4096.0;
+  prolongation[4](58,53) = 1125.0/4096.0;
+  prolongation[4](58,54) = 125.0/4096.0;
+  prolongation[4](58,55) = -375.0/4096.0;
+  prolongation[4](58,56) = -1125.0/4096.0;
+  prolongation[4](58,57) = 375.0/4096.0;
+  prolongation[4](58,58) = 3375.0/4096.0;
+  prolongation[4](58,59) = -1125.0/4096.0;
+  prolongation[4](58,60) = 375.0/4096.0;
+  prolongation[4](58,61) = -125.0/4096.0;
+  prolongation[4](58,62) = -1125.0/4096.0;
+  prolongation[4](58,63) = 375.0/4096.0;
+  prolongation[4](59,8) = 5.0/256.0;
+  prolongation[4](59,12) = 1.0/256.0;
+  prolongation[4](59,16) = 25.0/256.0;
+  prolongation[4](59,20) = 5.0/256.0;
+  prolongation[4](59,32) = 15.0/256.0;
+  prolongation[4](59,34) = -5.0/256.0;
+  prolongation[4](59,36) = 75.0/256.0;
+  prolongation[4](59,38) = -25.0/256.0;
+  prolongation[4](59,40) = -25.0/256.0;
+  prolongation[4](59,42) = 75.0/256.0;
+  prolongation[4](59,48) = -5.0/256.0;
+  prolongation[4](59,50) = 15.0/256.0;
+  prolongation[4](59,56) = -75.0/256.0;
+  prolongation[4](59,58) = 225.0/256.0;
+  prolongation[4](59,60) = 25.0/256.0;
+  prolongation[4](59,62) = -75.0/256.0;
+  prolongation[4](60,45) = 1.0/16.0;
+  prolongation[4](60,53) = 5.0/16.0;
+  prolongation[4](60,58) = 15.0/16.0;
+  prolongation[4](60,59) = -5.0/16.0;
+  prolongation[4](61,58) = 1.0;
+  prolongation[4](62,10) = 1.0/256.0;
+  prolongation[4](62,14) = 5.0/256.0;
+  prolongation[4](62,18) = 5.0/256.0;
+  prolongation[4](62,22) = 25.0/256.0;
+  prolongation[4](62,32) = 15.0/256.0;
+  prolongation[4](62,33) = -5.0/256.0;
+  prolongation[4](62,36) = 75.0/256.0;
+  prolongation[4](62,37) = -25.0/256.0;
+  prolongation[4](62,44) = -5.0/256.0;
+  prolongation[4](62,45) = 15.0/256.0;
+  prolongation[4](62,52) = -25.0/256.0;
+  prolongation[4](62,53) = 75.0/256.0;
+  prolongation[4](62,56) = -75.0/256.0;
+  prolongation[4](62,57) = 25.0/256.0;
+  prolongation[4](62,58) = 225.0/256.0;
+  prolongation[4](62,59) = -75.0/256.0;
+  prolongation[4](63,32) = 1.0/16.0;
+  prolongation[4](63,36) = 5.0/16.0;
+  prolongation[4](63,56) = -5.0/16.0;
+  prolongation[4](63,58) = 15.0/16.0;
+  prolongation[5](0,0) = 1.0/256.0;
+  prolongation[5](0,1) = 1.0/256.0;
+  prolongation[5](0,4) = 1.0/256.0;
+  prolongation[5](0,5) = 1.0/256.0;
+  prolongation[5](0,8) = -9.0/256.0;
+  prolongation[5](0,9) = -9.0/256.0;
+  prolongation[5](0,16) = -9.0/256.0;
+  prolongation[5](0,17) = -9.0/256.0;
+  prolongation[5](0,24) = -9.0/256.0;
+  prolongation[5](0,25) = -9.0/256.0;
+  prolongation[5](0,26) = -9.0/256.0;
+  prolongation[5](0,27) = -9.0/256.0;
+  prolongation[5](0,40) = 81.0/256.0;
+  prolongation[5](0,41) = 81.0/256.0;
+  prolongation[5](0,42) = 81.0/256.0;
+  prolongation[5](0,43) = 81.0/256.0;
+  prolongation[5](1,1) = -1.0/16.0;
+  prolongation[5](1,5) = -1.0/16.0;
+  prolongation[5](1,26) = 9.0/16.0;
+  prolongation[5](1,27) = 9.0/16.0;
+  prolongation[5](2,1) = 1.0/256.0;
+  prolongation[5](2,2) = 1.0/256.0;
+  prolongation[5](2,5) = 1.0/256.0;
+  prolongation[5](2,6) = 1.0/256.0;
+  prolongation[5](2,10) = -9.0/256.0;
+  prolongation[5](2,11) = -9.0/256.0;
+  prolongation[5](2,18) = -9.0/256.0;
+  prolongation[5](2,19) = -9.0/256.0;
+  prolongation[5](2,26) = -9.0/256.0;
+  prolongation[5](2,27) = -9.0/256.0;
+  prolongation[5](2,28) = -9.0/256.0;
+  prolongation[5](2,29) = -9.0/256.0;
+  prolongation[5](2,44) = 81.0/256.0;
+  prolongation[5](2,45) = 81.0/256.0;
+  prolongation[5](2,46) = 81.0/256.0;
+  prolongation[5](2,47) = 81.0/256.0;
+  prolongation[5](3,0) = -1.0/4096.0;
+  prolongation[5](3,1) = -1.0/4096.0;
+  prolongation[5](3,2) = -1.0/4096.0;
+  prolongation[5](3,3) = -1.0/4096.0;
+  prolongation[5](3,4) = -1.0/4096.0;
+  prolongation[5](3,5) = -1.0/4096.0;
+  prolongation[5](3,6) = -1.0/4096.0;
+  prolongation[5](3,7) = -1.0/4096.0;
+  prolongation[5](3,8) = 9.0/4096.0;
+  prolongation[5](3,9) = 9.0/4096.0;
+  prolongation[5](3,10) = 9.0/4096.0;
+  prolongation[5](3,11) = 9.0/4096.0;
+  prolongation[5](3,12) = 9.0/4096.0;
+  prolongation[5](3,13) = 9.0/4096.0;
+  prolongation[5](3,14) = 9.0/4096.0;
+  prolongation[5](3,15) = 9.0/4096.0;
+  prolongation[5](3,16) = 9.0/4096.0;
+  prolongation[5](3,17) = 9.0/4096.0;
+  prolongation[5](3,18) = 9.0/4096.0;
+  prolongation[5](3,19) = 9.0/4096.0;
+  prolongation[5](3,20) = 9.0/4096.0;
+  prolongation[5](3,21) = 9.0/4096.0;
+  prolongation[5](3,22) = 9.0/4096.0;
+  prolongation[5](3,23) = 9.0/4096.0;
+  prolongation[5](3,24) = 9.0/4096.0;
+  prolongation[5](3,25) = 9.0/4096.0;
+  prolongation[5](3,26) = 9.0/4096.0;
+  prolongation[5](3,27) = 9.0/4096.0;
+  prolongation[5](3,28) = 9.0/4096.0;
+  prolongation[5](3,29) = 9.0/4096.0;
+  prolongation[5](3,30) = 9.0/4096.0;
+  prolongation[5](3,31) = 9.0/4096.0;
+  prolongation[5](3,32) = -81.0/4096.0;
+  prolongation[5](3,33) = -81.0/4096.0;
+  prolongation[5](3,34) = -81.0/4096.0;
+  prolongation[5](3,35) = -81.0/4096.0;
+  prolongation[5](3,36) = -81.0/4096.0;
+  prolongation[5](3,37) = -81.0/4096.0;
+  prolongation[5](3,38) = -81.0/4096.0;
+  prolongation[5](3,39) = -81.0/4096.0;
+  prolongation[5](3,40) = -81.0/4096.0;
+  prolongation[5](3,41) = -81.0/4096.0;
+  prolongation[5](3,42) = -81.0/4096.0;
+  prolongation[5](3,43) = -81.0/4096.0;
+  prolongation[5](3,44) = -81.0/4096.0;
+  prolongation[5](3,45) = -81.0/4096.0;
+  prolongation[5](3,46) = -81.0/4096.0;
+  prolongation[5](3,47) = -81.0/4096.0;
+  prolongation[5](3,48) = -81.0/4096.0;
+  prolongation[5](3,49) = -81.0/4096.0;
+  prolongation[5](3,50) = -81.0/4096.0;
+  prolongation[5](3,51) = -81.0/4096.0;
+  prolongation[5](3,52) = -81.0/4096.0;
+  prolongation[5](3,53) = -81.0/4096.0;
+  prolongation[5](3,54) = -81.0/4096.0;
+  prolongation[5](3,55) = -81.0/4096.0;
+  prolongation[5](3,56) = 729.0/4096.0;
+  prolongation[5](3,57) = 729.0/4096.0;
+  prolongation[5](3,58) = 729.0/4096.0;
+  prolongation[5](3,59) = 729.0/4096.0;
+  prolongation[5](3,60) = 729.0/4096.0;
+  prolongation[5](3,61) = 729.0/4096.0;
+  prolongation[5](3,62) = 729.0/4096.0;
+  prolongation[5](3,63) = 729.0/4096.0;
+  prolongation[5](4,4) = -1.0/16.0;
+  prolongation[5](4,5) = -1.0/16.0;
+  prolongation[5](4,16) = 9.0/16.0;
+  prolongation[5](4,17) = 9.0/16.0;
+  prolongation[5](5,5) = 1.0;
+  prolongation[5](6,5) = -1.0/16.0;
+  prolongation[5](6,6) = -1.0/16.0;
+  prolongation[5](6,18) = 9.0/16.0;
+  prolongation[5](6,19) = 9.0/16.0;
+  prolongation[5](7,4) = 1.0/256.0;
+  prolongation[5](7,5) = 1.0/256.0;
+  prolongation[5](7,6) = 1.0/256.0;
+  prolongation[5](7,7) = 1.0/256.0;
+  prolongation[5](7,16) = -9.0/256.0;
+  prolongation[5](7,17) = -9.0/256.0;
+  prolongation[5](7,18) = -9.0/256.0;
+  prolongation[5](7,19) = -9.0/256.0;
+  prolongation[5](7,20) = -9.0/256.0;
+  prolongation[5](7,21) = -9.0/256.0;
+  prolongation[5](7,22) = -9.0/256.0;
+  prolongation[5](7,23) = -9.0/256.0;
+  prolongation[5](7,36) = 81.0/256.0;
+  prolongation[5](7,37) = 81.0/256.0;
+  prolongation[5](7,38) = 81.0/256.0;
+  prolongation[5](7,39) = 81.0/256.0;
+  prolongation[5](8,9) = -1.0/16.0;
+  prolongation[5](8,17) = -1.0/16.0;
+  prolongation[5](8,41) = 9.0/16.0;
+  prolongation[5](8,43) = 9.0/16.0;
+  prolongation[5](9,0) = -1.0/256.0;
+  prolongation[5](9,1) = -5.0/256.0;
+  prolongation[5](9,4) = -1.0/256.0;
+  prolongation[5](9,5) = -5.0/256.0;
+  prolongation[5](9,8) = 5.0/256.0;
+  prolongation[5](9,9) = -15.0/256.0;
+  prolongation[5](9,16) = 5.0/256.0;
+  prolongation[5](9,17) = -15.0/256.0;
+  prolongation[5](9,24) = 9.0/256.0;
+  prolongation[5](9,25) = 9.0/256.0;
+  prolongation[5](9,26) = 45.0/256.0;
+  prolongation[5](9,27) = 45.0/256.0;
+  prolongation[5](9,40) = -45.0/256.0;
+  prolongation[5](9,41) = 135.0/256.0;
+  prolongation[5](9,42) = -45.0/256.0;
+  prolongation[5](9,43) = 135.0/256.0;
+  prolongation[5](10,1) = -5.0/256.0;
+  prolongation[5](10,2) = -1.0/256.0;
+  prolongation[5](10,5) = -5.0/256.0;
+  prolongation[5](10,6) = -1.0/256.0;
+  prolongation[5](10,10) = -15.0/256.0;
+  prolongation[5](10,11) = 5.0/256.0;
+  prolongation[5](10,18) = -15.0/256.0;
+  prolongation[5](10,19) = 5.0/256.0;
+  prolongation[5](10,26) = 45.0/256.0;
+  prolongation[5](10,27) = 45.0/256.0;
+  prolongation[5](10,28) = 9.0/256.0;
+  prolongation[5](10,29) = 9.0/256.0;
+  prolongation[5](10,44) = 135.0/256.0;
+  prolongation[5](10,45) = 135.0/256.0;
+  prolongation[5](10,46) = -45.0/256.0;
+  prolongation[5](10,47) = -45.0/256.0;
+  prolongation[5](11,10) = -1.0/16.0;
+  prolongation[5](11,18) = -1.0/16.0;
+  prolongation[5](11,44) = 9.0/16.0;
+  prolongation[5](11,45) = 9.0/16.0;
+  prolongation[5](12,9) = 1.0/256.0;
+  prolongation[5](12,13) = 1.0/256.0;
+  prolongation[5](12,17) = 1.0/256.0;
+  prolongation[5](12,21) = 1.0/256.0;
+  prolongation[5](12,33) = -9.0/256.0;
+  prolongation[5](12,35) = -9.0/256.0;
+  prolongation[5](12,37) = -9.0/256.0;
+  prolongation[5](12,39) = -9.0/256.0;
+  prolongation[5](12,41) = -9.0/256.0;
+  prolongation[5](12,43) = -9.0/256.0;
+  prolongation[5](12,49) = -9.0/256.0;
+  prolongation[5](12,51) = -9.0/256.0;
+  prolongation[5](12,57) = 81.0/256.0;
+  prolongation[5](12,59) = 81.0/256.0;
+  prolongation[5](12,61) = 81.0/256.0;
+  prolongation[5](12,63) = 81.0/256.0;
+  prolongation[5](13,0) = 1.0/4096.0;
+  prolongation[5](13,1) = 5.0/4096.0;
+  prolongation[5](13,2) = 5.0/4096.0;
+  prolongation[5](13,3) = 1.0/4096.0;
+  prolongation[5](13,4) = 1.0/4096.0;
+  prolongation[5](13,5) = 5.0/4096.0;
+  prolongation[5](13,6) = 5.0/4096.0;
+  prolongation[5](13,7) = 1.0/4096.0;
+  prolongation[5](13,8) = -5.0/4096.0;
+  prolongation[5](13,9) = 15.0/4096.0;
+  prolongation[5](13,10) = -45.0/4096.0;
+  prolongation[5](13,11) = -45.0/4096.0;
+  prolongation[5](13,12) = -5.0/4096.0;
+  prolongation[5](13,13) = 15.0/4096.0;
+  prolongation[5](13,14) = -9.0/4096.0;
+  prolongation[5](13,15) = -9.0/4096.0;
+  prolongation[5](13,16) = -5.0/4096.0;
+  prolongation[5](13,17) = 15.0/4096.0;
+  prolongation[5](13,18) = -45.0/4096.0;
+  prolongation[5](13,19) = -45.0/4096.0;
+  prolongation[5](13,20) = -5.0/4096.0;
+  prolongation[5](13,21) = 15.0/4096.0;
+  prolongation[5](13,22) = -9.0/4096.0;
+  prolongation[5](13,23) = -9.0/4096.0;
+  prolongation[5](13,24) = -9.0/4096.0;
+  prolongation[5](13,25) = -9.0/4096.0;
+  prolongation[5](13,26) = -45.0/4096.0;
+  prolongation[5](13,27) = -45.0/4096.0;
+  prolongation[5](13,28) = -45.0/4096.0;
+  prolongation[5](13,29) = -45.0/4096.0;
+  prolongation[5](13,30) = -9.0/4096.0;
+  prolongation[5](13,31) = -9.0/4096.0;
+  prolongation[5](13,32) = 45.0/4096.0;
+  prolongation[5](13,33) = -135.0/4096.0;
+  prolongation[5](13,34) = 45.0/4096.0;
+  prolongation[5](13,35) = -135.0/4096.0;
+  prolongation[5](13,36) = 45.0/4096.0;
+  prolongation[5](13,37) = -135.0/4096.0;
+  prolongation[5](13,38) = 45.0/4096.0;
+  prolongation[5](13,39) = -135.0/4096.0;
+  prolongation[5](13,40) = 45.0/4096.0;
+  prolongation[5](13,41) = -135.0/4096.0;
+  prolongation[5](13,42) = 45.0/4096.0;
+  prolongation[5](13,43) = -135.0/4096.0;
+  prolongation[5](13,44) = 405.0/4096.0;
+  prolongation[5](13,45) = 405.0/4096.0;
+  prolongation[5](13,46) = 405.0/4096.0;
+  prolongation[5](13,47) = 405.0/4096.0;
+  prolongation[5](13,48) = 45.0/4096.0;
+  prolongation[5](13,49) = -135.0/4096.0;
+  prolongation[5](13,50) = 45.0/4096.0;
+  prolongation[5](13,51) = -135.0/4096.0;
+  prolongation[5](13,52) = 81.0/4096.0;
+  prolongation[5](13,53) = 81.0/4096.0;
+  prolongation[5](13,54) = 81.0/4096.0;
+  prolongation[5](13,55) = 81.0/4096.0;
+  prolongation[5](13,56) = -405.0/4096.0;
+  prolongation[5](13,57) = 1215.0/4096.0;
+  prolongation[5](13,58) = -405.0/4096.0;
+  prolongation[5](13,59) = 1215.0/4096.0;
+  prolongation[5](13,60) = -405.0/4096.0;
+  prolongation[5](13,61) = 1215.0/4096.0;
+  prolongation[5](13,62) = -405.0/4096.0;
+  prolongation[5](13,63) = 1215.0/4096.0;
+  prolongation[5](14,0) = 5.0/4096.0;
+  prolongation[5](14,1) = 5.0/4096.0;
+  prolongation[5](14,2) = 1.0/4096.0;
+  prolongation[5](14,3) = 1.0/4096.0;
+  prolongation[5](14,4) = 5.0/4096.0;
+  prolongation[5](14,5) = 5.0/4096.0;
+  prolongation[5](14,6) = 1.0/4096.0;
+  prolongation[5](14,7) = 1.0/4096.0;
+  prolongation[5](14,8) = -45.0/4096.0;
+  prolongation[5](14,9) = -45.0/4096.0;
+  prolongation[5](14,10) = 15.0/4096.0;
+  prolongation[5](14,11) = -5.0/4096.0;
+  prolongation[5](14,12) = -9.0/4096.0;
+  prolongation[5](14,13) = -9.0/4096.0;
+  prolongation[5](14,14) = 15.0/4096.0;
+  prolongation[5](14,15) = -5.0/4096.0;
+  prolongation[5](14,16) = -45.0/4096.0;
+  prolongation[5](14,17) = -45.0/4096.0;
+  prolongation[5](14,18) = 15.0/4096.0;
+  prolongation[5](14,19) = -5.0/4096.0;
+  prolongation[5](14,20) = -9.0/4096.0;
+  prolongation[5](14,21) = -9.0/4096.0;
+  prolongation[5](14,22) = 15.0/4096.0;
+  prolongation[5](14,23) = -5.0/4096.0;
+  prolongation[5](14,24) = -45.0/4096.0;
+  prolongation[5](14,25) = -45.0/4096.0;
+  prolongation[5](14,26) = -45.0/4096.0;
+  prolongation[5](14,27) = -45.0/4096.0;
+  prolongation[5](14,28) = -9.0/4096.0;
+  prolongation[5](14,29) = -9.0/4096.0;
+  prolongation[5](14,30) = -9.0/4096.0;
+  prolongation[5](14,31) = -9.0/4096.0;
+  prolongation[5](14,32) = -135.0/4096.0;
+  prolongation[5](14,33) = -135.0/4096.0;
+  prolongation[5](14,34) = 45.0/4096.0;
+  prolongation[5](14,35) = 45.0/4096.0;
+  prolongation[5](14,36) = -135.0/4096.0;
+  prolongation[5](14,37) = -135.0/4096.0;
+  prolongation[5](14,38) = 45.0/4096.0;
+  prolongation[5](14,39) = 45.0/4096.0;
+  prolongation[5](14,40) = 405.0/4096.0;
+  prolongation[5](14,41) = 405.0/4096.0;
+  prolongation[5](14,42) = 405.0/4096.0;
+  prolongation[5](14,43) = 405.0/4096.0;
+  prolongation[5](14,44) = -135.0/4096.0;
+  prolongation[5](14,45) = -135.0/4096.0;
+  prolongation[5](14,46) = 45.0/4096.0;
+  prolongation[5](14,47) = 45.0/4096.0;
+  prolongation[5](14,48) = 81.0/4096.0;
+  prolongation[5](14,49) = 81.0/4096.0;
+  prolongation[5](14,50) = 81.0/4096.0;
+  prolongation[5](14,51) = 81.0/4096.0;
+  prolongation[5](14,52) = -135.0/4096.0;
+  prolongation[5](14,53) = -135.0/4096.0;
+  prolongation[5](14,54) = 45.0/4096.0;
+  prolongation[5](14,55) = 45.0/4096.0;
+  prolongation[5](14,56) = 1215.0/4096.0;
+  prolongation[5](14,57) = 1215.0/4096.0;
+  prolongation[5](14,58) = 1215.0/4096.0;
+  prolongation[5](14,59) = 1215.0/4096.0;
+  prolongation[5](14,60) = -405.0/4096.0;
+  prolongation[5](14,61) = -405.0/4096.0;
+  prolongation[5](14,62) = -405.0/4096.0;
+  prolongation[5](14,63) = -405.0/4096.0;
+  prolongation[5](15,10) = 1.0/256.0;
+  prolongation[5](15,14) = 1.0/256.0;
+  prolongation[5](15,18) = 1.0/256.0;
+  prolongation[5](15,22) = 1.0/256.0;
+  prolongation[5](15,32) = -9.0/256.0;
+  prolongation[5](15,33) = -9.0/256.0;
+  prolongation[5](15,36) = -9.0/256.0;
+  prolongation[5](15,37) = -9.0/256.0;
+  prolongation[5](15,44) = -9.0/256.0;
+  prolongation[5](15,45) = -9.0/256.0;
+  prolongation[5](15,52) = -9.0/256.0;
+  prolongation[5](15,53) = -9.0/256.0;
+  prolongation[5](15,56) = 81.0/256.0;
+  prolongation[5](15,57) = 81.0/256.0;
+  prolongation[5](15,58) = 81.0/256.0;
+  prolongation[5](15,59) = 81.0/256.0;
+  prolongation[5](16,17) = 1.0;
+  prolongation[5](17,4) = 1.0/16.0;
+  prolongation[5](17,5) = 5.0/16.0;
+  prolongation[5](17,16) = -5.0/16.0;
+  prolongation[5](17,17) = 15.0/16.0;
+  prolongation[5](18,5) = 5.0/16.0;
+  prolongation[5](18,6) = 1.0/16.0;
+  prolongation[5](18,18) = 15.0/16.0;
+  prolongation[5](18,19) = -5.0/16.0;
+  prolongation[5](19,18) = 1.0;
+  prolongation[5](20,17) = -1.0/16.0;
+  prolongation[5](20,21) = -1.0/16.0;
+  prolongation[5](20,37) = 9.0/16.0;
+  prolongation[5](20,39) = 9.0/16.0;
+  prolongation[5](21,4) = -1.0/256.0;
+  prolongation[5](21,5) = -5.0/256.0;
+  prolongation[5](21,6) = -5.0/256.0;
+  prolongation[5](21,7) = -1.0/256.0;
+  prolongation[5](21,16) = 5.0/256.0;
+  prolongation[5](21,17) = -15.0/256.0;
+  prolongation[5](21,18) = 45.0/256.0;
+  prolongation[5](21,19) = 45.0/256.0;
+  prolongation[5](21,20) = 5.0/256.0;
+  prolongation[5](21,21) = -15.0/256.0;
+  prolongation[5](21,22) = 9.0/256.0;
+  prolongation[5](21,23) = 9.0/256.0;
+  prolongation[5](21,36) = -45.0/256.0;
+  prolongation[5](21,37) = 135.0/256.0;
+  prolongation[5](21,38) = -45.0/256.0;
+  prolongation[5](21,39) = 135.0/256.0;
+  prolongation[5](22,4) = -5.0/256.0;
+  prolongation[5](22,5) = -5.0/256.0;
+  prolongation[5](22,6) = -1.0/256.0;
+  prolongation[5](22,7) = -1.0/256.0;
+  prolongation[5](22,16) = 45.0/256.0;
+  prolongation[5](22,17) = 45.0/256.0;
+  prolongation[5](22,18) = -15.0/256.0;
+  prolongation[5](22,19) = 5.0/256.0;
+  prolongation[5](22,20) = 9.0/256.0;
+  prolongation[5](22,21) = 9.0/256.0;
+  prolongation[5](22,22) = -15.0/256.0;
+  prolongation[5](22,23) = 5.0/256.0;
+  prolongation[5](22,36) = 135.0/256.0;
+  prolongation[5](22,37) = 135.0/256.0;
+  prolongation[5](22,38) = -45.0/256.0;
+  prolongation[5](22,39) = -45.0/256.0;
+  prolongation[5](23,18) = -1.0/16.0;
+  prolongation[5](23,22) = -1.0/16.0;
+  prolongation[5](23,36) = 9.0/16.0;
+  prolongation[5](23,37) = 9.0/16.0;
+  prolongation[5](24,25) = -1.0/16.0;
+  prolongation[5](24,27) = -1.0/16.0;
+  prolongation[5](24,42) = 9.0/16.0;
+  prolongation[5](24,43) = 9.0/16.0;
+  prolongation[5](25,0) = -1.0/256.0;
+  prolongation[5](25,1) = -1.0/256.0;
+  prolongation[5](25,4) = -5.0/256.0;
+  prolongation[5](25,5) = -5.0/256.0;
+  prolongation[5](25,8) = 9.0/256.0;
+  prolongation[5](25,9) = 9.0/256.0;
+  prolongation[5](25,16) = 45.0/256.0;
+  prolongation[5](25,17) = 45.0/256.0;
+  prolongation[5](25,24) = 5.0/256.0;
+  prolongation[5](25,25) = -15.0/256.0;
+  prolongation[5](25,26) = 5.0/256.0;
+  prolongation[5](25,27) = -15.0/256.0;
+  prolongation[5](25,40) = -45.0/256.0;
+  prolongation[5](25,41) = -45.0/256.0;
+  prolongation[5](25,42) = 135.0/256.0;
+  prolongation[5](25,43) = 135.0/256.0;
+  prolongation[5](26,27) = 1.0;
+  prolongation[5](27,1) = 1.0/16.0;
+  prolongation[5](27,5) = 5.0/16.0;
+  prolongation[5](27,26) = -5.0/16.0;
+  prolongation[5](27,27) = 15.0/16.0;
+  prolongation[5](28,27) = -1.0/16.0;
+  prolongation[5](28,29) = -1.0/16.0;
+  prolongation[5](28,45) = 9.0/16.0;
+  prolongation[5](28,47) = 9.0/16.0;
+  prolongation[5](29,1) = -1.0/256.0;
+  prolongation[5](29,2) = -1.0/256.0;
+  prolongation[5](29,5) = -5.0/256.0;
+  prolongation[5](29,6) = -5.0/256.0;
+  prolongation[5](29,10) = 9.0/256.0;
+  prolongation[5](29,11) = 9.0/256.0;
+  prolongation[5](29,18) = 45.0/256.0;
+  prolongation[5](29,19) = 45.0/256.0;
+  prolongation[5](29,26) = 5.0/256.0;
+  prolongation[5](29,27) = -15.0/256.0;
+  prolongation[5](29,28) = 5.0/256.0;
+  prolongation[5](29,29) = -15.0/256.0;
+  prolongation[5](29,44) = -45.0/256.0;
+  prolongation[5](29,45) = 135.0/256.0;
+  prolongation[5](29,46) = -45.0/256.0;
+  prolongation[5](29,47) = 135.0/256.0;
+  prolongation[5](30,25) = 1.0/256.0;
+  prolongation[5](30,27) = 1.0/256.0;
+  prolongation[5](30,29) = 1.0/256.0;
+  prolongation[5](30,31) = 1.0/256.0;
+  prolongation[5](30,42) = -9.0/256.0;
+  prolongation[5](30,43) = -9.0/256.0;
+  prolongation[5](30,45) = -9.0/256.0;
+  prolongation[5](30,47) = -9.0/256.0;
+  prolongation[5](30,50) = -9.0/256.0;
+  prolongation[5](30,51) = -9.0/256.0;
+  prolongation[5](30,53) = -9.0/256.0;
+  prolongation[5](30,55) = -9.0/256.0;
+  prolongation[5](30,58) = 81.0/256.0;
+  prolongation[5](30,59) = 81.0/256.0;
+  prolongation[5](30,62) = 81.0/256.0;
+  prolongation[5](30,63) = 81.0/256.0;
+  prolongation[5](31,0) = 1.0/4096.0;
+  prolongation[5](31,1) = 1.0/4096.0;
+  prolongation[5](31,2) = 1.0/4096.0;
+  prolongation[5](31,3) = 1.0/4096.0;
+  prolongation[5](31,4) = 5.0/4096.0;
+  prolongation[5](31,5) = 5.0/4096.0;
+  prolongation[5](31,6) = 5.0/4096.0;
+  prolongation[5](31,7) = 5.0/4096.0;
+  prolongation[5](31,8) = -9.0/4096.0;
+  prolongation[5](31,9) = -9.0/4096.0;
+  prolongation[5](31,10) = -9.0/4096.0;
+  prolongation[5](31,11) = -9.0/4096.0;
+  prolongation[5](31,12) = -9.0/4096.0;
+  prolongation[5](31,13) = -9.0/4096.0;
+  prolongation[5](31,14) = -9.0/4096.0;
+  prolongation[5](31,15) = -9.0/4096.0;
+  prolongation[5](31,16) = -45.0/4096.0;
+  prolongation[5](31,17) = -45.0/4096.0;
+  prolongation[5](31,18) = -45.0/4096.0;
+  prolongation[5](31,19) = -45.0/4096.0;
+  prolongation[5](31,20) = -45.0/4096.0;
+  prolongation[5](31,21) = -45.0/4096.0;
+  prolongation[5](31,22) = -45.0/4096.0;
+  prolongation[5](31,23) = -45.0/4096.0;
+  prolongation[5](31,24) = -5.0/4096.0;
+  prolongation[5](31,25) = 15.0/4096.0;
+  prolongation[5](31,26) = -5.0/4096.0;
+  prolongation[5](31,27) = 15.0/4096.0;
+  prolongation[5](31,28) = -5.0/4096.0;
+  prolongation[5](31,29) = 15.0/4096.0;
+  prolongation[5](31,30) = -5.0/4096.0;
+  prolongation[5](31,31) = 15.0/4096.0;
+  prolongation[5](31,32) = 81.0/4096.0;
+  prolongation[5](31,33) = 81.0/4096.0;
+  prolongation[5](31,34) = 81.0/4096.0;
+  prolongation[5](31,35) = 81.0/4096.0;
+  prolongation[5](31,36) = 405.0/4096.0;
+  prolongation[5](31,37) = 405.0/4096.0;
+  prolongation[5](31,38) = 405.0/4096.0;
+  prolongation[5](31,39) = 405.0/4096.0;
+  prolongation[5](31,40) = 45.0/4096.0;
+  prolongation[5](31,41) = 45.0/4096.0;
+  prolongation[5](31,42) = -135.0/4096.0;
+  prolongation[5](31,43) = -135.0/4096.0;
+  prolongation[5](31,44) = 45.0/4096.0;
+  prolongation[5](31,45) = -135.0/4096.0;
+  prolongation[5](31,46) = 45.0/4096.0;
+  prolongation[5](31,47) = -135.0/4096.0;
+  prolongation[5](31,48) = 45.0/4096.0;
+  prolongation[5](31,49) = 45.0/4096.0;
+  prolongation[5](31,50) = -135.0/4096.0;
+  prolongation[5](31,51) = -135.0/4096.0;
+  prolongation[5](31,52) = 45.0/4096.0;
+  prolongation[5](31,53) = -135.0/4096.0;
+  prolongation[5](31,54) = 45.0/4096.0;
+  prolongation[5](31,55) = -135.0/4096.0;
+  prolongation[5](31,56) = -405.0/4096.0;
+  prolongation[5](31,57) = -405.0/4096.0;
+  prolongation[5](31,58) = 1215.0/4096.0;
+  prolongation[5](31,59) = 1215.0/4096.0;
+  prolongation[5](31,60) = -405.0/4096.0;
+  prolongation[5](31,61) = -405.0/4096.0;
+  prolongation[5](31,62) = 1215.0/4096.0;
+  prolongation[5](31,63) = 1215.0/4096.0;
+  prolongation[5](32,9) = -5.0/256.0;
+  prolongation[5](32,13) = -1.0/256.0;
+  prolongation[5](32,17) = -5.0/256.0;
+  prolongation[5](32,21) = -1.0/256.0;
+  prolongation[5](32,33) = -15.0/256.0;
+  prolongation[5](32,35) = 5.0/256.0;
+  prolongation[5](32,37) = -15.0/256.0;
+  prolongation[5](32,39) = 5.0/256.0;
+  prolongation[5](32,41) = 45.0/256.0;
+  prolongation[5](32,43) = 45.0/256.0;
+  prolongation[5](32,49) = 9.0/256.0;
+  prolongation[5](32,51) = 9.0/256.0;
+  prolongation[5](32,57) = 135.0/256.0;
+  prolongation[5](32,59) = 135.0/256.0;
+  prolongation[5](32,61) = -45.0/256.0;
+  prolongation[5](32,63) = -45.0/256.0;
+  prolongation[5](33,0) = -5.0/4096.0;
+  prolongation[5](33,1) = -25.0/4096.0;
+  prolongation[5](33,2) = -5.0/4096.0;
+  prolongation[5](33,3) = -1.0/4096.0;
+  prolongation[5](33,4) = -5.0/4096.0;
+  prolongation[5](33,5) = -25.0/4096.0;
+  prolongation[5](33,6) = -5.0/4096.0;
+  prolongation[5](33,7) = -1.0/4096.0;
+  prolongation[5](33,8) = 25.0/4096.0;
+  prolongation[5](33,9) = -75.0/4096.0;
+  prolongation[5](33,10) = -75.0/4096.0;
+  prolongation[5](33,11) = 25.0/4096.0;
+  prolongation[5](33,12) = 5.0/4096.0;
+  prolongation[5](33,13) = -15.0/4096.0;
+  prolongation[5](33,14) = -15.0/4096.0;
+  prolongation[5](33,15) = 5.0/4096.0;
+  prolongation[5](33,16) = 25.0/4096.0;
+  prolongation[5](33,17) = -75.0/4096.0;
+  prolongation[5](33,18) = -75.0/4096.0;
+  prolongation[5](33,19) = 25.0/4096.0;
+  prolongation[5](33,20) = 5.0/4096.0;
+  prolongation[5](33,21) = -15.0/4096.0;
+  prolongation[5](33,22) = -15.0/4096.0;
+  prolongation[5](33,23) = 5.0/4096.0;
+  prolongation[5](33,24) = 45.0/4096.0;
+  prolongation[5](33,25) = 45.0/4096.0;
+  prolongation[5](33,26) = 225.0/4096.0;
+  prolongation[5](33,27) = 225.0/4096.0;
+  prolongation[5](33,28) = 45.0/4096.0;
+  prolongation[5](33,29) = 45.0/4096.0;
+  prolongation[5](33,30) = 9.0/4096.0;
+  prolongation[5](33,31) = 9.0/4096.0;
+  prolongation[5](33,32) = 75.0/4096.0;
+  prolongation[5](33,33) = -225.0/4096.0;
+  prolongation[5](33,34) = -25.0/4096.0;
+  prolongation[5](33,35) = 75.0/4096.0;
+  prolongation[5](33,36) = 75.0/4096.0;
+  prolongation[5](33,37) = -225.0/4096.0;
+  prolongation[5](33,38) = -25.0/4096.0;
+  prolongation[5](33,39) = 75.0/4096.0;
+  prolongation[5](33,40) = -225.0/4096.0;
+  prolongation[5](33,41) = 675.0/4096.0;
+  prolongation[5](33,42) = -225.0/4096.0;
+  prolongation[5](33,43) = 675.0/4096.0;
+  prolongation[5](33,44) = 675.0/4096.0;
+  prolongation[5](33,45) = 675.0/4096.0;
+  prolongation[5](33,46) = -225.0/4096.0;
+  prolongation[5](33,47) = -225.0/4096.0;
+  prolongation[5](33,48) = -45.0/4096.0;
+  prolongation[5](33,49) = 135.0/4096.0;
+  prolongation[5](33,50) = -45.0/4096.0;
+  prolongation[5](33,51) = 135.0/4096.0;
+  prolongation[5](33,52) = 135.0/4096.0;
+  prolongation[5](33,53) = 135.0/4096.0;
+  prolongation[5](33,54) = -45.0/4096.0;
+  prolongation[5](33,55) = -45.0/4096.0;
+  prolongation[5](33,56) = -675.0/4096.0;
+  prolongation[5](33,57) = 2025.0/4096.0;
+  prolongation[5](33,58) = -675.0/4096.0;
       prolongation[5](33,59) = 2025.0/4096.0;
       prolongation[5](33,60) = 225.0/4096.0;
       prolongation[5](33,61) = -675.0/4096.0;
@@ -11393,7 +11393,7 @@ FEQ3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEQ3<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
+void FEQ3<3>::get_unit_support_points (std::vector<Point<3> > &unit_points) const
 {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
@@ -11466,7 +11466,7 @@ void FEQ3<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
 
 template <>
 void FEQ3<3>::get_support_points (const typename DoFHandler<3>::cell_iterator &cell,
-                                 vector<Point<3> >  &support_points) const
+                                 std::vector<Point<3> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (support_points.size(), dofs_per_cell));
@@ -11844,7 +11844,7 @@ void FEQ3<3>::get_support_points (const typename DoFHandler<3>::cell_iterator &c
 
 template <>
 void FEQ3<3>::get_face_support_points (const typename DoFHandler<3>::face_iterator &face,
-                                      vector<Point<3> >  &support_points) const
+                                      std::vector<Point<3> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_face,
          ExcWrongFieldDimension (support_points.size(), dofs_per_face));
@@ -11888,7 +11888,7 @@ void FEQ3<3>::get_face_support_points (const typename DoFHandler<3>::face_iterat
 template <>
 FEQ3<3>::FEQ3 () :
                FEQ1Mapping<3> (1, 2, 4, 8, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   Assert (false, ExcNotImplemented());
 };
@@ -11897,7 +11897,7 @@ FEQ3<3>::FEQ3 () :
 template <>
 FEQ3<3>::FEQ3 (const int) :
                FEQ1Mapping<3> (0, 0, 0, 64, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   Assert (false, ExcNotImplemented());
 };
@@ -11950,7 +11950,7 @@ FEQ3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEQ3<3>::get_unit_support_points (vector<Point<3> > &) const
+void FEQ3<3>::get_unit_support_points (std::vector<Point<3> > &) const
 {
   Assert (false, ExcNotImplemented());
 };
@@ -11958,7 +11958,7 @@ void FEQ3<3>::get_unit_support_points (vector<Point<3> > &) const
 
 template <>
 void FEQ3<3>::get_support_points (const DoFHandler<3>::cell_iterator &,
-                                 vector<Point<3> >  &) const
+                                 std::vector<Point<3> >  &) const
 {
   Assert (false, ExcNotImplemented());
 };
@@ -11966,7 +11966,7 @@ void FEQ3<3>::get_support_points (const DoFHandler<3>::cell_iterator &,
 
 template <>
 void FEQ3<3>::get_face_support_points (const DoFHandler<3>::face_iterator &,
-                                      vector<Point<3> >  &) const
+                                      std::vector<Point<3> >  &) const
 {
   Assert (false, ExcNotImplemented());
 };
index 1b23d5c99ccde5d2da3ace038b7209235865d244..53a77a5983240edf50de4d6d09054e3da1049a16 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -4428,7 +4428,7 @@ FEDG_Q4<3>::FEDG_Q4():
 template <int dim>
 void
 FEDG_Q1<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &,
-                                      vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == 0),
          FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),0));
@@ -4439,7 +4439,7 @@ FEDG_Q1<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iter
 template <int dim>
 void
 FEDG_Q2<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &,
-                                               vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == 0),
          FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),0));
@@ -4450,7 +4450,7 @@ FEDG_Q2<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iter
 template <int dim>
 void
 FEDG_Q3<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &,
-                                      vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == 0),
          FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),0));
@@ -4461,7 +4461,7 @@ FEDG_Q3<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iter
 template <int dim>
 void
 FEDG_Q4<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &,
-                                      vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == 0),
          FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),0));
index a6d457bc5cba6276b67762ee73bde8614f6d7c10..283196260809f624157878542ef144c1401ed1d3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -26,7 +26,7 @@ FEDG_Q0<dim>::FEDG_Q0 () :
                                  (dim==2 ? 1 : 0),
                                  (dim==3 ? 1 : 0),
                                  1,
-                                 vector<bool> (1, true))
+                                 std::vector<bool> (1, true))
 {
   for (unsigned int i=0; i<GeometryInfo<dim>::children_per_cell; ++i)
     { 
@@ -42,7 +42,7 @@ FEDG_Q0<dim>::FEDG_Q0 () :
 template <>
 void
 FEDG_Q0<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                    vector<Point<1> >  &) const
+                                    std::vector<Point<1> >  &) const
 {
   Assert (false, ExcInternalError());
 };
@@ -55,7 +55,7 @@ template <int dim>
 inline
 double
 FEDG_Q0<dim>::shape_value (const unsigned int i,
-                               const Point<dim>&) const
+                          const Point<dim>&) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   return 1.;
@@ -106,7 +106,7 @@ void FEDG_Q0<dim>::get_local_mass_matrix (const DoFHandler<dim>::cell_iterator &
 
 template <int dim>
 void
-FEDG_Q0<dim>::get_unit_support_points (vector<Point<dim> > &unit_points) const
+FEDG_Q0<dim>::get_unit_support_points (std::vector<Point<dim> > &unit_points) const
 {
   Assert (unit_points.size() == dofs_per_cell,
          FiniteElementBase<dim>::ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
@@ -119,7 +119,7 @@ FEDG_Q0<dim>::get_unit_support_points (vector<Point<dim> > &unit_points) const
 template <int dim>
 void
 FEDG_Q0<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator &cell,
-                                 vector<Point<dim> >  &support_points) const
+                                 std::vector<Point<dim> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_cell,
          FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(), dofs_per_cell));
@@ -132,7 +132,7 @@ FEDG_Q0<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator
 template <int dim>
 void
 FEDG_Q0<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &,
-                                      vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == 0),
          FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),0));
index 86cd4e655a0e32d089c39c1d9eafb82c8ea9dda9..736e5094146d022026f9ea8118c24612081fbe8a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@ template <> void FEDG_P1<deal_II_dimension>::initialize_matrices ();
 template <>
 FEDG_P1<1>::FEDG_P1 () :
                FEQ1Mapping<1> (0, 2, 0, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
 //  initialize_matrices ();
 };
@@ -65,13 +65,13 @@ void FEDG_P1<1>::initialize_matrices ()
 template <>
 double
 FEDG_P1<1>::shape_value(const unsigned int i,
-                        const Point<1>     &p) const
+                       const Point<1>     &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
     {
-    case 0: return 1.-p(0);
-    case 1: return p(0);
+      case 0: return 1.-p(0);
+      case 1: return p(0);
     }
   return 0.;
 }
@@ -81,7 +81,7 @@ template <>
 inline
 Tensor<1,1>
 FEDG_P1<1>::shape_grad(const unsigned int i,
-                       const Point<1>&) const
+                      const Point<1>&) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -91,8 +91,8 @@ FEDG_P1<1>::shape_grad(const unsigned int i,
                                   // however
   switch (i)
     {
-    case 0: return Point<1>(-1.);
-    case 1: return Point<1>(1.);
+      case 0: return Point<1>(-1.);
+      case 1: return Point<1>(1.);
     }
   return Point<1>();
 };
@@ -112,7 +112,7 @@ FEDG_P1<1>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FEDG_P1<1>::get_unit_support_points (vector<Point<1> >  &support_points) const
+void FEDG_P1<1>::get_unit_support_points (std::vector<Point<1> >  &support_points) const
 {
   FiniteElement<1>::get_unit_support_points (support_points);
 };
@@ -120,7 +120,7 @@ void FEDG_P1<1>::get_unit_support_points (vector<Point<1> >  &support_points) co
 
 template <>
 void FEDG_P1<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                    vector<Point<1> >  &support_points) const
+                                    std::vector<Point<1> >  &support_points) const
 {
   FiniteElement<1>::get_support_points (cell, support_points);
 };
@@ -128,7 +128,7 @@ void FEDG_P1<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
 
 template <>
 void FEDG_P1<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                         vector<Point<1> >  &) const
+                                         std::vector<Point<1> >  &) const
 {
   Assert (false, ExcInternalError());
 };
@@ -136,7 +136,7 @@ void FEDG_P1<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
 
 template <>
 void FEDG_P1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell,
-                                        FullMatrix<double> &local_mass_matrix) const
+                                       FullMatrix<double> &local_mass_matrix) const
 {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
@@ -158,7 +158,7 @@ void FEDG_P1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell
 template <>
 FEDG_P1<2>::FEDG_P1 () :
                FEQ1Mapping<2> (0, 0, 3, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
 //  initialize_matrices ();
 };
@@ -175,7 +175,7 @@ template <>
 inline
 double
 FEDG_P1<2>::shape_value (const unsigned int i,
-                         const Point<2>& p) const
+                        const Point<2>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
@@ -192,7 +192,7 @@ template <>
 inline
 Tensor<1,2>
 FEDG_P1<2>::shape_grad (const unsigned int i,
-                        const Point<2>&) const
+                       const Point<2>&) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -214,7 +214,7 @@ template <>
 inline
 Tensor<2,2>
 FEDG_P1<2>::shape_grad_grad (const unsigned int i,
-                             const Point<2> &) const
+                            const Point<2> &) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   return Tensor<2,2>();
@@ -223,7 +223,7 @@ FEDG_P1<2>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEDG_P1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &,
-                                        FullMatrix<double> &local_mass_matrix) const
+                                       FullMatrix<double> &local_mass_matrix) const
 {
   Assert(false, ExcNotImplemented ());
   Assert (local_mass_matrix.n() == dofs_per_cell,
@@ -234,7 +234,7 @@ void FEDG_P1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &,
 
 
 template <>
-void FEDG_P1<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
+void FEDG_P1<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const
 {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
@@ -253,7 +253,7 @@ void FEDG_P1<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
 template <>
 FEDG_P1<3>::FEDG_P1 () :
                FEQ1Mapping<3> (0, 0, 0, 4, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
 //  initialize_matrices ();
 };
@@ -288,7 +288,7 @@ template <>
 inline
 Tensor<1,3>
 FEDG_P1<3>::shape_grad (const unsigned int i,
-                        const Point<3>&) const
+                       const Point<3>&) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -311,7 +311,7 @@ template <>
 inline
 Tensor<2,3>
 FEDG_P1<3>::shape_grad_grad (const unsigned int i,
-                             const Point<3> &) const
+                            const Point<3> &) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -322,7 +322,7 @@ FEDG_P1<3>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEDG_P1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
-                                        FullMatrix<double> &local_mass_matrix) const
+                                       FullMatrix<double> &local_mass_matrix) const
 {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
@@ -334,7 +334,7 @@ void FEDG_P1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEDG_P1<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
+void FEDG_P1<3>::get_unit_support_points (std::vector<Point<3> > &unit_points) const
 {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
@@ -352,7 +352,7 @@ void FEDG_P1<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
 template <int dim>
 void
 FEDG_P1<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator &cell,
-                                  vector<Point<dim> >  &support_points) const
+                                 std::vector<Point<dim> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_cell,
          typename FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),
@@ -366,7 +366,7 @@ FEDG_P1<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator
 template <int dim>
 void
 FEDG_P1<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &face,
-                                      vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == dofs_per_face) &&
          (support_points.size() == GeometryInfo<dim>::vertices_per_face),
index 7b28e1349e82f5c2d6c2a5ec40a9d5f8368c7f12..ca22a2d0e519c34067c9a5ce7a0b57f1f0ce3b00 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@ template <> void FEDG_P2<deal_II_dimension>::initialize_matrices ();
 template <>
 FEDG_P2<1>::FEDG_P2 () :
                FEQ1Mapping<1> (0, 3, 0, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
 //  initialize_matrices ();
 };
@@ -44,7 +44,7 @@ void FEDG_P2<1>::initialize_matrices ()
 template <>
 double
 FEDG_P2<1>::shape_value(const unsigned int i,
-                        const Point<1>     &p) const
+                       const Point<1>     &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
@@ -61,7 +61,7 @@ template <>
 inline
 Tensor<1,1>
 FEDG_P2<1>::shape_grad(const unsigned int i,
-                       const Point<1>&p) const
+                      const Point<1>&p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -93,7 +93,7 @@ FEDG_P2<1>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FEDG_P2<1>::get_unit_support_points (vector<Point<1> >  &support_points) const
+void FEDG_P2<1>::get_unit_support_points (std::vector<Point<1> >  &support_points) const
 {
   FiniteElement<1>::get_unit_support_points (support_points);
 };
@@ -101,7 +101,7 @@ void FEDG_P2<1>::get_unit_support_points (vector<Point<1> >  &support_points) co
 
 template <>
 void FEDG_P2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                    vector<Point<1> >  &support_points) const
+                                    std::vector<Point<1> >  &support_points) const
 {
   FiniteElement<1>::get_support_points (cell, support_points);
 };
@@ -109,7 +109,7 @@ void FEDG_P2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
 
 template <>
 void FEDG_P2<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                         vector<Point<1> >  &) const
+                                         std::vector<Point<1> >  &) const
 {
   Assert (false, ExcInternalError());
 };
@@ -117,7 +117,7 @@ void FEDG_P2<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
 
 template <>
 void FEDG_P2<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &,
-                                        FullMatrix<double> &local_mass_matrix) const
+                                       FullMatrix<double> &local_mass_matrix) const
 {
   Assert(false, ExcNotImplemented());
   Assert (local_mass_matrix.n() == dofs_per_cell,
@@ -134,7 +134,7 @@ void FEDG_P2<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &,
 template <>
 FEDG_P2<2>::FEDG_P2 () :
                FEQ1Mapping<2> (0, 0, 6, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
 //  initialize_matrices ();
 };
@@ -151,7 +151,7 @@ template <>
 inline
 double
 FEDG_P2<2>::shape_value (const unsigned int i,
-                         const Point<2>& p) const
+                        const Point<2>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
@@ -171,7 +171,7 @@ template <>
 inline
 Tensor<1,2>
 FEDG_P2<2>::shape_grad (const unsigned int i,
-                        const Point<2>& p) const
+                       const Point<2>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -196,7 +196,7 @@ template <>
 inline
 Tensor<2,2>
 FEDG_P2<2>::shape_grad_grad (const unsigned int i,
-                             const Point<2> &) const
+                            const Point<2> &) const
 {
   Assert(false, ExcNotImplemented());
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
@@ -206,14 +206,14 @@ FEDG_P2<2>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEDG_P2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &,
-                                        FullMatrix<double> &) const
+                                       FullMatrix<double> &) const
 {
   Assert(false, ExcNotImplemented ());
 };
 
 
 template <>
-void FEDG_P2<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
+void FEDG_P2<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const
 {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
@@ -235,7 +235,7 @@ void FEDG_P2<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
 template <>
 FEDG_P2<3>::FEDG_P2 () :
                FEQ1Mapping<3> (0, 0, 0, 4, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   Assert(false, ExcNotImplemented ());
 //  initialize_matrices ();
@@ -271,7 +271,7 @@ template <>
 inline
 Tensor<1,3>
 FEDG_P2<3>::shape_grad (const unsigned int i,
-                        const Point<3>&) const
+                       const Point<3>&) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -294,7 +294,7 @@ template <>
 inline
 Tensor<2,3>
 FEDG_P2<3>::shape_grad_grad (const unsigned int i,
-                             const Point<3> &) const
+                            const Point<3> &) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -305,7 +305,7 @@ FEDG_P2<3>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEDG_P2<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
-                                        FullMatrix<double> &local_mass_matrix) const
+                                       FullMatrix<double> &local_mass_matrix) const
 {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
@@ -317,7 +317,7 @@ void FEDG_P2<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEDG_P2<3>::get_unit_support_points (vector<Point<3> > &unit_points) const {
+void FEDG_P2<3>::get_unit_support_points (std::vector<Point<3> > &unit_points) const {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
 
@@ -334,7 +334,7 @@ void FEDG_P2<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
 template <int dim>
 void
 FEDG_P2<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator &cell,
-                                  vector<Point<dim> >  &support_points) const
+                                 std::vector<Point<dim> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_cell,
          typename FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),
@@ -348,7 +348,7 @@ FEDG_P2<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator
 template <int dim>
 void
 FEDG_P2<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &face,
-                                      vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == dofs_per_face) &&
          (support_points.size() == GeometryInfo<dim>::vertices_per_face),
index 30779596169d6ae979f78977b935f706e20e6790..1b31baaf1bc9f90bd76f64be962ca94af7b681a3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@ template <> void FEDG_P3<deal_II_dimension>::initialize_matrices ();
 template <>
 FEDG_P3<1>::FEDG_P3 () :
                FEQ1Mapping<1> (0, 4, 0, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
 //  initialize_matrices ();
 };
@@ -44,7 +44,7 @@ void FEDG_P3<1>::initialize_matrices ()
 template <>
 double
 FEDG_P3<1>::shape_value(const unsigned int i,
-                        const Point<1>     &p) const
+                       const Point<1>     &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
@@ -62,7 +62,7 @@ template <>
 inline
 Tensor<1,1>
 FEDG_P3<1>::shape_grad(const unsigned int i,
-                       const Point<1>&p) const
+                      const Point<1>&p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -95,7 +95,7 @@ FEDG_P3<1>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FEDG_P3<1>::get_unit_support_points (vector<Point<1> >  &support_points) const
+void FEDG_P3<1>::get_unit_support_points (std::vector<Point<1> >  &support_points) const
 {
   FiniteElement<1>::get_unit_support_points (support_points);
 };
@@ -103,7 +103,7 @@ void FEDG_P3<1>::get_unit_support_points (vector<Point<1> >  &support_points) co
 
 template <>
 void FEDG_P3<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                    vector<Point<1> >  &support_points) const
+                                    std::vector<Point<1> >  &support_points) const
 {
   FiniteElement<1>::get_support_points (cell, support_points);
 };
@@ -111,7 +111,7 @@ void FEDG_P3<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
 
 template <>
 void FEDG_P3<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                         vector<Point<1> >  &) const
+                                         std::vector<Point<1> >  &) const
 {
   Assert (false, ExcInternalError());
 };
@@ -119,7 +119,7 @@ void FEDG_P3<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
 
 template <>
 void FEDG_P3<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &/*cell*/,
-                                        FullMatrix<double> &local_mass_matrix) const
+                                       FullMatrix<double> &local_mass_matrix) const
 {
   Assert(false, ExcNotImplemented());
   Assert (local_mass_matrix.n() == dofs_per_cell,
@@ -136,7 +136,7 @@ void FEDG_P3<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &/*ce
 template <>
 FEDG_P3<2>::FEDG_P3 () :
                FEQ1Mapping<2> (0, 0, 10, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
 //  initialize_matrices ();
 };
@@ -153,7 +153,7 @@ template <>
 inline
 double
 FEDG_P3<2>::shape_value (const unsigned int i,
-                         const Point<2>& p) const
+                        const Point<2>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
@@ -177,7 +177,7 @@ template <>
 inline
 Tensor<1,2>
 FEDG_P3<2>::shape_grad (const unsigned int i,
-                        const Point<2>& p) const
+                       const Point<2>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -206,7 +206,7 @@ template <>
 inline
 Tensor<2,2>
 FEDG_P3<2>::shape_grad_grad (const unsigned int i,
-                             const Point<2> &) const
+                            const Point<2> &) const
 {
   Assert(false, ExcNotImplemented());
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
@@ -216,14 +216,14 @@ FEDG_P3<2>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEDG_P3<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &,
-                                        FullMatrix<double> &) const
+                                       FullMatrix<double> &) const
 {
   Assert(false, ExcNotImplemented ());
 };
 
 
 template <>
-void FEDG_P3<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
+void FEDG_P3<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const
 {
   Assert(false, ExcNotImplemented ());
   Assert (unit_points.size() == dofs_per_cell,
@@ -246,7 +246,7 @@ void FEDG_P3<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
 template <>
 FEDG_P3<3>::FEDG_P3 () :
                FEQ1Mapping<3> (0, 0, 0, 4, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   Assert(false, ExcNotImplemented ());
 //  initialize_matrices ();
@@ -282,7 +282,7 @@ template <>
 inline
 Tensor<1,3>
 FEDG_P3<3>::shape_grad (const unsigned int i,
-                        const Point<3>&) const
+                       const Point<3>&) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -305,7 +305,7 @@ template <>
 inline
 Tensor<2,3>
 FEDG_P3<3>::shape_grad_grad (const unsigned int i,
-                             const Point<3> &) const
+                            const Point<3> &) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -316,7 +316,7 @@ FEDG_P3<3>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEDG_P3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
-                                        FullMatrix<double> &local_mass_matrix) const
+                                       FullMatrix<double> &local_mass_matrix) const
 {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
@@ -328,7 +328,7 @@ void FEDG_P3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEDG_P3<3>::get_unit_support_points (vector<Point<3> > &unit_points) const {
+void FEDG_P3<3>::get_unit_support_points (std::vector<Point<3> > &unit_points) const {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
 
@@ -345,7 +345,7 @@ void FEDG_P3<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
 template <int dim>
 void
 FEDG_P3<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator &cell,
-                                  vector<Point<dim> >  &support_points) const
+                                 std::vector<Point<dim> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_cell,
          typename FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),
@@ -359,7 +359,7 @@ FEDG_P3<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator
 template <int dim>
 void
 FEDG_P3<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &face,
-                                      vector<Point<dim> >  &support_points) const
+                                      std::vector<Point<dim> >  &support_points) const
 {
   Assert ((support_points.size() == dofs_per_face) &&
          (support_points.size() == GeometryInfo<dim>::vertices_per_face),
index 7d87fcc15582954cedfbe9c58cfbfa6a7279f4e8..912ac5fcf8d856550385018532407b88d4f36ab8 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@ template <> void FEQ1<deal_II_dimension>::initialize_matrices ();
 template <>
 FEQ1<1>::FEQ1 () :
                FEQ1Mapping<1> (1, 0, 0, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   initialize_matrices ();
 };
@@ -37,7 +37,7 @@ FEQ1<1>::FEQ1 () :
 template <>
 FEQ1<1>::FEQ1 (const int) :
                FEQ1Mapping<1> (0, 2, 0, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -74,13 +74,13 @@ void FEQ1<1>::initialize_matrices ()
 template <>
 double
 FEQ1<1>::shape_value(const unsigned int i,
-                        const Point<1>     &p) const
+                    const Point<1>     &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
     {
-    case 0: return 1.-p(0);
-    case 1: return p(0);
+      case 0: return 1.-p(0);
+      case 1: return p(0);
     }
   return 0.;
 }
@@ -90,7 +90,7 @@ template <>
 inline
 Tensor<1,1>
 FEQ1<1>::shape_grad(const unsigned int i,
-                       const Point<1>&) const
+                   const Point<1>&) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -100,8 +100,8 @@ FEQ1<1>::shape_grad(const unsigned int i,
                                   // however
   switch (i)
     {
-    case 0: return Point<1>(-1.);
-    case 1: return Point<1>(1.);
+      case 0: return Point<1>(-1.);
+      case 1: return Point<1>(1.);
     }
   return Point<1>();
 };
@@ -111,7 +111,7 @@ template <>
 inline
 Tensor<2,1>
 FEQ1<1>::shape_grad_grad (const unsigned int i,
-                             const Point<1> &) const
+                         const Point<1> &) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // second derivatives on the unit cell
@@ -121,28 +121,28 @@ FEQ1<1>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FEQ1<1>::get_unit_support_points (vector<Point<1> >  &support_points) const {
+void FEQ1<1>::get_unit_support_points (std::vector<Point<1> >  &support_points) const {
   FiniteElement<1>::get_unit_support_points (support_points);
 };
 
 
 template <>
 void FEQ1<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                 vector<Point<1> >  &support_points) const {
+                                 std::vector<Point<1> >  &support_points) const {
   FiniteElement<1>::get_support_points (cell, support_points);
 };
 
 
 template <>
 void FEQ1<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                      vector<Point<1> >  &) const {
+                                      std::vector<Point<1> >  &) const {
   Assert (false, ExcInternalError());
 };
 
 
 template <>
 void FEQ1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell,
-                                        FullMatrix<double> &local_mass_matrix) const {
+                                    FullMatrix<double> &local_mass_matrix) const {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
   Assert (local_mass_matrix.m() == dofs_per_cell,
@@ -163,7 +163,7 @@ void FEQ1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell,
 template <>
 FEQ1<2>::FEQ1 () :
                FEQ1Mapping<2> (1, 0, 0, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   interface_constraints(0,0) = 1./2.;
   interface_constraints(0,1) = 1./2.;
@@ -175,7 +175,7 @@ FEQ1<2>::FEQ1 () :
 template <>
 FEQ1<2>::FEQ1 (const int) :
                FEQ1Mapping<2> (0, 0, 4, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -235,7 +235,7 @@ template <>
 inline
 double
 FEQ1<2>::shape_value (const unsigned int i,
-                         const Point<2>& p) const
+                     const Point<2>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
@@ -253,7 +253,7 @@ template <>
 inline
 Tensor<1,2>
 FEQ1<2>::shape_grad (const unsigned int i,
-                        const Point<2>& p) const
+                    const Point<2>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -276,7 +276,7 @@ template <>
 inline
 Tensor<2,2>
 FEQ1<2>::shape_grad_grad (const unsigned int i,
-                             const Point<2> &) const
+                         const Point<2> &) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -285,15 +285,15 @@ FEQ1<2>::shape_grad_grad (const unsigned int i,
       case 0:
       case 2:
       {
-           const double initializer[2][2] = {{0, 1},{1,0}};
-           return Tensor<2,2>(initializer);
+       const double initializer[2][2] = {{0, 1},{1,0}};
+       return Tensor<2,2>(initializer);
       };
        
       case 1:
       case 3:
       {
-           const double initializer[2][2] = {{0, -1},{-1,0}};
-           return Tensor<2,2>(initializer);
+       const double initializer[2][2] = {{0, -1},{-1,0}};
+       return Tensor<2,2>(initializer);
       };
     };    
            
@@ -303,7 +303,7 @@ FEQ1<2>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEQ1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
-                                        FullMatrix<double> &local_mass_matrix) const {
+                                    FullMatrix<double> &local_mass_matrix) const {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
   Assert (local_mass_matrix.m() == dofs_per_cell,
@@ -407,7 +407,7 @@ void FEQ1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
 
 
 template <>
-void FEQ1<2>::get_unit_support_points (vector<Point<2> > &unit_points) const {
+void FEQ1<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
 
@@ -426,7 +426,7 @@ void FEQ1<2>::get_unit_support_points (vector<Point<2> > &unit_points) const {
 template <>
 FEQ1<3>::FEQ1 () :
                FEQ1Mapping<3> (1, 0, 0, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   interface_constraints(0,0) = 1.0/4.0;
   interface_constraints(0,1) = 1.0/4.0;
@@ -448,7 +448,7 @@ FEQ1<3>::FEQ1 () :
 template <>
 FEQ1<3>::FEQ1 (const int) :
                FEQ1Mapping<3> (0, 0, 0, 8, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -689,7 +689,7 @@ template <>
 inline
 double
 FEQ1<3>::shape_value (const unsigned int i,
-                         const Point<3>& p) const
+                     const Point<3>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   switch (i)
@@ -711,7 +711,7 @@ template <>
 inline
 Tensor<1,3>
 FEQ1<3>::shape_grad (const unsigned int i,
-                        const Point<3>& p) const
+                    const Point<3>& p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
                                   // originally, the return type of the
@@ -754,7 +754,7 @@ template <>
 inline
 Tensor<2,3>
 FEQ1<3>::shape_grad_grad (const unsigned int i,
-                             const Point<3> &p) const
+                         const Point<3> &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -833,7 +833,7 @@ FEQ1<3>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEQ1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
-                                        FullMatrix<double> &local_mass_matrix) const {
+                                    FullMatrix<double> &local_mass_matrix) const {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
   Assert (local_mass_matrix.m() == dofs_per_cell,
@@ -844,7 +844,7 @@ void FEQ1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEQ1<3>::get_unit_support_points (vector<Point<3> > &unit_points) const {
+void FEQ1<3>::get_unit_support_points (std::vector<Point<3> > &unit_points) const {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
 
@@ -865,7 +865,7 @@ void FEQ1<3>::get_unit_support_points (vector<Point<3> > &unit_points) const {
 template <int dim>
 void
 FEQ1<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator &cell,
-                                  vector<Point<dim> >  &support_points) const {
+                              std::vector<Point<dim> >  &support_points) const {
   Assert (support_points.size() == dofs_per_cell,
          typename FiniteElementBase<dim>::ExcWrongFieldDimension (support_points.size(),
                                                                   dofs_per_cell));
@@ -878,7 +878,7 @@ FEQ1<dim>::get_support_points (const typename DoFHandler<dim>::cell_iterator &ce
 template <int dim>
 void
 FEQ1<dim>::get_face_support_points (const typename DoFHandler<dim>::face_iterator &face,
-                                       vector<Point<dim> >  &support_points) const {
+                                   std::vector<Point<dim> >  &support_points) const {
   Assert ((support_points.size() == dofs_per_face) &&
          (support_points.size() == GeometryInfo<dim>::vertices_per_face),
          typename FiniteElementBase<dim>::
index 16cc49675a784aaef86be0b797fd3a39be084ed0..0e90185a5a5f1beac1282597da39c24ed49d76aa 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@ template <> void FEQ2<deal_II_dimension>::initialize_matrices ();
 template <>
 FEQ2<1>::FEQ2 () :
                FEQ1Mapping<1> (1, 1, 0, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   initialize_matrices ();
 };
@@ -38,7 +38,7 @@ FEQ2<1>::FEQ2 () :
 template <>
 FEQ2<1>::FEQ2 (const int) :
                FEQ1Mapping<1> (0, 3, 0, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -62,11 +62,11 @@ void FEQ2<1>::initialize_matrices ()
   restriction := array(0..1,0..2, 0..2);
 
   for i from 0 to 1 do
-    for j from 0 to 2 do
-      for k from 0 to 2 do
-        prolongation[i,j,k] := phi[k](points[i][j]);
-      od;
-    od;
+  for j from 0 to 2 do
+  for k from 0 to 2 do
+  prolongation[i,j,k] := phi[k](points[i][j]);
+  od;
+  od;
   od;
 
 
@@ -76,26 +76,26 @@ void FEQ2<1>::initialize_matrices ()
 
   global_points := array(0..2, [0,1,1/2]):
   child_phi[0] := proc(i, point)
-                    if ((point<0) or (point>1/2)) then
-                     0:
-                   else
-                     phi[i](2*point):
-                   fi:
-                 end: 
+  if ((point<0) or (point>1/2)) then
+  0:
+  else
+  phi[i](2*point):
+  fi:
+  end: 
   child_phi[1] := proc(i, point)
-                    if ((point<1/2) or (point>1)) then
-                     0:
-                   else
-                     phi[i](2*point-1):
-                   fi:
-                 end: 
+  if ((point<1/2) or (point>1)) then
+  0:
+  else
+  phi[i](2*point-1):
+  fi:
+  end: 
   
   for child from 0 to 1 do
-    for j from 0 to 2 do
-      for k from 0 to 2 do
-        restriction[child,j,k] := child_phi[child](k, global_points[j]):
-      od:
-    od:
+  for j from 0 to 2 do
+  for k from 0 to 2 do
+  restriction[child,j,k] := child_phi[child](k, global_points[j]):
+  od:
+  od:
   od:
   
   readlib(C);
@@ -197,7 +197,7 @@ FEQ2<1>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FEQ2<1>::get_unit_support_points (vector<Point<1> > &unit_points) const
+void FEQ2<1>::get_unit_support_points (std::vector<Point<1> > &unit_points) const
 {
   FiniteElement<1>::get_unit_support_points (unit_points);
 };
@@ -206,7 +206,7 @@ void FEQ2<1>::get_unit_support_points (vector<Point<1> > &unit_points) const
 
 template <>
 void FEQ2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                 vector<Point<1> >  &support_points) const
+                                 std::vector<Point<1> >  &support_points) const
 {
   FiniteElement<1>::get_support_points (cell, support_points);
 };
@@ -215,7 +215,7 @@ void FEQ2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
 
 template <>
 void FEQ2<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                      vector<Point<1> >  &) const
+                                      std::vector<Point<1> >  &) const
 {
   Assert (false, ExcInternalError());
 };
@@ -249,7 +249,7 @@ void FEQ2<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell,
 template <>
 FEQ2<2>::FEQ2 () :
                FEQ1Mapping<2> (1, 1, 1, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   interface_constraints(0,2) = 1.0;
   interface_constraints(1,0) = 3./8.;
@@ -267,7 +267,7 @@ FEQ2<2>::FEQ2 () :
 template <>
 FEQ2<2>::FEQ2 (const int) :
                FEQ1Mapping<2> (0, 0, 9, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -305,11 +305,11 @@ void FEQ2<2>::initialize_matrices ()
   prolongation := array(0..3,0..8, 0..8);
 
   for i from 0 to 3 do
-    for j from 0 to 8 do
-      for k from 0 to 8 do
-        prolongation[i,j,k] := phi[k](points_x[i][j], points_y[i][j]);
-      od;
-    od;
+  for j from 0 to 8 do
+  for k from 0 to 8 do
+  prolongation[i,j,k] := phi[k](points_x[i][j], points_y[i][j]);
+  od;
+  od;
   od;
 
   readlib(C);
@@ -793,7 +793,7 @@ FEQ2<2>::shape_grad_grad (const unsigned int i,
            return_value[0][1] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta;
            return_value[1][0] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta;
            return_value[1][1] = -32.0*xi+32.0*xi*xi;
-      break;
+           break;
     };
   return return_value;
 };
@@ -835,9 +835,9 @@ void FEQ2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
 
    M := array(0..8,0..8);
    for i from 0 to 8 do
-     for j from 0 to 8 do
-       M[i,j] := m(i,j);
-     od;
+   for j from 0 to 8 do
+   M[i,j] := m(i,j);
+   od;
    od;
 
    readlib(C);
@@ -855,10 +855,10 @@ void FEQ2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
   
 /* check that the Jacobi determinant
 
-    t0 = (-x[0]*(1.0-eta)+x[1]*(1.0-eta)+x[2]*eta-x[3]*eta) *
-         (-y[0]*(1.0-xi)-y[1]*xi+y[2]*xi+y[3]*(1.0-xi))        -
-        (-x[0]*(1.0-xi)-x[1]*xi+x[2]*xi+x[3]*(1.0-xi)) *
-        (-y[0]*(1.0-eta)+y[1]*(1.0-eta)+y[2]*eta-y[3]*eta)
+   t0 = (-x[0]*(1.0-eta)+x[1]*(1.0-eta)+x[2]*eta-x[3]*eta) *
+   (-y[0]*(1.0-xi)-y[1]*xi+y[2]*xi+y[3]*(1.0-xi))        -
+   (-x[0]*(1.0-xi)-x[1]*xi+x[2]*xi+x[3]*(1.0-xi)) *
+   (-y[0]*(1.0-eta)+y[1]*(1.0-eta)+y[2]*eta-y[3]*eta)
 
    has the right sign.  
         
@@ -1077,7 +1077,7 @@ void FEQ2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
 
 
 template <>
-void FEQ2<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
+void FEQ2<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const
 {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
@@ -1097,7 +1097,7 @@ void FEQ2<2>::get_unit_support_points (vector<Point<2> > &unit_points) const
 
 template <>
 void FEQ2<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell,
-                                 vector<Point<2> >  &support_points) const
+                                 std::vector<Point<2> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (support_points.size(), dofs_per_cell));
@@ -1126,7 +1126,7 @@ void FEQ2<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell,
 
 template <>
 void FEQ2<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face,
-                                      vector<Point<2> >  &support_points) const
+                                      std::vector<Point<2> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_face,
          ExcWrongFieldDimension (support_points.size(), dofs_per_face));
@@ -1144,7 +1144,7 @@ void FEQ2<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face,
 template <>
 FEQ2<3>::FEQ2 () :
                FEQ1Mapping<3> (1, 1, 1, 1, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   interface_constraints(0,8) = 1.0;
   interface_constraints(1,4) = 1.0;
@@ -1232,7 +1232,7 @@ FEQ2<3>::FEQ2 () :
 template <>
 FEQ2<3>::FEQ2 (const int) :
                FEQ1Mapping<3> (0, 0, 0, 27, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -2324,81 +2324,81 @@ FEQ2<3>::shape_value (const unsigned int i,
   switch (i)
     {
       case 0: return 1.0-3.0*xi+2.0*xi*xi+(-3.0+9.0*xi-6.0*xi*xi)*eta+(2.0
--6.0*xi+4.0*xi*xi)*eta*eta+(-3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+
-(-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi
--12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
+                                                                      -6.0*xi+4.0*xi*xi)*eta*eta+(-3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+
+                                                                                                  (-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi
+                                                                                                                                                                 -12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
       case 1: return -xi+2.0*xi*xi+(3.0*xi-6.0*xi*xi)*eta+(-2.0*xi+4.0*xi*xi)
-*eta*eta+(3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta
-)*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*
-zeta*zeta;
+               *eta*eta+(3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta
+               )*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*
+               zeta*zeta;
       case 2: return (xi-2.0*xi*xi+(-3.0*xi+6.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)
-*eta*eta)*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*
-eta*eta)*zeta*zeta;
+                     *eta*eta)*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*
+                                     eta*eta)*zeta*zeta;
       case 3: return (-1.0+3.0*xi-2.0*xi*xi+(3.0-9.0*xi+6.0*xi*xi)*eta+(-2.0+
-6.0*xi-4.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)
-*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
+                                                                       6.0*xi-4.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)
+                                                                                                        *eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
       case 4: return (-1.0+3.0*xi-2.0*xi*xi)*eta+(2.0-6.0*xi+4.0*xi*xi)*eta*
-eta+((3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+((-2.0+
-6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
+               eta+((3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+((-2.0+
+                                                                                         6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
       case 5: return (xi-2.0*xi*xi)*eta+(-2.0*xi+4.0*xi*xi)*eta*eta+((-3.0*xi
-+6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta)*zeta+((2.0*xi-4.0*xi*xi)*eta+(-4.0
-*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
+                                                                     +6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta)*zeta+((2.0*xi-4.0*xi*xi)*eta+(-4.0
+                                                                                                                                                *xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
       case 6: return ((-xi+2.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta)*zeta+((
-2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
+       2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta;
       case 7: return ((1.0-3.0*xi+2.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*
-eta)*zeta+((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*
-zeta;
+                     eta)*zeta+((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*
+               zeta;
       case 8: return 4.0*xi-4.0*xi*xi+(-12.0*xi+12.0*xi*xi)*eta+(8.0*xi-8.0*
-xi*xi)*eta*eta+(-12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi*
-xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*
-xi)*eta*eta)*zeta*zeta;
+                                                                xi*xi)*eta*eta+(-12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi*
+                                                                                                                              xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*
+                                                                                                                                                                                             xi)*eta*eta)*zeta*zeta;
       case 9: return (-4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*eta+(-8.0*xi+
-16.0*xi*xi)*eta*eta)*zeta+(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi
--16.0*xi*xi)*eta*eta)*zeta*zeta;
+                                                                 16.0*xi*xi)*eta*eta)*zeta+(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi
+                                                                                                                                        -16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 10: return (-4.0*xi+4.0*xi*xi+(12.0*xi-12.0*xi*xi)*eta+(-8.0*xi+
-8.0*xi*xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi
--16.0*xi*xi)*eta*eta)*zeta*zeta;
+                                                                  8.0*xi*xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi
+                                                                                                                                        -16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 11: return (4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*eta+(
-8.0-24.0*xi+16.0*xi*xi)*eta*eta)*zeta+(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+
-24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
+       8.0-24.0*xi+16.0*xi*xi)*eta*eta)*zeta+(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+
+                                                                      24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 12: return (-4.0*xi+4.0*xi*xi)*eta+(8.0*xi-8.0*xi*xi)*eta*eta+((
-12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+8.0*xi*xi
-)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
+       12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+8.0*xi*xi
+       )*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 13: return ((4.0*xi-8.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta)*
-zeta+((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
+                zeta+((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 14: return ((4.0*xi-4.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta)*
-zeta+((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
+                zeta+((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 15: return ((-4.0+12.0*xi-8.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*
-eta*eta)*zeta+((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*
-zeta*zeta;
+                      eta*eta)*zeta+((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*
+                zeta*zeta;
       case 16: return (4.0-12.0*xi+8.0*xi*xi)*eta+(-4.0+12.0*xi-8.0*xi*xi)*
-eta*eta+((-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta)*zeta
-+((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
+                eta*eta+((-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta)*zeta
+                +((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 17: return (-4.0*xi+8.0*xi*xi)*eta+(4.0*xi-8.0*xi*xi)*eta*eta+((
-12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+16.0*xi*
-xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
+       12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+16.0*xi*
+                                                                     xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 18: return ((4.0*xi-8.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*
-zeta+((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
+                zeta+((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta;
       case 19: return ((-4.0+12.0*xi-8.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*
-eta*eta)*zeta+((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*
-zeta*zeta;
+                      eta*eta)*zeta+((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*
+                zeta*zeta;
       case 20: return (16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*eta+(32.0*xi
--32.0*xi*xi)*eta*eta)*zeta+(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0
-*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
+                                                                    -32.0*xi*xi)*eta*eta)*zeta+(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0
+                                                                                                                                              *xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
       case 21: return ((-16.0*xi+16.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta
-)*zeta+((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
+      )*zeta+((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
       case 22: return (16.0*xi-16.0*xi*xi)*eta+(-16.0*xi+16.0*xi*xi)*eta*eta+
-((-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta)*zeta+((32.0*xi-32.0*xi
-*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
+                ((-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta)*zeta+((32.0*xi-32.0*xi
+                                                                                *xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
       case 23: return ((-16.0*xi+32.0*xi*xi)*eta+(16.0*xi-32.0*xi*xi)*eta*eta
-)*zeta+((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
+      )*zeta+((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
       case 24: return ((-16.0*xi+16.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta
-)*zeta+((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
+      )*zeta+((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta;
       case 25: return ((16.0-48.0*xi+32.0*xi*xi)*eta+(-16.0+48.0*xi-32.0*xi*
-xi)*eta*eta)*zeta+((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta
-*eta)*zeta*zeta;
+                                                     xi)*eta*eta)*zeta+((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta
+                                                                        *eta)*zeta*zeta;
       case 26: return ((64.0*xi-64.0*xi*xi)*eta+(-64.0*xi+64.0*xi*xi)*eta*eta
-)*zeta+((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta*zeta;
+      )*zeta+((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta*zeta;
     };
   return 0;
 };
@@ -2423,86 +2423,86 @@ FEQ2<3>::shape_grad (const unsigned int i,
   switch (i)
     {
       case 0: return Point<3>(-3.0+4.0*xi+(9.0-12.0*xi)*eta+(-6.0+8.0*xi)*eta*eta+(9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta)*zeta+(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta,
-      -3.0+9.0*xi-6.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      -3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             -3.0+9.0*xi-6.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             -3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 1: return Point<3>(-1.0+4.0*xi+(3.0-12.0*xi)*eta+(-2.0+8.0*xi)*eta*eta+(3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta)*zeta+(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta,
-      3.0*xi-6.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             3.0*xi-6.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 2: return Point<3>((1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta)*zeta+(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta,
-      (-3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      xi-2.0*xi*xi+(-3.0*xi+6.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             (-3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             xi-2.0*xi*xi+(-3.0*xi+6.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 3: return Point<3>((3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta)*zeta+(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta,
-      (3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      -1.0+3.0*xi-2.0*xi*xi+(3.0-9.0*xi+6.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             (3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             -1.0+3.0*xi-2.0*xi*xi+(3.0-9.0*xi+6.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 4: return Point<3>((3.0-4.0*xi)*eta+(-6.0+8.0*xi)*eta*eta+((-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta)*zeta+((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta,
-      -1.0+3.0*xi-2.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      (3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             -1.0+3.0*xi-2.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             (3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 5: return Point<3>((1.0-4.0*xi)*eta+(-2.0+8.0*xi)*eta*eta+((-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta)*zeta+((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta,
-      xi-2.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      (-3.0*xi+6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             xi-2.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             (-3.0*xi+6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 6: return Point<3>(((-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta)*zeta+((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta,
-      (-xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      (-xi+2.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             (-xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             (-xi+2.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 7: return Point<3>(((-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta)*zeta+((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta,
-      (1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
-      (1.0-3.0*xi+2.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
+                             (1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta,
+                             (1.0-3.0*xi+2.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta);
       case 8: return Point<3>(4.0-8.0*xi+(-12.0+24.0*xi)*eta+(8.0-16.0*xi)*eta*eta+(-12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta)*zeta+(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta,
-      -12.0*xi+12.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      -12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                             -12.0*xi+12.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                             -12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 9: return Point<3>((-4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta)*zeta+(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                             (12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                             -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 10: return Point<3>((-4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta)*zeta+(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      -4.0*xi+4.0*xi*xi+(12.0*xi-12.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              (12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              -4.0*xi+4.0*xi*xi+(12.0*xi-12.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 11: return Point<3>((-12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta)*zeta+(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (-12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              (-12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 12: return Point<3>((-4.0+8.0*xi)*eta+(8.0-16.0*xi)*eta*eta+((12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta)*zeta+((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta,
-      -4.0*xi+4.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              -4.0*xi+4.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 13: return Point<3>(((4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta)*zeta+((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (4.0*xi-8.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              (4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (4.0*xi-8.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 14: return Point<3>(((4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta)*zeta+((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (4.0*xi-4.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              (4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (4.0*xi-4.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 15: return Point<3>(((12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta)*zeta+((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (-4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (-4.0+12.0*xi-8.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              (-4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (-4.0+12.0*xi-8.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 16: return Point<3>((-12.0+16.0*xi)*eta+(12.0-16.0*xi)*eta*eta+((36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta)*zeta+((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta,
-      4.0-12.0*xi+8.0*xi*xi+2.0*(-4.0+12.0*xi-8.0*xi*xi)*eta+(-12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              4.0-12.0*xi+8.0*xi*xi+2.0*(-4.0+12.0*xi-8.0*xi*xi)*eta+(-12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 17: return Point<3>((-4.0+16.0*xi)*eta+(4.0-16.0*xi)*eta*eta+((12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta)*zeta+((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta,
-      -4.0*xi+8.0*xi*xi+2.0*(4.0*xi-8.0*xi*xi)*eta+(12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              -4.0*xi+8.0*xi*xi+2.0*(4.0*xi-8.0*xi*xi)*eta+(12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 18: return Point<3>(((4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta+((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (4.0*xi-8.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              (4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (4.0*xi-8.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 19: return Point<3>(((12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta+((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta,
-      (-4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
-      (-4.0+12.0*xi-8.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
+                              (-4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta,
+                              (-4.0+12.0*xi-8.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta);
       case 20: return Point<3>((16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta)*zeta+(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta,
-      (-48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
-      16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
+                              (-48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
+                              16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
       case 21: return Point<3>(((-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta)*zeta+((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta,
-      (-16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
-      (-16.0*xi+16.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
+                              (-16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
+                              (-16.0*xi+16.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
       case 22: return Point<3>((16.0-32.0*xi)*eta+(-16.0+32.0*xi)*eta*eta+((-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta)*zeta+((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta,
-      16.0*xi-16.0*xi*xi+2.0*(-16.0*xi+16.0*xi*xi)*eta+(-48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
-      (-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
+                              16.0*xi-16.0*xi*xi+2.0*(-16.0*xi+16.0*xi*xi)*eta+(-48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
+                              (-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
       case 23: return Point<3>(((-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta)*zeta+((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta*zeta,
-      (-16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
-      (-16.0*xi+32.0*xi*xi)*eta+(16.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta);
+                              (-16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
+                              (-16.0*xi+32.0*xi*xi)*eta+(16.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta);
       case 24: return Point<3>(((-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta+((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta,
-      (-16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
-      (-16.0*xi+16.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
+                              (-16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
+                              (-16.0*xi+16.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta);
       case 25: return Point<3>(((-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta)*zeta+((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta*zeta,
-      (16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta)*zeta+(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
-      (16.0-48.0*xi+32.0*xi*xi)*eta+(-16.0+48.0*xi-32.0*xi*xi)*eta*eta+2.0*((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta*eta)*zeta);
+                              (16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta)*zeta+(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta*zeta,
+                              (16.0-48.0*xi+32.0*xi*xi)*eta+(-16.0+48.0*xi-32.0*xi*xi)*eta*eta+2.0*((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta*eta)*zeta);
       case 26: return Point<3>(((64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta)*zeta+((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta*zeta,
-      (64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta)*zeta+(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta*zeta,
-      (64.0*xi-64.0*xi*xi)*eta+(-64.0*xi+64.0*xi*xi)*eta*eta+2.0*((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta);
+                              (64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta)*zeta+(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta*zeta,
+                              (64.0*xi-64.0*xi*xi)*eta+(-64.0*xi+64.0*xi*xi)*eta*eta+2.0*((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta);
     };
   return Point<3> ();
 };
@@ -2523,269 +2523,269 @@ FEQ2<3>::shape_grad_grad (const unsigned int i,
   
   switch (i)
     {
-case 0:
-return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 1:
-return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 2:
-return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 3:
-return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 4:
-return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 5:
-return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 6:
-return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 7:
-return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
-break;
-case 8:
-return_value[0][0] = -8.0+24.0*eta-16.0*eta*eta+(24.0-72.0*eta+48.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
-break;
-case 9:
-return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 8.0*xi-16.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (8.0-24.0*eta+16.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = -8.0+24.0*xi-16.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = 8.0*eta-16.0*eta*eta+(-24.0*eta+48.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (-8.0*eta+16.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = -8.0+24.0*xi-16.0*xi*xi+(24.0-72.0*xi+48.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = 8.0*xi-16.0*xi*xi+(-24.0*xi+48.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-8.0*xi+16.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (8.0-24.0*xi+16.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
-return_value[0][0] = (-32.0+96.0*eta-64.0*eta*eta)*zeta+(32.0-96.0*eta+64.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][0] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][2] = -32.0*xi+32.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
-return_value[0][0] = (32.0*eta-64.0*eta*eta)*zeta+(-32.0*eta+64.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
-return_value[0][0] = -32.0*eta+32.0*eta*eta+(96.0*eta-96.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
-return_value[0][1] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[1][0] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = -32.0*xi+32.0*xi*xi+(96.0*xi-96.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
-return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (32.0*xi-64.0*xi*xi)*zeta+(-32.0*xi+64.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(-16.0*xi+32.0*xi*xi)*eta*eta;
-return_value[0][0] = (32.0*eta-32.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (32.0*xi-32.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
-return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
-return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
-return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-32.0+96.0*xi-64.0*xi*xi)*zeta+(32.0-96.0*xi+64.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta*eta;
-return_value[0][0] = (-128.0*eta+128.0*eta*eta)*zeta+(128.0*eta-128.0*eta*eta)*zeta*zeta;
-return_value[0][1] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta;
-return_value[0][2] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta;
-return_value[1][0] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta;
-return_value[1][1] = (-128.0*xi+128.0*xi*xi)*zeta+(128.0*xi-128.0*xi*xi)*zeta*zeta;
-return_value[1][2] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta;
-return_value[2][0] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta;
-return_value[2][1] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta;
-return_value[2][2] = 2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(64.0*xi-64.0*xi*xi)*eta*eta;
- break;
+      case 0:
+           return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 1:
+           return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 2:
+           return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 3:
+           return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 4:
+           return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 5:
+           return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 6:
+           return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 7:
+           return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta;
+           break;
+      case 8:
+           return_value[0][0] = -8.0+24.0*eta-16.0*eta*eta+(24.0-72.0*eta+48.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
+           break;
+      case 9:
+           return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 8.0*xi-16.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (8.0-24.0*eta+16.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = -8.0+24.0*xi-16.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = 8.0*eta-16.0*eta*eta+(-24.0*eta+48.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (-8.0*eta+16.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = -8.0+24.0*xi-16.0*xi*xi+(24.0-72.0*xi+48.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = 8.0*xi-16.0*xi*xi+(-24.0*xi+48.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-8.0*xi+16.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (8.0-24.0*xi+16.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta;
+           return_value[0][0] = (-32.0+96.0*eta-64.0*eta*eta)*zeta+(32.0-96.0*eta+64.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = -32.0*xi+32.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
+           return_value[0][0] = (32.0*eta-64.0*eta*eta)*zeta+(-32.0*eta+64.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
+           return_value[0][0] = -32.0*eta+32.0*eta*eta+(96.0*eta-96.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = -32.0*xi+32.0*xi*xi+(96.0*xi-96.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
+           return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (32.0*xi-64.0*xi*xi)*zeta+(-32.0*xi+64.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(-16.0*xi+32.0*xi*xi)*eta*eta;
+           return_value[0][0] = (32.0*eta-32.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (32.0*xi-32.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta;
+           return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-32.0+96.0*xi-64.0*xi*xi)*zeta+(32.0-96.0*xi+64.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta*eta;
+           return_value[0][0] = (-128.0*eta+128.0*eta*eta)*zeta+(128.0*eta-128.0*eta*eta)*zeta*zeta;
+           return_value[0][1] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta;
+           return_value[0][2] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta;
+           return_value[1][0] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta;
+           return_value[1][1] = (-128.0*xi+128.0*xi*xi)*zeta+(128.0*xi-128.0*xi*xi)*zeta*zeta;
+           return_value[1][2] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta;
+           return_value[2][0] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta;
+           return_value[2][1] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta;
+           return_value[2][2] = 2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(64.0*xi-64.0*xi*xi)*eta*eta;
          break;
  
     };
   return return_value;
@@ -2808,7 +2808,7 @@ void FEQ2<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEQ2<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
+void FEQ2<3>::get_unit_support_points (std::vector<Point<3> > &unit_points) const
 {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
@@ -2846,19 +2846,19 @@ void FEQ2<3>::get_unit_support_points (vector<Point<3> > &unit_points) const
 
 template <>
 void FEQ2<3>::get_support_points (const DoFHandler<3>::cell_iterator &cell,
-                                 vector<Point<3> >  &support_points) const
+                                 std::vector<Point<3> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (support_points.size(), dofs_per_cell));
 
   const Point<3> vertices[8] = { cell->vertex(0),
-                                cell->vertex(1),
-                                cell->vertex(2),
-                                cell->vertex(3),
-                                cell->vertex(4),
-                                cell->vertex(5),
-                                cell->vertex(6),
-                                cell->vertex(7)  };
+                                  cell->vertex(1),
+                                  cell->vertex(2),
+                                  cell->vertex(3),
+                                  cell->vertex(4),
+                                  cell->vertex(5),
+                                  cell->vertex(6),
+                                  cell->vertex(7)  };
   
   support_points[0](0) = vertices[0](0);
   support_points[0](1) = vertices[0](1);
@@ -2947,7 +2947,7 @@ void FEQ2<3>::get_support_points (const DoFHandler<3>::cell_iterator &cell,
 
 template <>
 void FEQ2<3>::get_face_support_points (const DoFHandler<3>::face_iterator &face,
-                                      vector<Point<3> >  &support_points) const
+                                      std::vector<Point<3> >  &support_points) const
 {
   Assert (support_points.size() == dofs_per_face,
          ExcWrongFieldDimension (support_points.size(), dofs_per_face));
index 8e45532d875a876f944052e2c886efe72a676369..a492010449185ea727d7dd631d74009e58dd46c0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@ template <> void FEQ4<deal_II_dimension>::initialize_matrices ();
 template <>
 FEQ4<1>::FEQ4 () :
                FEQ1Mapping<1> (1, 3, 0, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   initialize_matrices ();
 };
@@ -37,7 +37,7 @@ FEQ4<1>::FEQ4 () :
 template <>
 FEQ4<1>::FEQ4 (const int) :
                FEQ1Mapping<1> (0, 5, 0, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -85,7 +85,7 @@ void FEQ4<1>::initialize_matrices ()
 template <>
 double
 FEQ4<1>::shape_value(const unsigned int i,
-                            const Point<1>     &p) const
+                    const Point<1>     &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   const double xi = p(0);
@@ -104,7 +104,7 @@ FEQ4<1>::shape_value(const unsigned int i,
 template <>
 Tensor<1,1>
 FEQ4<1>::shape_grad(const unsigned int i,
-                           const Point<1>    &p) const
+                   const Point<1>    &p) const
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
   const double xi = p(0);
@@ -128,7 +128,7 @@ FEQ4<1>::shape_grad(const unsigned int i,
 template <>
 Tensor<2,1>
 FEQ4<1>::shape_grad_grad (const unsigned int i,
-                                 const Point<1>    &p) const
+                         const Point<1>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -148,28 +148,28 @@ FEQ4<1>::shape_grad_grad (const unsigned int i,
 
 
 template <>
-void FEQ4<1>::get_unit_support_points (vector<Point<1> > &unit_points) const {
+void FEQ4<1>::get_unit_support_points (std::vector<Point<1> > &unit_points) const {
   FiniteElement<1>::get_unit_support_points (unit_points);
 };
 
 
 template <>
 void FEQ4<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell,
-                                 vector<Point<1> >  &support_points) const {
+                                 std::vector<Point<1> >  &support_points) const {
   FiniteElement<1>::get_support_points (cell, support_points);
 };
 
 
 template <>
 void FEQ4<1>::get_face_support_points (const DoFHandler<1>::face_iterator &,
-                                      vector<Point<1> >  &) const {
+                                      std::vector<Point<1> >  &) const {
   Assert (false, ExcInternalError());
 };
 
 
 template <>
 void FEQ4<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell,
-                                            FullMatrix<double> &local_mass_matrix) const {
+                                    FullMatrix<double> &local_mass_matrix) const {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
   Assert (local_mass_matrix.m() == dofs_per_cell,
@@ -221,7 +221,7 @@ void FEQ4<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell,
 template <>
 FEQ4<2>::FEQ4 () :
                FEQ1Mapping<2> (1, 3, 9, 0, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   interface_constraints(0,3) = 1.0;
   interface_constraints(1,0) = 35.0/128.0;
@@ -254,7 +254,7 @@ FEQ4<2>::FEQ4 () :
 template <>
 FEQ4<2>::FEQ4 (const int) :
                FEQ1Mapping<2> (0, 0, 25, 0, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   initialize_matrices ();
 };
@@ -982,7 +982,7 @@ void FEQ4<2>::initialize_matrices ()
 template <>
 double
 FEQ4<2>::shape_value (const unsigned int i,
-                             const Point<2>    &p) const
+                     const Point<2>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -1129,7 +1129,7 @@ FEQ4<2>::shape_value (const unsigned int i,
 template <>
 Tensor<1,2>
 FEQ4<2>::shape_grad (const unsigned int i,
-                            const Point<2>    &p) const
+                    const Point<2>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -1200,7 +1200,7 @@ FEQ4<2>::shape_grad (const unsigned int i,
 template <>
 Tensor<2,2>
 FEQ4<2>::shape_grad_grad (const unsigned int i,
-                                 const Point<2>    &p) const
+                         const Point<2>    &p) const
 {
   Assert (i<dofs_per_cell, ExcIndexRange(i, 0, dofs_per_cell));
 
@@ -1337,7 +1337,7 @@ FEQ4<2>::shape_grad_grad (const unsigned int i,
 
 template <>
 void FEQ4<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
-                                            FullMatrix<double> &local_mass_matrix) const {
+                                    FullMatrix<double> &local_mass_matrix) const {
   Assert (local_mass_matrix.n() == dofs_per_cell,
          ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell));
   Assert (local_mass_matrix.m() == dofs_per_cell,
@@ -2601,7 +2601,7 @@ void FEQ4<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell,
 
 
 template <>
-void FEQ4<2>::get_unit_support_points (vector<Point<2> > &unit_points) const {
+void FEQ4<2>::get_unit_support_points (std::vector<Point<2> > &unit_points) const {
   Assert (unit_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (unit_points.size(), dofs_per_cell));
 
@@ -2635,7 +2635,7 @@ void FEQ4<2>::get_unit_support_points (vector<Point<2> > &unit_points) const {
 
 template <>
 void FEQ4<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell,
-                                 vector<Point<2> >  &support_points) const {
+                                 std::vector<Point<2> >  &support_points) const {
   Assert (support_points.size() == dofs_per_cell,
          ExcWrongFieldDimension (support_points.size(), dofs_per_cell));
 
@@ -2743,7 +2743,7 @@ void FEQ4<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell,
 
 template <>
 void FEQ4<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face,
-                                      vector<Point<2> >  &support_points) const {
+                                      std::vector<Point<2> >  &support_points) const {
   Assert (support_points.size() == dofs_per_face,
          ExcWrongFieldDimension (support_points.size(), dofs_per_face));
 
@@ -2767,7 +2767,7 @@ void FEQ4<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face,
 template <>
 FEQ4<3>::FEQ4 () :
                FEQ1Mapping<3> (1, 3, 9, 27, 1,
-                               vector<bool> (1, false))
+                               std::vector<bool> (1, false))
 {
   Assert (false, ExcNotImplemented());
 };
@@ -2776,7 +2776,7 @@ FEQ4<3>::FEQ4 () :
 template <>
 FEQ4<3>::FEQ4 (const int) :
                FEQ1Mapping<3> (0, 0, 0, 64, 1,
-                               vector<bool> (1, true))
+                               std::vector<bool> (1, true))
 {
   Assert (false, ExcNotImplemented());
 };
@@ -2829,7 +2829,7 @@ FEQ4<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &,
 
 
 template <>
-void FEQ4<3>::get_unit_support_points (vector<Point<3> > &) const
+void FEQ4<3>::get_unit_support_points (std::vector<Point<3> > &) const
 {
   Assert (false, ExcNotImplemented());
 };
@@ -2837,7 +2837,7 @@ void FEQ4<3>::get_unit_support_points (vector<Point<3> > &) const
 
 template <>
 void FEQ4<3>::get_support_points (const DoFHandler<3>::cell_iterator &,
-                                 vector<Point<3> >  &) const
+                                 std::vector<Point<3> >  &) const
 {
   Assert (false, ExcNotImplemented());
 };
@@ -2845,7 +2845,7 @@ void FEQ4<3>::get_support_points (const DoFHandler<3>::cell_iterator &,
 
 template <>
 void FEQ4<3>::get_face_support_points (const DoFHandler<3>::face_iterator &,
-                                      vector<Point<3> >  &) const
+                                      std::vector<Point<3> >  &) const
 {
   Assert (false, ExcNotImplemented());
 };
index b91fe98f8970d5f45bb6a4d418429052eac281df..9018115f87d0526eb29396fe0849250d589ac4cb 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -60,9 +60,9 @@ FESystem<dim>::build_cell_table()
                   ++local_index)
                {
                  system_to_component_table[total_index++]
-                   = make_pair (comp_start+m,
-                                vertex_number*base_element(base).dofs_per_vertex
-                                +local_index);
+                   = std::make_pair (comp_start+m,
+                                     vertex_number*base_element(base).dofs_per_vertex
+                                     +local_index);
                }
            }
          comp_start += element_multiplicity(base);
@@ -71,7 +71,7 @@ FESystem<dim>::build_cell_table()
   
                                   // 2. Lines
   for (unsigned int line_number= 0 ; ((line_number != GeometryInfo<dim>::lines_per_cell) &&
-                                 (GeometryInfo<dim>::lines_per_cell > 0));
+                                     (GeometryInfo<dim>::lines_per_cell > 0));
        ++line_number)
     {
       unsigned comp_start = 0;
@@ -85,7 +85,7 @@ FESystem<dim>::build_cell_table()
                   ++local_index)
                {
                  system_to_component_table[total_index++]
-                   = pair<unsigned,unsigned>
+                   = std::pair<unsigned,unsigned>
                    (comp_start+m,
                     line_number*base_element(base).dofs_per_line
                     +local_index+base_element(base).first_line_index);
@@ -112,9 +112,9 @@ FESystem<dim>::build_cell_table()
                   ++local_index)
                {
                  system_to_component_table[total_index++]
-                   = make_pair (comp_start+m,
-                                quad_number*base_element(base).dofs_per_quad
-                                +local_index+base_element(base).first_quad_index);
+                   = std::make_pair (comp_start+m,
+                                     quad_number*base_element(base).dofs_per_quad
+                                     +local_index+base_element(base).first_quad_index);
                }
            }
          comp_start += element_multiplicity(base);
@@ -138,9 +138,9 @@ FESystem<dim>::build_cell_table()
                   ++local_index)
                {
                  system_to_component_table[total_index++]
-                   = make_pair (comp_start+m,
-                                hex_number*base_element(base).dofs_per_hex
-                                +local_index+base_element(base).first_hex_index);
+                   = std::make_pair (comp_start+m,
+                                     hex_number*base_element(base).dofs_per_hex
+                                     +local_index+base_element(base).first_hex_index);
                }
            }
          comp_start += element_multiplicity(base);
@@ -191,7 +191,7 @@ FESystem<dim>::build_face_table()
                   ++local_index)
                {
                  face_system_to_component_table[total_index++]
-                   = pair<unsigned,unsigned>
+                   = std::pair<unsigned,unsigned>
                    (comp_start+m,
                     vertex_number*base_element(base).dofs_per_vertex+local_index);
                }
@@ -218,7 +218,7 @@ FESystem<dim>::build_face_table()
                   ++local_index)
                {
                  face_system_to_component_table[total_index++]
-                   = pair<unsigned,unsigned>
+                   = std::pair<unsigned,unsigned>
                    (comp_start+m,
                     line_number*base_element(base).dofs_per_line
                     +local_index+base_element(base).first_face_line_index);
@@ -246,7 +246,7 @@ FESystem<dim>::build_face_table()
                   ++local_index)
                {
                  face_system_to_component_table[total_index++]
-                   = pair<unsigned,unsigned>
+                   = std::pair<unsigned,unsigned>
                    (comp_start+m,
                     quad_number*base_element(base).dofs_per_quad
                     +local_index+base_element(base).first_face_quad_index);
@@ -298,10 +298,10 @@ void FESystem<dim>::build_interface_constraints ()
                                         //
                                         // first value in pair is component,
                                         // second is index
-       const pair<unsigned int, unsigned int> n_index
+       const std::pair<unsigned int, unsigned int> n_index
          = face_system_to_component_index (n);
 
-       pair<unsigned int, unsigned int> m_index;
+       std::pair<unsigned int, unsigned int> m_index;
        switch (dim)
          {
            case 1:
@@ -350,12 +350,12 @@ void FESystem<dim>::build_interface_constraints ()
                                    (GeometryInfo<2>::vertices_per_cell * dofs_per_vertex
                                     + index_in_line).second
                                    - base_element (component_to_base_table[m_index.first]).first_line_index)
-                                                  // then add the number of dofs
-                                                  // per vertex to get the index
-                                                  // on the first line
+                                                                   // then add the number of dofs
+                                                                   // per vertex to get the index
+                                                                   // on the first line
                                   + base_element(component_to_base_table[m_index.first]).dofs_per_vertex
-                                                  // if on the second line: add
-                                                  // some more
+                                                                   // if on the second line: add
+                                                                   // some more
                                   + base_element(component_to_base_table[m_index.first]).dofs_per_line * sub_line;
                };
              break;
@@ -670,11 +670,11 @@ FESystem<3>::multiply_dof_numbers (const FiniteElementData<3> &fe1,
 
 
 template <int dim>
-vector<bool>
+std::vector<bool>
 FESystem<dim>::compute_restriction_is_additive_flags (const FiniteElement<dim> &fe,
                                                      const unsigned int n_elements) 
 {
-  vector<bool> tmp;
+  std::vector<bool> tmp;
   for (unsigned int i=0; i<n_elements; ++i)
     for (unsigned int component=0; component<fe.n_components(); ++component)
       tmp.push_back (fe.restriction_is_additive (component));
@@ -683,13 +683,13 @@ FESystem<dim>::compute_restriction_is_additive_flags (const FiniteElement<dim> &
 
 
 template <int dim>
-vector<bool>
+std::vector<bool>
 FESystem<dim>::compute_restriction_is_additive_flags (const FiniteElement<dim> &fe1,
                                                      const unsigned int        N1,
                                                      const FiniteElement<dim> &fe2,
                                                      const unsigned int        N2) 
 {
-  vector<bool> tmp;
+  std::vector<bool> tmp;
   for (unsigned int i=0; i<N1; ++i)
     for (unsigned int component=0; component<fe1.n_components(); ++component)
       tmp.push_back (fe1.restriction_is_additive (component));
@@ -701,7 +701,7 @@ FESystem<dim>::compute_restriction_is_additive_flags (const FiniteElement<dim> &
 
 
 template <int dim>
-vector<bool>
+std::vector<bool>
 FESystem<dim>::compute_restriction_is_additive_flags (const FiniteElement<dim> &fe1,
                                                      const unsigned int        N1,
                                                      const FiniteElement<dim> &fe2,
@@ -709,7 +709,7 @@ FESystem<dim>::compute_restriction_is_additive_flags (const FiniteElement<dim> &
                                                      const FiniteElement<dim> &fe3,
                                                      const unsigned int        N3) 
 {
-  vector<bool> tmp;
+  std::vector<bool> tmp;
   for (unsigned int i=0; i<N1; ++i)
     for (unsigned int component=0; component<fe1.n_components(); ++component)
       tmp.push_back (fe1.restriction_is_additive (component));
@@ -730,7 +730,7 @@ FESystem<dim>::shape_value (const unsigned int i,
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
-  pair<unsigned,unsigned> comp = system_to_component_index(i);
+  std::pair<unsigned,unsigned> comp = system_to_component_index(i);
   
   return base_element(component_to_base_table[comp.first])
     .shape_value(comp.second, p);
@@ -744,7 +744,7 @@ FESystem<dim>::shape_grad (const unsigned int  i,
 {
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
-  pair<unsigned,unsigned> comp = system_to_component_index(i);
+  std::pair<unsigned,unsigned> comp = system_to_component_index(i);
   
   return base_element(component_to_base_table[comp.first])
     .shape_grad(comp.second, p);
@@ -755,11 +755,11 @@ template <int dim>
 Tensor<2,dim>
 FESystem<dim>::shape_grad_grad (const unsigned int  i,
                                const Point<dim>   &p) const
- {
+{
   Assert((i<dofs_per_cell), ExcIndexRange(i, 0, dofs_per_cell));
 
 
-  pair<unsigned,unsigned> comp = system_to_component_index(i);
+  std::pair<unsigned,unsigned> comp = system_to_component_index(i);
   
   return base_element(component_to_base_table[comp.first])
     .shape_grad_grad(comp.second, p);
@@ -768,14 +768,14 @@ FESystem<dim>::shape_grad_grad (const unsigned int  i,
 
 template <int dim>
 void FESystem<dim>::get_unit_support_points (
-  vector<Point<dim> > &unit_support_points) const
+  std::vector<Point<dim> > &unit_support_points) const
 {
   Assert(unit_support_points.size() == dofs_per_cell,
         typename FiniteElementBase<dim>::
         ExcWrongFieldDimension (unit_support_points.size(),
                                 dofs_per_cell));
 
-  vector<Point<dim> > base_unit_support_points (base_element(0).dofs_per_cell);
+  std::vector<Point<dim> > base_unit_support_points (base_element(0).dofs_per_cell);
   unsigned int component = 0;
   for (unsigned int base_el=0 ; base_el<n_base_elements(); ++base_el)
     {
@@ -821,14 +821,14 @@ void FESystem<dim>::get_unit_support_points (
 
 template <int dim>
 void FESystem<dim>::get_support_points (const DoFHandler<dim>::cell_iterator &cell,
-                                       vector<Point<dim> > &support_points) const
+                                       std::vector<Point<dim> > &support_points) const
 {
   Assert(support_points.size() == dofs_per_cell,
         typename FiniteElementBase<dim>::
         ExcWrongFieldDimension (support_points.size(),
                                 dofs_per_cell));
 
-  vector<Point<dim> > base_support_points (base_element(0).dofs_per_cell);
+  std::vector<Point<dim> > base_support_points (base_element(0).dofs_per_cell);
   unsigned int component = 0;
   for (unsigned int base_el=0 ; base_el<n_base_elements(); ++base_el)
     {
@@ -852,14 +852,14 @@ void FESystem<dim>::get_support_points (const DoFHandler<dim>::cell_iterator &ce
 
 template <int dim>
 void FESystem<dim>::get_face_support_points (const DoFHandler<dim>::face_iterator & face,
-                                            vector<Point<dim> > & support_points) const
+                                            std::vector<Point<dim> > & support_points) const
 {
   Assert (support_points.size() == dofs_per_face,
          typename FiniteElementBase<dim>::
          ExcWrongFieldDimension (support_points.size(),
                                  dofs_per_face));
 
-  vector<Point<dim> > base_support_points (base_element(0).dofs_per_face);
+  std::vector<Point<dim> > base_support_points (base_element(0).dofs_per_face);
   unsigned int comp = 0;
   for (unsigned int base=0 ; base<n_base_elements(); ++base)
     {
@@ -873,7 +873,7 @@ void FESystem<dim>::get_face_support_points (const DoFHandler<dim>::face_iterato
                = base_support_points[i];
            }
          
-             ++comp;
+         ++comp;
        }
     }
 }
@@ -914,7 +914,7 @@ void FESystem<dim>::get_local_mass_matrix (const DoFHandler<dim>::cell_iterator
        {
          for (unsigned int i=0; i<base_element_dofs_per_cell; ++i)
            for (unsigned int j=0; j<base_element_dofs_per_cell; ++j)
-                                            // only fill diagonals of the blocks
+                                              // only fill diagonals of the blocks
              local_mass_matrix (component_to_system_index(component,i),
                                 component_to_system_index(component,j))
                = base_mass_matrix (i,j);
@@ -961,8 +961,8 @@ Tensor<1,dim> FESystem<dim>::shape_grad_transform (const unsigned int i,
 
 template <int dim>
 void FESystem<dim>::get_face_jacobians (const DoFHandler<dim>::face_iterator &face,
-                                       const vector<Point<dim-1> > &unit_points,
-                                       vector<double>      &face_jacobi_determinants) const
+                                       const std::vector<Point<dim-1> > &unit_points,
+                                       std::vector<double>      &face_jacobi_determinants) const
 {
   base_elements[0].first->get_face_jacobians (face, unit_points,
                                              face_jacobi_determinants);
@@ -972,22 +972,22 @@ void FESystem<dim>::get_face_jacobians (const DoFHandler<dim>::face_iterator &fa
 template <int dim>
 void FESystem<dim>::get_subface_jacobians (const DoFHandler<dim>::face_iterator &face,
                                           const unsigned int           subface_no,
-                                          const vector<Point<dim-1> > &unit_points,
-                                          vector<double>      &face_jacobi_determinants) const
+                                          const std::vector<Point<dim-1> > &unit_points,
+                                          std::vector<double>      &face_jacobi_determinants) const
 {
   base_elements[0].first->get_subface_jacobians (face, subface_no, unit_points,
-                                          face_jacobi_determinants);
+                                                face_jacobi_determinants);
 };
 
 
 template <int dim>
 void FESystem<dim>::get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                        const unsigned int          face_no,
-                                       const vector<Point<dim-1> > &unit_points,
-                                       vector<Point<dim> >         &normal_vectors) const
+                                       const std::vector<Point<dim-1> > &unit_points,
+                                       std::vector<Point<dim> >         &normal_vectors) const
 {
   base_elements[0].first->get_normal_vectors (cell, face_no, unit_points,
-                                       normal_vectors);
+                                             normal_vectors);
 };
 
 
@@ -995,37 +995,37 @@ template <int dim>
 void FESystem<dim>::get_normal_vectors (const DoFHandler<dim>::cell_iterator &cell,
                                        const unsigned int          face_no,
                                        const unsigned int          subface_no,
-                                       const vector<Point<dim-1> > &unit_points,
-                                       vector<Point<dim> >         &normal_vectors) const
+                                       const std::vector<Point<dim-1> > &unit_points,
+                                       std::vector<Point<dim> >         &normal_vectors) const
 {
   base_elements[0].first->get_normal_vectors (cell, face_no, subface_no, unit_points,
-                                   normal_vectors);
+                                             normal_vectors);
 };
 
 
 template <int dim>
 void
 FESystem<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &cell,
-                              const vector<Point<dim> >            &unit_points,
-                              vector<Tensor<2,dim> >               &jacobians,
+                              const std::vector<Point<dim> >            &unit_points,
+                              std::vector<Tensor<2,dim> >               &jacobians,
                               const bool              compute_jacobians,
-                              vector<Tensor<3,dim> > &jacobians_grad,
+                              std::vector<Tensor<3,dim> > &jacobians_grad,
                               const bool              compute_jacobians_grad,
-                              vector<Point<dim> > &support_points,
+                              std::vector<Point<dim> > &support_points,
                               const bool           compute_support_points,
-                              vector<Point<dim> > &q_points,
+                              std::vector<Point<dim> > &q_points,
                               const bool           compute_q_points,
                               const FullMatrix<double>  &shape_values_transform,
-                              const vector<vector<Tensor<1,dim> > > &shape_grad_transform) const
+                              const std::vector<std::vector<Tensor<1,dim> > > &shape_grad_transform) const
 {
                                   // if we are to compute the support
                                   // points, then we need to get them
                                   // from each base element. the
                                   // following variable is used as
                                   // temporary
-  vector<Point<dim> > supp(compute_support_points ?
-                          base_elements[0].first->dofs_per_cell :
-                          0);
+  std::vector<Point<dim> > supp(compute_support_points ?
+                               base_elements[0].first->dofs_per_cell :
+                               0);
 
   base_elements[0].first->fill_fe_values (cell, unit_points, jacobians, compute_jacobians,
                                          jacobians_grad, compute_jacobians_grad,
index 63ad0ced20350f24e94585cbe798a398743818eb..f72796dc7f5ba2c48e5b695a0f83227ca7ec94fc 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -42,8 +42,8 @@ void FETools::get_interpolation_matrix(const FiniteElement<dim> &fe1,
                                   // Initialize FEValues for fe1 at
                                   // the unit support points of the
                                   // fe2 element.
-  vector<double> phantom_weights(fe2.dofs_per_cell,1.);
-  vector<Point<dim> > fe2_support_points (fe2.dofs_per_cell);
+  std::vector<double> phantom_weights(fe2.dofs_per_cell,1.);
+  std::vector<Point<dim> > fe2_support_points (fe2.dofs_per_cell);
   fe2.get_unit_support_points (fe2_support_points);
   Quadrature<dim> fe2_support_points_quadrature(fe2_support_points,
                                                phantom_weights);
@@ -117,7 +117,7 @@ void FETools::get_interpolation_difference_matrix(const FiniteElement<dim> &fe1,
   for (unsigned int i=0; i<fe1.dofs_per_cell; ++i)
     difference_matrix(i,i) = 1.;
   
-                                    // compute difference
+                                  // compute difference
   difference_matrix.add (-1, interpolation_matrix);
 }
 
@@ -151,8 +151,8 @@ void FETools::interpolate(const DoFHandler<dim> &dof1,
                                        cell2 = dof2.begin_active(),
                                        endc2 = dof2.end();
 
-  vector<unsigned int> index_multiplicity(dof2.n_dofs(),0);
-  vector<unsigned int> dofs (dofs_per_cell2);
+  std::vector<unsigned int> index_multiplicity(dof2.n_dofs(),0);
+  std::vector<unsigned int> dofs (dofs_per_cell2);
   u2.clear ();
   
   for (; cell1!=endc1, cell2!=endc2; ++cell1, ++cell2) 
index c93fc0803904df5b04a52c62212826a44482d1a8..c61e3d396614a438459ebb6c1b1396eefa1c3141 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -40,8 +40,8 @@ FEValuesBase<dim>::FEValuesBase (const unsigned int n_q_points,
                dofs_per_cell (dofs_per_cell),
                n_transform_functions (n_transform_functions),
                shape_values (n_values_arrays, FullMatrix<double>(dofs_per_cell, n_q_points)),
-               shape_gradients (dofs_per_cell, vector<Tensor<1,dim> >(n_q_points)),
-               shape_2nd_derivatives (dofs_per_cell, vector<Tensor<2,dim> >(n_q_points)),
+               shape_gradients (dofs_per_cell, std::vector<Tensor<1,dim> >(n_q_points)),
+               shape_2nd_derivatives (dofs_per_cell, std::vector<Tensor<2,dim> >(n_q_points)),
                weights (n_q_points, 0),
                JxW_values (n_q_points, 0),
                quadrature_points (n_q_points, Point<dim>()),
@@ -78,7 +78,7 @@ double FEValuesBase<dim>::shape_value (const unsigned int i,
 template <int dim>
 template <class InputVector, typename number>
 void FEValuesBase<dim>::get_function_values (const InputVector &fe_function,
-                                            vector<number>    &values) const
+                                            std::vector<number>    &values) const
 {
   Assert (fe->n_components() == 1,
          ExcWrongNoOfComponents());
@@ -112,7 +112,7 @@ void FEValuesBase<dim>::get_function_values (const InputVector &fe_function,
 template <int dim>
 template <class InputVector, typename number>
 void FEValuesBase<dim>::get_function_values (const InputVector       &fe_function,
-                                            vector<Vector<number> > &values) const
+                                            std::vector<Vector<number> > &values) const
 {
   Assert (n_quadrature_points == values.size(),
          ExcWrongVectorSize(values.size(), n_quadrature_points));
@@ -133,7 +133,7 @@ void FEValuesBase<dim>::get_function_values (const InputVector       &fe_functio
   
                                   // initialize with zero
   for (unsigned i=0;i<values.size();++i)
-    fill_n (values[i].begin(), values[i].size(), 0);
+    std::fill_n (values[i].begin(), values[i].size(), 0);
 
                                   // add up contributions of trial
                                   // functions
@@ -164,7 +164,7 @@ FEValuesBase<dim>::shape_grad (const unsigned int i,
 template <int dim>
 template <class InputVector>
 void FEValuesBase<dim>::get_function_grads (const InputVector      &fe_function,
-                                           vector<Tensor<1,dim> > &gradients) const
+                                           std::vector<Tensor<1,dim> > &gradients) const
 {
   Assert (fe->n_components() == 1,
          ExcWrongNoOfComponents());
@@ -199,7 +199,7 @@ void FEValuesBase<dim>::get_function_grads (const InputVector      &fe_function,
 template <int dim>
 template <class InputVector>
 void FEValuesBase<dim>::get_function_grads (const InputVector               &fe_function,
-                                           vector<vector<Tensor<1,dim> > > &gradients) const
+                                           std::vector<std::vector<Tensor<1,dim> > > &gradients) const
 {
   Assert (n_quadrature_points == gradients.size(),
          ExcWrongNoOfComponents());
@@ -255,7 +255,7 @@ FEValuesBase<dim>::shape_2nd_derivative (const unsigned int i,
 template <int dim>
 template <class InputVector>
 void FEValuesBase<dim>::get_function_2nd_derivatives (const InputVector      &fe_function,
-                                                     vector<Tensor<2,dim> > &second_derivatives) const
+                                                     std::vector<Tensor<2,dim> > &second_derivatives) const
 {
   Assert (fe->n_components() == 1,
          ExcWrongNoOfComponents());
@@ -292,7 +292,7 @@ template <class InputVector>
 void
 FEValuesBase<dim>::
 get_function_2nd_derivatives (const InputVector               &fe_function,
-                             vector<vector<Tensor<2,dim> > > &second_derivs) const
+                             std::vector<std::vector<Tensor<2,dim> > > &second_derivs) const
 {
   Assert (n_quadrature_points == second_derivs.size(),
          ExcWrongNoOfComponents());
@@ -400,13 +400,13 @@ FEValues<dim>::FEValues (const FiniteElement<dim> &fe,
                                   1,
                                   update_flags,
                                   fe),
-               unit_shape_gradients(fe.dofs_per_cell,
-                                    vector<Tensor<1,dim> >(quadrature.n_quadrature_points)),
-               unit_shape_2nd_derivatives(fe.dofs_per_cell,
-                                          vector<Tensor<2,dim> >(quadrature.n_quadrature_points)),
-               unit_shape_gradients_transform(fe.n_transform_functions(),
-                                              vector<Tensor<1,dim> >(quadrature.n_quadrature_points)),
-               unit_quadrature_points(quadrature.get_points())
+  unit_shape_gradients(fe.dofs_per_cell,
+                      std::vector<Tensor<1,dim> >(quadrature.n_quadrature_points)),
+                        unit_shape_2nd_derivatives(fe.dofs_per_cell,
+                                                   std::vector<Tensor<2,dim> >(quadrature.n_quadrature_points)),
+                                                     unit_shape_gradients_transform(fe.n_transform_functions(),
+                                                                                    std::vector<Tensor<1,dim> >(quadrature.n_quadrature_points)),
+                                                                                      unit_quadrature_points(quadrature.get_points())
 {
   Assert ((update_flags & update_normal_vectors) == false,
          typename FEValuesBase<dim>::ExcInvalidUpdateFlag());
@@ -496,7 +496,7 @@ void FEValues<dim>::reinit (const typename DoFHandler<dim>::cell_iterator &cell)
     for (unsigned int i=0; i<fe->dofs_per_cell; ++i)
       for (unsigned int j=0; j<n_quadrature_points; ++j)
        {
-                                                  // tmp1 := (d_k d_l phi) J_lj
+                                          // tmp1 := (d_k d_l phi) J_lj
          contract (tmp1, unit_shape_2nd_derivatives[i][j], jacobi_matrices[j]);
                                           // tmp2 := tmp1_kj J_ki
          contract (tmp2, tmp1, 1, jacobi_matrices[j], 1);
@@ -558,20 +558,20 @@ FEFaceValuesBase<dim>::FEFaceValuesBase (const unsigned int n_q_points,
                                   n_faces_or_subfaces,
                                   update_flags,
                                   fe),
-               unit_shape_gradients (n_faces_or_subfaces,
-                                     vector<vector<Tensor<1,dim> > >(dofs_per_cell,
-                                                                  vector<Tensor<1,dim> >(n_q_points))),
-               unit_shape_2nd_derivatives(n_faces_or_subfaces,
-                                          vector<vector<Tensor<2,dim> > >(dofs_per_cell,
-                                                                          vector<Tensor<2,dim> >(n_q_points))),
-               unit_shape_gradients_transform (n_faces_or_subfaces,
-                                               vector<vector<Tensor<1,dim> > >(n_transform_functions,
-                                                                               vector<Tensor<1,dim> >(n_q_points))),
-               unit_face_quadrature_points (n_q_points, Point<dim-1>()),
-               unit_quadrature_points (n_faces_or_subfaces,
-                                       vector<Point<dim> >(n_q_points, Point<dim>())),
-               face_jacobi_determinants (n_q_points, 0),
-               normal_vectors (n_q_points)
+  unit_shape_gradients (n_faces_or_subfaces,
+                       std::vector<std::vector<Tensor<1,dim> > >(dofs_per_cell,
+                                                                 std::vector<Tensor<1,dim> >(n_q_points))),
+                                                                   unit_shape_2nd_derivatives(n_faces_or_subfaces,
+                                                                                              std::vector<std::vector<Tensor<2,dim> > >(dofs_per_cell,
+                                                                                                                                        std::vector<Tensor<2,dim> >(n_q_points))),
+                                                                                                                                          unit_shape_gradients_transform (n_faces_or_subfaces,
+                                                                                                                                                                          std::vector<std::vector<Tensor<1,dim> > >(n_transform_functions,
+                                                                                                                                                                                                                    std::vector<Tensor<1,dim> >(n_q_points))),
+                                                                                                                                                                                                                      unit_face_quadrature_points (n_q_points, Point<dim-1>()),
+                                                                                                                                                                                                                                                     unit_quadrature_points (n_faces_or_subfaces,
+                                                                                                                                                                                                                                                                             std::vector<Point<dim> >(n_q_points, Point<dim>())),
+                                                                                                                                                                                                                                                                                                        face_jacobi_determinants (n_q_points, 0),
+                                                                                                                                                                                                                                                                                                        normal_vectors (n_q_points)
 {};
 
 
@@ -815,8 +815,8 @@ FESubfaceValues<dim>::FESubfaceValues (const FiniteElement<dim> &fe,
            if (update_flags & update_second_derivatives)
              unit_shape_2nd_derivatives[face*GeometryInfo<dim>::subfaces_per_face+subface][i][j]
                = fe.shape_grad_grad(i, unit_quadrature_points[face *
-                                                           GeometryInfo<dim>::
-                                                           subfaces_per_face+subface][j]);
+                                                             GeometryInfo<dim>::
+                                                             subfaces_per_face+subface][j]);
          };
   for (unsigned int i=0; i<n_transform_functions; ++i)
     for (unsigned int j=0; j<n_quadrature_points; ++j)
@@ -971,69 +971,69 @@ template class FESubfaceValues<deal_II_dimension>;
 
 template
 void FEValuesBase<deal_II_dimension>::get_function_values (const Vector<double> &,
-                                            vector<double>       &) const;
+                                                          std::vector<double>       &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_values (const Vector<float> &,
-                                            vector<float>      &) const;
+                                                          std::vector<float>      &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_values (const BlockVector<double> &,
-                                            vector<double>      &) const;
+                                                          std::vector<double>      &) const;
 
 //-----------------------------------------------------------------------------
 
 template
 void FEValuesBase<deal_II_dimension>::get_function_values (const Vector<double> &,
-                                            vector<Vector<double> > &) const;
+                                                          std::vector<Vector<double> > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_values (const Vector<float> &,
-                                            vector<Vector<float> > &) const;
+                                                          std::vector<Vector<float> > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_values (const BlockVector<double> &,
-                                            vector<Vector<double> >     &) const;
+                                                          std::vector<Vector<double> >     &) const;
 
 //-----------------------------------------------------------------------------
 
 template
 void FEValuesBase<deal_II_dimension>::get_function_grads (const Vector<double> &,
-                                           vector<Tensor<1,deal_II_dimension> > &) const;
+                                                         std::vector<Tensor<1,deal_II_dimension> > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_grads (const Vector<float> &,
-                                            vector<Tensor<1,deal_II_dimension> > &) const;
+                                                         std::vector<Tensor<1,deal_II_dimension> > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_grads (const BlockVector<double> &,
-                                            vector<Tensor<1,deal_II_dimension> > &) const;
+                                                         std::vector<Tensor<1,deal_II_dimension> > &) const;
 
 //-----------------------------------------------------------------------------
 
 template
 void FEValuesBase<deal_II_dimension>::get_function_grads (const Vector<double> &,
-                                            vector<vector<Tensor<1,deal_II_dimension> > > &) const;
+                                                         std::vector<std::vector<Tensor<1,deal_II_dimension> > > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_grads (const Vector<float> &,
-                                            vector<vector<Tensor<1,deal_II_dimension> > > &) const;
+                                                         std::vector<std::vector<Tensor<1,deal_II_dimension> > > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_grads (const BlockVector<double> &,
-                                            vector<vector<Tensor<1,deal_II_dimension> > > &) const;
+                                                         std::vector<std::vector<Tensor<1,deal_II_dimension> > > &) const;
 
 //-----------------------------------------------------------------------------
 
 template
 void FEValuesBase<deal_II_dimension>::get_function_2nd_derivatives (const Vector<double> &,
-                                           vector<Tensor<2,deal_II_dimension> > &) const;
+                                                                   std::vector<Tensor<2,deal_II_dimension> > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_2nd_derivatives (const Vector<float> &,
-                                            vector<Tensor<2,deal_II_dimension> > &) const;
+                                                                   std::vector<Tensor<2,deal_II_dimension> > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_2nd_derivatives (const BlockVector<double> &,
-                                            vector<Tensor<2,deal_II_dimension> > &) const;
+                                                                   std::vector<Tensor<2,deal_II_dimension> > &) const;
 //-----------------------------------------------------------------------------
 
 template
 void FEValuesBase<deal_II_dimension>::get_function_2nd_derivatives (const Vector<double> &,
-                                           vector<vector<Tensor<2,deal_II_dimension> > > &) const;
+                                                                   std::vector<std::vector<Tensor<2,deal_II_dimension> > > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_2nd_derivatives (const Vector<float> &,
-                                            vector<vector<Tensor<2,deal_II_dimension> > > &) const;
+                                                                   std::vector<std::vector<Tensor<2,deal_II_dimension> > > &) const;
 template
 void FEValuesBase<deal_II_dimension>::get_function_2nd_derivatives (const BlockVector<double> &,
-                                            vector<vector<Tensor<2,deal_II_dimension> > > &) const;
+                                                                   std::vector<std::vector<Tensor<2,deal_II_dimension> > > &) const;
index e0e42046e6a9f2d6a40fd14b512bd29233407d23..d886e68c310d2c6e501d2559efa3be8c4db4c4fa 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -33,7 +33,7 @@ FEQ1Mapping<1>::FEQ1Mapping (const unsigned int dofs_per_vertex,
                             const unsigned int dofs_per_quad,
                             const unsigned int dofs_per_hex,
                             const unsigned int n_components,
-                            const vector<bool> &restriction_is_additive_flags) :
+                            const std::vector<bool> &restriction_is_additive_flags) :
                FiniteElement<1> (FiniteElementData<1> (dofs_per_vertex,
                                                        dofs_per_line,
                                                        GeometryInfo<1>::vertices_per_cell,
@@ -78,8 +78,8 @@ FEQ1Mapping<1>::shape_grad_transform(const unsigned int i,
 
 template <>
 void FEQ1Mapping<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
-                                        const vector<Point<0> > &,
-                                        vector<double>      &) const {
+                                        const std::vector<Point<0> > &,
+                                        std::vector<double>      &) const {
   Assert (false, ExcInternalError());
 };
 
@@ -87,8 +87,8 @@ void FEQ1Mapping<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
 template <>
 void FEQ1Mapping<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &,
                                            const unsigned int           ,
-                                           const vector<Point<0> > &,
-                                           vector<double>      &) const {
+                                           const std::vector<Point<0> > &,
+                                           std::vector<double>      &) const {
   Assert (false, ExcInternalError());
 };
 
@@ -96,8 +96,8 @@ void FEQ1Mapping<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &
 template <>
 void FEQ1Mapping<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                         const unsigned int,
-                                        const vector<Point<0> > &,
-                                        vector<Point<1> > &) const {
+                                        const std::vector<Point<0> > &,
+                                        std::vector<Point<1> > &) const {
   Assert (false, ExcInternalError());
 };
 
@@ -106,25 +106,25 @@ template <>
 void FEQ1Mapping<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                         const unsigned int,
                                         const unsigned int,
-                                        const vector<Point<0> > &,
-                                        vector<Point<1> > &) const {
+                                        const std::vector<Point<0> > &,
+                                        std::vector<Point<1> > &) const {
   Assert (false, ExcInternalError());
 };
 
 
 template <>
 void FEQ1Mapping<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
-                                    const vector<Point<1> > &unit_points,
-                                    vector<Tensor<2,1> >    &jacobians,
+                                    const std::vector<Point<1> > &unit_points,
+                                    std::vector<Tensor<2,1> >    &jacobians,
                                     const bool            compute_jacobians,
-                                    vector<Tensor<3,1> > &jacobians_grad,
+                                    std::vector<Tensor<3,1> > &jacobians_grad,
                                     const bool            compute_jacobians_grad,
-                                    vector<Point<1> >    &support_points,
+                                    std::vector<Point<1> >    &support_points,
                                     const bool            compute_support_points,
-                                    vector<Point<1> >    &q_points,
+                                    std::vector<Point<1> >    &q_points,
                                     const bool            compute_q_points,
                                     const FullMatrix<double>       &shape_values_transform,
-                                    const vector<vector<Tensor<1,1> > > &shape_gradients_transform) const {
+                                    const std::vector<std::vector<Tensor<1,1> > > &shape_gradients_transform) const {
                                   // simply pass down
   FiniteElement<1>::fill_fe_values (cell, unit_points,
                                    jacobians, compute_jacobians,
@@ -146,7 +146,7 @@ FEQ1Mapping<2>::FEQ1Mapping (const unsigned int dofs_per_vertex,
                             const unsigned int dofs_per_quad,
                             const unsigned int dofs_per_hex,
                             const unsigned int n_components,
-                            const vector<bool> &restriction_is_additive_flags) :
+                            const std::vector<bool> &restriction_is_additive_flags) :
                FiniteElement<2> (FiniteElementData<2> (dofs_per_vertex,
                                                        dofs_per_line,
                                                        dofs_per_quad,
@@ -194,8 +194,8 @@ FEQ1Mapping<2>::shape_grad_transform (const unsigned int i,
 
 template <>
 void FEQ1Mapping<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &face,
-                                        const vector<Point<1> > &unit_points,
-                                        vector<double> &face_jacobians) const {
+                                        const std::vector<Point<1> > &unit_points,
+                                        std::vector<double> &face_jacobians) const {
                                   // more or less copied from the linear
                                   // finite element
   Assert (unit_points.size() == face_jacobians.size(),
@@ -215,8 +215,8 @@ void FEQ1Mapping<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &fac
 template <>
 void FEQ1Mapping<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator &face,
                                            const unsigned int           ,
-                                           const vector<Point<1> > &unit_points,
-                                           vector<double> &face_jacobians) const {
+                                           const std::vector<Point<1> > &unit_points,
+                                           std::vector<double> &face_jacobians) const {
                                   // more or less copied from the linear
                                   // finite element
   Assert (unit_points.size() == face_jacobians.size(),
@@ -238,8 +238,8 @@ void FEQ1Mapping<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator &
 template <>
 void FEQ1Mapping<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
                                         const unsigned int       face_no,
-                                        const vector<Point<1> > &unit_points,
-                                        vector<Point<2> > &normal_vectors) const {
+                                        const std::vector<Point<1> > &unit_points,
+                                        std::vector<Point<2> > &normal_vectors) const {
                                   // more or less copied from the linear
                                   // finite element
   Assert (unit_points.size() == normal_vectors.size(),
@@ -269,8 +269,8 @@ template <>
 void FEQ1Mapping<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
                                         const unsigned int       face_no,
                                         const unsigned int,
-                                        const vector<Point<1> > &unit_points,
-                                        vector<Point<2> > &normal_vectors) const {
+                                        const std::vector<Point<1> > &unit_points,
+                                        std::vector<Point<2> > &normal_vectors) const {
                                   // more or less copied from the linear
                                   // finite element
                                   // note, that in 2D the normal vectors to the
@@ -311,7 +311,7 @@ FEQ1Mapping<3>::FEQ1Mapping (const unsigned int dofs_per_vertex,
                             const unsigned int dofs_per_quad,
                             const unsigned int dofs_per_hex,
                             const unsigned int n_components,
-                            const vector<bool> &restriction_is_additive_flags) :
+                            const std::vector<bool> &restriction_is_additive_flags) :
                FiniteElement<3> (FiniteElementData<3> (dofs_per_vertex,
                                                        dofs_per_line,
                                                        dofs_per_quad,
@@ -382,8 +382,8 @@ FEQ1Mapping<3>::shape_grad_transform (const unsigned int i,
 
 template <>
 void FEQ1Mapping<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &face,
-                                        const vector<Point<2> > &unit_points,
-                                        vector<double> &face_jacobians) const {
+                                        const std::vector<Point<2> > &unit_points,
+                                        std::vector<double> &face_jacobians) const {
   Assert (unit_points.size() == face_jacobians.size(),
          ExcWrongFieldDimension (unit_points.size(), face_jacobians.size()));
 
@@ -454,8 +454,8 @@ void FEQ1Mapping<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &fac
 template <>
 void FEQ1Mapping<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator &/*face*/,
                                            const unsigned int           ,
-                                           const vector<Point<2> > &unit_points,
-                                           vector<double> &face_jacobians) const {
+                                           const std::vector<Point<2> > &unit_points,
+                                           std::vector<double> &face_jacobians) const {
   Assert (false,
          ExcWrongFieldDimension (unit_points.size(), face_jacobians.size()));
 };
@@ -464,8 +464,8 @@ void FEQ1Mapping<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator &
 template <>
 void FEQ1Mapping<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &cell,
                                         const unsigned int       face_no,
-                                        const vector<Point<2> > &unit_points,
-                                        vector<Point<3> > &normal_vectors) const {
+                                        const std::vector<Point<2> > &unit_points,
+                                        std::vector<Point<3> > &normal_vectors) const {
   Assert (unit_points.size() == normal_vectors.size(),
          ExcWrongFieldDimension (unit_points.size(), normal_vectors.size()));
   
@@ -519,8 +519,8 @@ template <>
 void FEQ1Mapping<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &/*cell*/,
                                         const unsigned int       /*face_no*/,
                                         const unsigned int,
-                                        const vector<Point<2> > &unit_points,
-                                        vector<Point<3> > &normal_vectors) const {
+                                        const std::vector<Point<2> > &unit_points,
+                                        std::vector<Point<3> > &normal_vectors) const {
                                   // more or less copied from the linear
                                   // finite element
                                   // note, that in 2D the normal vectors to the
@@ -589,7 +589,7 @@ Point<dim> FEQ1Mapping<dim>::transform_real_to_unit_cell (
       contract (d, df_1, f);
       
       p_unit -= d;
-                                  // f(x)
+                                      // f(x)
       p_real=transform_unit_to_real_cell(cell, p_unit);
       f = p_real-p;
     }
@@ -600,17 +600,17 @@ Point<dim> FEQ1Mapping<dim>::transform_real_to_unit_cell (
   
 template <int dim>
 void FEQ1Mapping<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &cell,
-                                      const vector<Point<dim> >            &unit_points,
-                                      vector<Tensor<2,dim> >               &jacobians,
+                                      const std::vector<Point<dim> >            &unit_points,
+                                      std::vector<Tensor<2,dim> >               &jacobians,
                                       const bool              compute_jacobians,
-                                      vector<Tensor<3,dim> > &jacobians_grad,
+                                      std::vector<Tensor<3,dim> > &jacobians_grad,
                                       const bool              compute_jacobians_grad,
-                                      vector<Point<dim> > &support_points,
+                                      std::vector<Point<dim> > &support_points,
                                       const bool           compute_support_points,
-                                      vector<Point<dim> > &q_points,
+                                      std::vector<Point<dim> > &q_points,
                                       const bool           compute_q_points,
                                       const FullMatrix<double>      &shape_values_transform,
-                                      const vector<vector<Tensor<1,dim> > > &shape_grad_transform) const
+                                      const std::vector<std::vector<Tensor<1,dim> > > &shape_grad_transform) const
 {
   Assert ((!compute_jacobians) || (jacobians.size() == unit_points.size()),
          typename FiniteElementBase<dim>::ExcWrongFieldDimension(jacobians.size(),
@@ -659,85 +659,85 @@ void FEQ1Mapping<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &cel
 
 /* jacobi matrices: compute d(x)/d(xi) and invert this
    Let M(l) be the inverse of J at the quadrature point l, then
-     M_{ij}(l) = sum_s p_i(s) d(N_s(l))/d(xi_j)
-   where p_i(s) is the i-th coordinate of the s-th vertex vector,
+   M_{ij}(l) = sum_s p_i(s) d(N_s(l))/d(xi_j)
+   where p_i(s) is the i-th coordinate of the s-th vertex std::vector,
    N_s(l) is the value of the s-th vertex shape function at the
    quadrature point l.
 
    We could therefore write:
    l=0..n_points-1
-     i=0..dim-1
-       j=0..dim-1
-         M_{ij}(l) = 0
-        s=0..n_vertices
-          M_{ij}(l) += p_i(s) d(N_s(l))/d(xi_j)
-
-  However, we rewrite the loops to only compute the gradient once for
-  each integration point and basis function.
-
-  One last note regarding whether we have to invert M or M transposed: it is
-  easy to try out, by computing the gradients of a function on a distorted
-  cell (just move one vertex) where the nodal values for linear elements
-  are one for the moved vertex and zero otherwise. Please also note that
-  when computing the gradients on the real cell, the jacobian matrix
-  is multiplied to the unit cell gradient *from the right*! be very careful
-  with these things.
-
-  The following little program tests the correct behaviour. The program can
-  also be found in the <tests> directory.
-
-  -------------------------------------------
-  #include <grid/tria.h>
-  #include <grid/tria_boundary.h>
-  #include <dofs/dof_handler.h>
-  #include <fe/fe_values.h>
-  #include <fe/fe_lib.lagrange.h>
-  #include <base/quadrature_lib.h>
-  #include <grid/tria_iterator.h>
-  #include <dofs/dof_accessor.h>
-  #include <lac/vector.h>
-
-  int main () {
-    Triangulation<2> tria;
-    tria.create_hypercube (0,1);
-    tria.begin_active()->vertex(2)(0) = 2;
-
-    DoFHandler<2> dof(&tria);
-    FELinear<2> fe;
-    dof.distribute_dofs(fe);
-
-    StraightBoundary<2> b;
-    QTrapez<2> q;
-    FEValues<2> fevalues(fe,q,update_gradients);
-    fevalues.reinit (dof.begin_active(),b);
-
-
-    Vector<double> val(4);
-    val(2) = 1;
-
-    vector<Point<2> > grads(4);
-    fevalues.get_function_grads (val, grads);
-
-    for (unsigned int i=0; i<4; ++i)
-      cout << "Vertex " << i
-          << "   grad=" << grads[i] << endl;
-  };
-  ---------------------------------------------
+   i=0..dim-1
+   j=0..dim-1
+   M_{ij}(l) = 0
+   s=0..n_vertices
+   M_{ij}(l) += p_i(s) d(N_s(l))/d(xi_j)
+
+   However, we rewrite the loops to only compute the gradient once for
+   each integration point and basis function.
+
+   One last note regarding whether we have to invert M or M transposed: it is
+   easy to try out, by computing the gradients of a function on a distorted
+   cell (just move one vertex) where the nodal values for linear elements
+   are one for the moved vertex and zero otherwise. Please also note that
+   when computing the gradients on the real cell, the jacobian matrix
+   is multiplied to the unit cell gradient *from the right*! be very careful
+   with these things.
+
+   The following little program tests the correct behaviour. The program can
+   also be found in the <tests> directory.
+
+   -------------------------------------------
+   #include <grid/tria.h>
+   #include <grid/tria_boundary.h>
+   #include <dofs/dof_handler.h>
+   #include <fe/fe_values.h>
+   #include <fe/fe_lib.lagrange.h>
+   #include <base/quadrature_lib.h>
+   #include <grid/tria_iterator.h>
+   #include <dofs/dof_accessor.h>
+   #include <lac/vector.h>
+
+   int main () {
+   Triangulation<2> tria;
+   tria.create_hypercube (0,1);
+   tria.begin_active()->vertex(2)(0) = 2;
+
+   DoFHandler<2> dof(&tria);
+   FELinear<2> fe;
+   dof.distribute_dofs(fe);
+
+   StraightBoundary<2> b;
+   QTrapez<2> q;
+   FEValues<2> fevalues(fe,q,update_gradients);
+   fevalues.reinit (dof.begin_active(),b);
+
+
+   Vector<double> val(4);
+   val(2) = 1;
+
+   std::vector<Point<2> > grads(4);
+   fevalues.get_function_grads (val, grads);
+
+   for (unsigned int i=0; i<4; ++i)
+   std::cout << "Vertex " << i
+   << "   grad=" << grads[i] << std::endl;
+   };
+   ---------------------------------------------
   
-  The correct output should be
-  --------------------------------
-  Vertex 0   grad=0 0
-  Vertex 1   grad=0.5 0
-  Vertex 2   grad=0 1
-  Vertex 3   grad=0.5 0.5
-  --------------------------------
-  and the wrong would be
-  --------------------------------
-  Vertex 0   grad=0 0
-  Vertex 1   grad=0.5 0
-  Vertex 2   grad=-1 1
-  Vertex 3   grad=0 1
-  --------------------------------  
+   The correct output should be
+   --------------------------------
+   Vertex 0   grad=0 0
+   Vertex 1   grad=0.5 0
+   Vertex 2   grad=0 1
+   Vertex 3   grad=0.5 0.5
+   --------------------------------
+   and the wrong would be
+   --------------------------------
+   Vertex 0   grad=0 0
+   Vertex 1   grad=0.5 0
+   Vertex 2   grad=-1 1
+   Vertex 3   grad=0 1
+   --------------------------------  
 */
 
   if (compute_jacobians)
index 220b8ee59bee8fe425133b5f0e0f1133f3bbcb36..683332fee747b52a6c96eb6000591a63320e9d98 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -33,8 +33,8 @@
 
 template <>
 void FEQ1Mapping<1>::compute_jacobian_gradients (const DoFHandler<1>::cell_iterator &,
-                                                    const vector<Point<1> > &unit_points,
-                                                    vector<Tensor<3,1> >    &jacobians_grad) 
+                                                    const std::vector<Point<1> > &unit_points,
+                                                    std::vector<Tensor<3,1> >    &jacobians_grad) 
 {
   Assert (unit_points.size() == jacobians_grad.size(),
          ExcWrongFieldDimension(jacobians_grad.size(), unit_points.size()));
@@ -54,8 +54,8 @@ void FEQ1Mapping<1>::compute_jacobian_gradients (const DoFHandler<1>::cell_itera
 
 template <>
 void FEQ1Mapping<2>::compute_jacobian_gradients (const DoFHandler<2>::cell_iterator &cell,
-                                                    const vector<Point<2> > &unit_points,
-                                                    vector<Tensor<3,2> >    &jacobians_grad) 
+                                                    const std::vector<Point<2> > &unit_points,
+                                                    std::vector<Tensor<3,2> >    &jacobians_grad) 
 {
   Assert (unit_points.size() == jacobians_grad.size(),
          ExcWrongFieldDimension(jacobians_grad.size(), unit_points.size()));
@@ -137,8 +137,8 @@ void FEQ1Mapping<2>::compute_jacobian_gradients (const DoFHandler<2>::cell_itera
 
 template <>
 void FEQ1Mapping<3>::compute_jacobian_gradients (const DoFHandler<3>::cell_iterator &cell,
-                                                    const vector<Point<3> > &unit_points,
-                                                    vector<Tensor<3,3> >    &jacobians_grad) 
+                                                    const std::vector<Point<3> > &unit_points,
+                                                    std::vector<Tensor<3,3> >    &jacobians_grad) 
 {
   Assert (unit_points.size() == jacobians_grad.size(),
          ExcWrongFieldDimension(jacobians_grad.size(), unit_points.size()));
index 62a8412a51d1cc51da496c3dc9e3e69de465c448..f4b94fb80f2f787ed4d4aa1d3a8f38a226aa1dc6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 // to mirror from the .h file. rather, we omit it here
 
 #if ! ((__GNUC__==2) && (__GNUC_MINOR__ < 95))
-  const unsigned int GeometryInfo<deal_II_dimension>::vertices_per_cell;
-  const unsigned int GeometryInfo<deal_II_dimension>::lines_per_cell;
-  const unsigned int GeometryInfo<deal_II_dimension>::quads_per_cell;
-  const unsigned int GeometryInfo<deal_II_dimension>::hexes_per_cell;
-  const unsigned int GeometryInfo<deal_II_dimension>::children_per_cell;
+const unsigned int GeometryInfo<deal_II_dimension>::vertices_per_cell;
+const unsigned int GeometryInfo<deal_II_dimension>::lines_per_cell;
+const unsigned int GeometryInfo<deal_II_dimension>::quads_per_cell;
+const unsigned int GeometryInfo<deal_II_dimension>::hexes_per_cell;
+const unsigned int GeometryInfo<deal_II_dimension>::children_per_cell;
 #endif
 
 
index 013f528db0c0cc4b12a1a2bcb39ac7165a3fced5..cbd0fe50e85d9dbd8d7bf57c26d189f00c7ebe57 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -24,12 +24,12 @@ void GridGenerator::hyper_cube<> (Triangulation<1> &tria,
                                  const double left,
                                  const double right) {
   const Point<1> vertices[2] = { Point<1>(left), Point<1>(right) };
-  vector<CellData<1> > cells (1, CellData<1>());
+  std::vector<CellData<1> > cells (1, CellData<1>());
   cells[0].vertices[0] = 0;
   cells[0].vertices[1] = 1;
   cells[0].material_id = 0;
   
-  tria.create_triangulation (vector<Point<1> >(&vertices[0], &vertices[2]),
+  tria.create_triangulation (std::vector<Point<1> >(&vertices[0], &vertices[2]),
                             cells,
                             SubCellData());       // no boundary information
 };
@@ -84,16 +84,16 @@ void GridGenerator::hyper_cube<> (Triangulation<2> &tria,
                                  const double right)
 {
   const Point<2> vertices[4] = { Point<2>(left,left),
-                                Point<2>(right,left),
-                                Point<2>(right,right),
-                                Point<2>(left,right)  };
+                                  Point<2>(right,left),
+                                  Point<2>(right,right),
+                                  Point<2>(left,right)  };
   const int cell_vertices[1][4] = { { 0,1,2,3 } };
-  vector<CellData<2> > cells (1, CellData<2>());
+  std::vector<CellData<2> > cells (1, CellData<2>());
   for (unsigned int j=0; j<4; ++j)
     cells[0].vertices[j] = cell_vertices[0][j];
   cells[0].material_id = 0;
   
-  tria.create_triangulation (vector<Point<2> >(&vertices[0], &vertices[4]),
+  tria.create_triangulation (std::vector<Point<2> >(&vertices[0], &vertices[4]),
                             cells,
                             SubCellData());       // no boundary information
 }
@@ -107,7 +107,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<2> &tria,
                                         const double d,
                                         bool colorize)
 {
-  vector<Point<2> > vertices(16);
+  std::vector<Point<2> > vertices(16);
   double coords[4];
   coords[0] = l-d;
   coords[1] = l;
@@ -124,7 +124,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<2> &tria,
                                       9, 8,10
   };
   
-  vector<CellData<2> > cells(9);
+  std::vector<CellData<2> > cells(9);
   k = 0;
   for (unsigned int i0=0;i0<3;++i0)
     for (unsigned int i1=0;i1<3;++i1)
@@ -150,27 +150,27 @@ void GridGenerator::hyper_cube_slit<> (Triangulation<2> &tria,
                                       const double right) {
   const double rl2=(right+left)/2;
   const Point<2> vertices[10] = { Point<2>(left, left ),
-                                 Point<2>(rl2,  left ),
-                                 Point<2>(rl2,  rl2  ),
-                                 Point<2>(left, rl2  ),
-                                 Point<2>(right,left ),
-                                 Point<2>(right,rl2  ),
-                                 Point<2>(rl2,  right),
-                                 Point<2>(left, right),
-                                 Point<2>(right,right),
-                                 Point<2>(rl2,  left ) };
+                                   Point<2>(rl2,  left ),
+                                   Point<2>(rl2,  rl2  ),
+                                   Point<2>(left, rl2  ),
+                                   Point<2>(right,left ),
+                                   Point<2>(right,rl2  ),
+                                   Point<2>(rl2,  right),
+                                   Point<2>(left, right),
+                                   Point<2>(right,right),
+                                   Point<2>(rl2,  left ) };
   const int cell_vertices[4][4] = { { 0,1,2,3 },
                                    { 9,4,5,2 },
                                    { 3,2,6,7 },
                                    { 2,5,8,6 } };
-  vector<CellData<2> > cells (4, CellData<2>());
+  std::vector<CellData<2> > cells (4, CellData<2>());
   for (unsigned int i=0; i<4; ++i)
     {
       for (unsigned int j=0; j<4; ++j)
        cells[i].vertices[j] = cell_vertices[i][j];
       cells[i].material_id = 0;
     };
-  tria.create_triangulation (vector<Point<2> >(&vertices[0], &vertices[10]),
+  tria.create_triangulation (std::vector<Point<2> >(&vertices[0], &vertices[10]),
                             cells,
                             SubCellData());       // no boundary information
 };
@@ -183,18 +183,18 @@ void GridGenerator::hyper_L<> (Triangulation<2> &tria,
                               const double b) {
   const unsigned int dim=2;
   const Point<dim> vertices[8] = { Point<dim> (a,a),
-                                  Point<dim> ((a+b)/2,a),
-                                  Point<dim> (b,a),
-                                  Point<dim> (a,(a+b)/2),
-                                  Point<dim> ((a+b)/2,(a+b)/2),
-                                  Point<dim> (b,(a+b)/2),
-                                  Point<dim> (a,b),
-                                  Point<dim> ((a+b)/2,b)  };
+                                    Point<dim> ((a+b)/2,a),
+                                    Point<dim> (b,a),
+                                    Point<dim> (a,(a+b)/2),
+                                    Point<dim> ((a+b)/2,(a+b)/2),
+                                    Point<dim> (b,(a+b)/2),
+                                    Point<dim> (a,b),
+                                    Point<dim> ((a+b)/2,b)  };
   const int cell_vertices[3][4] = {{0, 1, 4, 3},
                                   {1, 2, 5, 4},
                                   {3, 4, 7, 6}};
 
-  vector<CellData<2> > cells (3, CellData<2>());
+  std::vector<CellData<2> > cells (3, CellData<2>());
   
   for (unsigned int i=0; i<3; ++i) 
     {
@@ -203,7 +203,7 @@ void GridGenerator::hyper_L<> (Triangulation<2> &tria,
       cells[i].material_id = 0;
     };
   
-  tria.create_triangulation (vector<Point<dim> >(&vertices[0], &vertices[8]),
+  tria.create_triangulation (std::vector<Point<dim> >(&vertices[0], &vertices[8]),
                             cells,
                             SubCellData());       // no boundary information
 };
@@ -218,13 +218,13 @@ void GridGenerator::hyper_ball<> (Triangulation<2> &tria,
                                   // from the inner part to the radial
                                   // cells
   const Point<2> vertices[8] = { p+Point<2>(-1,-1)*(radius/sqrt(2)),
-                                p+Point<2>(+1,-1)*(radius/sqrt(2)),
-                                p+Point<2>(-1,-1)*(radius/sqrt(2)*a),
-                                p+Point<2>(+1,-1)*(radius/sqrt(2)*a),
-                                p+Point<2>(-1,+1)*(radius/sqrt(2)*a),
-                                p+Point<2>(+1,+1)*(radius/sqrt(2)*a),
-                                p+Point<2>(-1,+1)*(radius/sqrt(2)),
-                                p+Point<2>(+1,+1)*(radius/sqrt(2)) };
+                                  p+Point<2>(+1,-1)*(radius/sqrt(2)),
+                                  p+Point<2>(-1,-1)*(radius/sqrt(2)*a),
+                                  p+Point<2>(+1,-1)*(radius/sqrt(2)*a),
+                                  p+Point<2>(-1,+1)*(radius/sqrt(2)*a),
+                                  p+Point<2>(+1,+1)*(radius/sqrt(2)*a),
+                                  p+Point<2>(-1,+1)*(radius/sqrt(2)),
+                                  p+Point<2>(+1,+1)*(radius/sqrt(2)) };
   
   const int cell_vertices[5][4] = {{0, 1, 3, 2},
                                   {0, 2, 4, 6},
@@ -232,7 +232,7 @@ void GridGenerator::hyper_ball<> (Triangulation<2> &tria,
                                   {1, 7, 5, 3},
                                   {6, 4, 5, 7}};
 
-  vector<CellData<2> > cells (5, CellData<2>());
+  std::vector<CellData<2> > cells (5, CellData<2>());
   
   for (unsigned int i=0; i<5; ++i) 
     {
@@ -241,7 +241,7 @@ void GridGenerator::hyper_ball<> (Triangulation<2> &tria,
       cells[i].material_id = 0;
     };
   
-  tria.create_triangulation (vector<Point<2> >(&vertices[0], &vertices[8]),
+  tria.create_triangulation (std::vector<Point<2> >(&vertices[0], &vertices[8]),
                             cells,
                             SubCellData());       // no boundary information
 };
@@ -281,7 +281,7 @@ void GridGenerator::hyper_shell<> (Triangulation<2>   &tria,
                                   // first N ones are on the
                                   // outer one, and all are
                                   // numbered counter-clockwise
-  vector<Point<2> > vertices(2*N);
+  std::vector<Point<2> > vertices(2*N);
   for (unsigned int i=0; i<N; ++i)
     {
       vertices[i] = Point<2>( cos(2*pi * i/N),
@@ -292,7 +292,7 @@ void GridGenerator::hyper_shell<> (Triangulation<2>   &tria,
       vertices[i+N] += center;
     };
 
-  vector<CellData<2> > cells (N, CellData<2>());
+  std::vector<CellData<2> > cells (N, CellData<2>());
        
   for (unsigned int i=0; i<N; ++i) 
     {
@@ -341,15 +341,15 @@ void GridGenerator::half_hyper_shell<> (Triangulation<2>   &tria,
                                   // first N+1 ones are on the
                                   // outer one, and all are
                                   // numbered counter-clockwise
-  vector<Point<2> > vertices(2*(N+1));
+  std::vector<Point<2> > vertices(2*(N+1));
   for (unsigned int i=0; i<=N; ++i)
     {
-                                  // enforce that the x-coordinates
-                                  // of the first and last point of
-                                  // each half-circle are exactly
-                                  // zero (contrary to what we may
-                                  // compute using the imprecise
-                                  // value of pi)
+                                      // enforce that the x-coordinates
+                                      // of the first and last point of
+                                      // each half-circle are exactly
+                                      // zero (contrary to what we may
+                                      // compute using the imprecise
+                                      // value of pi)
       vertices[i] =  Point<2>( ( (i==0) || (i==N) ?
                                 0 :
                                 cos(pi * i/N - pi/2) ),
@@ -361,7 +361,7 @@ void GridGenerator::half_hyper_shell<> (Triangulation<2>   &tria,
     };
 
 
-  vector<CellData<2> > cells (N, CellData<2>());
+  std::vector<CellData<2> > cells (N, CellData<2>());
        
   for (unsigned int i=0; i<N; ++i) 
     {
@@ -388,23 +388,23 @@ void GridGenerator::hyper_cube<> (Triangulation<3> &tria,
                                  const double left,
                                  const double right) {
   const Point<3> vertices[8] = { Point<3>(left,left,left),
-                                Point<3>(right,left,left),
-                                Point<3>(right,left,right),
-                                Point<3>(left,left,right),
-
-                                Point<3>(left,right,left),                              
-                                Point<3>(right,right,left),
-                                Point<3>(right,right,right),
-                                Point<3>(left,right,right)};
+                                  Point<3>(right,left,left),
+                                  Point<3>(right,left,right),
+                                  Point<3>(left,left,right),
+
+                                  Point<3>(left,right,left),                            
+                                  Point<3>(right,right,left),
+                                  Point<3>(right,right,right),
+                                  Point<3>(left,right,right)};
   const int cell_vertices[1][8] = { { 0,1,2,3,4,5,6,7 } };
-  vector<CellData<3> > cells (1, CellData<3>());
+  std::vector<CellData<3> > cells (1, CellData<3>());
   for (unsigned int j=0; j<8; ++j)
     cells[0].vertices[j] = cell_vertices[0][j];
   cells[0].material_id = 0;
   
-  tria.create_triangulation (vector<Point<3> >(&vertices[0], &vertices[8]),
-                       cells,
-                       SubCellData());       // no boundary information
+  tria.create_triangulation (std::vector<Point<3> >(&vertices[0], &vertices[8]),
+                            cells,
+                            SubCellData());       // no boundary information
 };
 
 
@@ -425,7 +425,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<3> &tria,
                                         const double d,
                                         bool colorize)
 {
-  vector<Point<3> > vertices(64);
+  std::vector<Point<3> > vertices(64);
   double coords[4];
   coords[0] = l-d;
   coords[1] = l;
@@ -450,7 +450,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<3> &tria,
        41,40,42
   };
   
-  vector<CellData<3> > cells(27);
+  std::vector<CellData<3> > cells(27);
   k = 0;
   for (unsigned int i0=0;i0<3;++i0)
     for (unsigned int i1=0;i1<3;++i1)
@@ -482,37 +482,37 @@ void GridGenerator::hyper_L<> (Triangulation<3> &tria,
                                   // part of the cube
   const Point<dim> vertices[26]
     = {
-                                          // front face of the big cube
-         Point<dim> (a,      a,a),
-         Point<dim> ((a+b)/2,a,a),
-         Point<dim> (b,      a,a),
-         Point<dim> (a,      a,(a+b)/2),
-         Point<dim> ((a+b)/2,a,(a+b)/2),
-         Point<dim> (b,      a,(a+b)/2),
-         Point<dim> (a,      a,b),
-         Point<dim> ((a+b)/2,a,b),
-         Point<dim> (b,      a,b),
-                                          // middle face of the big cube
-         Point<dim> (a,      (a+b)/2,a),
-         Point<dim> ((a+b)/2,(a+b)/2,a),
-         Point<dim> (b,      (a+b)/2,a),
-         Point<dim> (a,      (a+b)/2,(a+b)/2),
-         Point<dim> ((a+b)/2,(a+b)/2,(a+b)/2),
-         Point<dim> (b,      (a+b)/2,(a+b)/2),
-         Point<dim> (a,      (a+b)/2,b),
-         Point<dim> ((a+b)/2,(a+b)/2,b),
-         Point<dim> (b,      (a+b)/2,b),
-                                          // back face of the big cube
-                                          // last (top right) point is missing
-         Point<dim> (a,      b,a),
-         Point<dim> ((a+b)/2,b,a),
-         Point<dim> (b,      b,a),
-         Point<dim> (a,      b,(a+b)/2),
-         Point<dim> ((a+b)/2,b,(a+b)/2),
-         Point<dim> (b,      b,(a+b)/2),
-         Point<dim> (a,      b,b),
-         Point<dim> ((a+b)/2,b,b)
-    };
+                                    // front face of the big cube
+    Point<dim> (a,      a,a),
+      Point<dim> ((a+b)/2,a,a),
+      Point<dim> (b,      a,a),
+      Point<dim> (a,      a,(a+b)/2),
+      Point<dim> ((a+b)/2,a,(a+b)/2),
+      Point<dim> (b,      a,(a+b)/2),
+      Point<dim> (a,      a,b),
+      Point<dim> ((a+b)/2,a,b),
+      Point<dim> (b,      a,b),
+                                      // middle face of the big cube
+      Point<dim> (a,      (a+b)/2,a),
+      Point<dim> ((a+b)/2,(a+b)/2,a),
+      Point<dim> (b,      (a+b)/2,a),
+      Point<dim> (a,      (a+b)/2,(a+b)/2),
+      Point<dim> ((a+b)/2,(a+b)/2,(a+b)/2),
+      Point<dim> (b,      (a+b)/2,(a+b)/2),
+      Point<dim> (a,      (a+b)/2,b),
+      Point<dim> ((a+b)/2,(a+b)/2,b),
+      Point<dim> (b,      (a+b)/2,b),
+                                      // back face of the big cube
+                                      // last (top right) point is missing
+      Point<dim> (a,      b,a),
+      Point<dim> ((a+b)/2,b,a),
+      Point<dim> (b,      b,a),
+      Point<dim> (a,      b,(a+b)/2),
+      Point<dim> ((a+b)/2,b,(a+b)/2),
+      Point<dim> (b,      b,(a+b)/2),
+      Point<dim> (a,      b,b),
+      Point<dim> ((a+b)/2,b,b)
+      };
   const int cell_vertices[7][8] = {{0, 1, 4, 3, 9, 10, 13, 12},
                                   {1, 2, 5, 4, 10, 11, 14, 13},
                                   {3, 4, 7, 6, 12, 13, 16, 15},
@@ -521,7 +521,7 @@ void GridGenerator::hyper_L<> (Triangulation<3> &tria,
                                   {10, 11, 14, 13, 19, 20, 23, 22},
                                   {12, 13, 16, 15, 21, 22, 25, 24}};
 
-  vector<CellData<3> > cells (7, CellData<3>());
+  std::vector<CellData<3> > cells (7, CellData<3>());
   
   for (unsigned int i=0; i<7; ++i) 
     {
@@ -530,7 +530,7 @@ void GridGenerator::hyper_L<> (Triangulation<3> &tria,
       cells[i].material_id = 0;
     };
   
-  tria.create_triangulation (vector<Point<dim> >(&vertices[0], &vertices[26]),
+  tria.create_triangulation (std::vector<Point<dim> >(&vertices[0], &vertices[26]),
                             cells,
                             SubCellData());       // no boundary information
 };
@@ -546,27 +546,27 @@ void GridGenerator::hyper_ball<> (Triangulation<3> &tria,
   const unsigned int n_vertices = 16;
   const Point<3> vertices[n_vertices]
     = {
-                                          // first the vertices of the inner
-                                          // cell
-         p+Point<3>(-1,-1,-1)*(radius/sqrt(3)*a),
-         p+Point<3>(+1,-1,-1)*(radius/sqrt(3)*a),
-         p+Point<3>(+1,+1,-1)*(radius/sqrt(3)*a),
-         p+Point<3>(-1,+1,-1)*(radius/sqrt(3)*a),
-         p+Point<3>(-1,-1,+1)*(radius/sqrt(3)*a),
-         p+Point<3>(+1,-1,+1)*(radius/sqrt(3)*a),
-         p+Point<3>(+1,+1,+1)*(radius/sqrt(3)*a),
-         p+Point<3>(-1,+1,+1)*(radius/sqrt(3)*a),
-                                          // now the eight vertices at
-                                          // the outer sphere
-         p+Point<3>(-1,-1,-1)*(radius/sqrt(3)),
-         p+Point<3>(+1,-1,-1)*(radius/sqrt(3)),
-         p+Point<3>(+1,+1,-1)*(radius/sqrt(3)),
-         p+Point<3>(-1,+1,-1)*(radius/sqrt(3)),
-         p+Point<3>(-1,-1,+1)*(radius/sqrt(3)),
-         p+Point<3>(+1,-1,+1)*(radius/sqrt(3)),
-         p+Point<3>(+1,+1,+1)*(radius/sqrt(3)),
-         p+Point<3>(-1,+1,+1)*(radius/sqrt(3))
-    };
+                                    // first the vertices of the inner
+                                    // cell
+    p+Point<3>(-1,-1,-1)*(radius/sqrt(3)*a),
+      p+Point<3>(+1,-1,-1)*(radius/sqrt(3)*a),
+      p+Point<3>(+1,+1,-1)*(radius/sqrt(3)*a),
+      p+Point<3>(-1,+1,-1)*(radius/sqrt(3)*a),
+      p+Point<3>(-1,-1,+1)*(radius/sqrt(3)*a),
+      p+Point<3>(+1,-1,+1)*(radius/sqrt(3)*a),
+      p+Point<3>(+1,+1,+1)*(radius/sqrt(3)*a),
+      p+Point<3>(-1,+1,+1)*(radius/sqrt(3)*a),
+                                      // now the eight vertices at
+                                      // the outer sphere
+      p+Point<3>(-1,-1,-1)*(radius/sqrt(3)),
+      p+Point<3>(+1,-1,-1)*(radius/sqrt(3)),
+      p+Point<3>(+1,+1,-1)*(radius/sqrt(3)),
+      p+Point<3>(-1,+1,-1)*(radius/sqrt(3)),
+      p+Point<3>(-1,-1,+1)*(radius/sqrt(3)),
+      p+Point<3>(+1,-1,+1)*(radius/sqrt(3)),
+      p+Point<3>(+1,+1,+1)*(radius/sqrt(3)),
+      p+Point<3>(-1,+1,+1)*(radius/sqrt(3))
+      };
 
                                   // one needs to draw the seven cubes to
                                   // understand what's going on here
@@ -579,7 +579,7 @@ void GridGenerator::hyper_ball<> (Triangulation<3> &tria,
                                         {11, 10,14, 15, 3, 2, 6, 7},
                                         {8, 9, 13, 12, 0, 1, 5, 4}};
 
-  vector<CellData<3> > cells (n_cells, CellData<3>());
+  std::vector<CellData<3> > cells (n_cells, CellData<3>());
   
   for (unsigned int i=0; i<n_cells; ++i) 
     {
@@ -588,7 +588,7 @@ void GridGenerator::hyper_ball<> (Triangulation<3> &tria,
       cells[i].material_id = 0;
     };
   
-  tria.create_triangulation (vector<Point<3> >(&vertices[0], &vertices[n_vertices]),
+  tria.create_triangulation (std::vector<Point<3> >(&vertices[0], &vertices[n_vertices]),
                             cells,
                             SubCellData());       // no boundary information
 };
index 256f8884fff7ad56c6bcea9245a92fe45ef9e29d..66a3b4d9101de361ab8c18868bca559e1080f7f7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -35,7 +35,7 @@ void GridIn<dim>::attach_triangulation (Triangulation<dim> &t)
 
 
 template <int dim>
-void GridIn<dim>::read_ucd (istream &in)
+void GridIn<dim>::read_ucd (std::istream &in)
 {
   Assert (tria != 0, ExcNoTriangulationSelected());
   AssertThrow (in, ExcIO());
@@ -55,11 +55,11 @@ void GridIn<dim>::read_ucd (istream &in)
      >> dummy;        // model data
 
                                   // set up array of vertices
-  vector<Point<dim> >     vertices (n_vertices);
+  std::vector<Point<dim> >     vertices (n_vertices);
                                   // set up mapping between numbering
                                   // in ucd-file (key) and in the
                                   // vertices vector
-  map<int,int> vertex_indices;
+  std::map<int,int> vertex_indices;
   
   for (unsigned int vertex=0; vertex<n_vertices; ++vertex) 
     {
@@ -80,12 +80,12 @@ void GridIn<dim>::read_ucd (istream &in)
     };
 
                                   // set up array of cells
-  vector<CellData<dim> > cells;
-  SubCellData            subcelldata;
+  std::vector<CellData<dim> > cells;
+  SubCellData                 subcelldata;
 
   for (unsigned int cell=0; cell<n_cells; ++cell) 
     {
-      string cell_type;
+      std::string cell_type;
       int material_id;
       
       in >> dummy          // cell number
@@ -193,7 +193,7 @@ void GridIn<dim>::read_ucd (istream &in)
 
 
 template <int dim>
-void GridIn<dim>::read_dbmesh (istream &in)
+void GridIn<dim>::read_dbmesh (std::istream &in)
 {
   Assert (tria != 0, ExcNoTriangulationSelected());
   Assert (dim==2, ExcNotImplemented());
@@ -205,7 +205,7 @@ void GridIn<dim>::read_dbmesh (istream &in)
 
 
                                   // first read in identifier string
-  string line;
+  std::string line;
   getline (in, line);
 
   AssertThrow (line=="MeshVersionFormatted 0",
@@ -232,7 +232,7 @@ void GridIn<dim>::read_dbmesh (istream &in)
                                   // knowledge to parse and interpret
                                   // the other fields in between as
                                   // well...
-  while (getline(in,line), line.find("# END")==string::npos);
+  while (getline(in,line), line.find("# END")==std::string::npos);
   skip_empty_lines (in);
 
 
@@ -244,7 +244,7 @@ void GridIn<dim>::read_dbmesh (istream &in)
   double dummy;
   
   in >> n_vertices;
-  vector<Point<dim> >     vertices (n_vertices);
+  std::vector<Point<dim> >     vertices (n_vertices);
   for (unsigned int vertex=0; vertex<n_vertices; ++vertex)
     {
                                       // read vertex coordinates
@@ -303,7 +303,7 @@ void GridIn<dim>::read_dbmesh (istream &in)
   getline (in, line);
   AssertThrow (line=="Quadrilaterals", ExcInvalidDBMESHInput(line));
 
-  vector<CellData<dim> > cells;
+  std::vector<CellData<dim> > cells;
   SubCellData            subcelldata;
   unsigned int n_cells;
   in >> n_cells;
@@ -337,7 +337,7 @@ void GridIn<dim>::read_dbmesh (istream &in)
                                   // clue what they mean. skip them
                                   // all and leave the interpretation
                                   // to other implementors...
-  while (getline(in,line), ((line.find("End")==string::npos) && (in)));
+  while (getline(in,line), ((line.find("End")==std::string::npos) && (in)));
                                   // ok, so we are not at the end of
                                   // the file, that's it, mostly
 
@@ -357,9 +357,9 @@ void GridIn<dim>::read_dbmesh (istream &in)
 
 
 template <int dim>
-void GridIn<dim>::skip_empty_lines (istream &in)
+void GridIn<dim>::skip_empty_lines (std::istream &in)
 {    
-  string line;
+  std::string line;
   while (in) 
     {
                                       // get line
@@ -385,8 +385,8 @@ void GridIn<dim>::skip_empty_lines (istream &in)
 
 
 template <int dim>
-void GridIn<dim>::skip_comment_lines (istream    &in,
-                                     const char  comment_start)
+void GridIn<dim>::skip_comment_lines (std::istream &in,
+                                     const char    comment_start)
 {    
   char c;
   while (in.get(c), c==comment_start) 
@@ -405,13 +405,13 @@ void GridIn<dim>::skip_comment_lines (istream    &in,
 
 template <int dim>
 void
-GridIn<dim>::delete_unused_vertices (vector<Point<dim> >    &vertices,
-                                    vector<CellData<dim> > &cells,
-                                    SubCellData            &subcelldata)
+GridIn<dim>::delete_unused_vertices (std::vector<Point<dim> >    &vertices,
+                                    std::vector<CellData<dim> > &cells,
+                                    SubCellData                 &subcelldata)
 {
                                   // first check which vertices are
                                   // actually used
-  vector<bool> vertex_used (vertices.size(), false);
+  std::vector<bool> vertex_used (vertices.size(), false);
   for (unsigned int c=0; c<cells.size(); ++c)
     for (unsigned int v=0; v<GeometryInfo<dim>::vertices_per_cell; ++v)
       vertex_used[cells[c].vertices[v]] = true;
@@ -420,7 +420,7 @@ GridIn<dim>::delete_unused_vertices (vector<Point<dim> >    &vertices,
                                   // are actually used in the same
                                   // order as they were beforehand
   const unsigned int invalid_vertex = static_cast<unsigned int>(-1);
-  vector<unsigned int> new_vertex_numbers (vertices.size(), invalid_vertex);
+  std::vector<unsigned int> new_vertex_numbers (vertices.size(), invalid_vertex);
   unsigned int next_free_number = 0;
   for (unsigned int i=0; i<vertices.size(); ++i)
     if (vertex_used[i] == true)
@@ -449,7 +449,7 @@ GridIn<dim>::delete_unused_vertices (vector<Point<dim> >    &vertices,
                                   // which we really need to a new
                                   // array and replace the old one by
                                   // the new one
-  vector<Point<dim> > tmp;
+  std::vector<Point<dim> > tmp;
   tmp.reserve (count(vertex_used.begin(), vertex_used.end(), true));
   for (unsigned int v=0; v<vertices.size(); ++v)
     if (vertex_used[v] == true)
@@ -460,9 +460,9 @@ GridIn<dim>::delete_unused_vertices (vector<Point<dim> >    &vertices,
 
 
 template <int dim>
-void GridIn<dim>::debug_output_grid (const vector<CellData<dim> > &/*cells*/,
-                                    const vector<Point<dim> >    &/*vertices*/,
-                                    ostream                      &/*out*/)
+void GridIn<dim>::debug_output_grid (const std::vector<CellData<dim> > &/*cells*/,
+                                    const std::vector<Point<dim> >    &/*vertices*/,
+                                    std::ostream                      &/*out*/)
 {
   Assert (false, ExcNotImplemented());
 };
@@ -472,9 +472,9 @@ void GridIn<dim>::debug_output_grid (const vector<CellData<dim> > &/*cells*/,
 
 template <>
 void
-GridIn<2>::debug_output_grid (const vector<CellData<2> > &cells,
-                             const vector<Point<2> >    &vertices,
-                             ostream                    &out)
+GridIn<2>::debug_output_grid (const std::vector<CellData<2> > &cells,
+                             const std::vector<Point<2> >    &vertices,
+                             std::ostream                    &out)
 {
   double min_x = vertices[cells[0].vertices[0]](0),
         max_x = vertices[cells[0].vertices[0]](0),
@@ -497,7 +497,7 @@ GridIn<2>::debug_output_grid (const vector<CellData<2> > &cells,
            max_y = p(1);
        };
 
-      out << "# cell " << i << endl;
+      out << "# cell " << i << std::endl;
       Point<2> center;
       for (unsigned int f=0; f<4; ++f)
        center += vertices[cells[i].vertices[f]];
@@ -506,7 +506,7 @@ GridIn<2>::debug_output_grid (const vector<CellData<2> > &cells,
       out << "set label \"" << i << "\" at "
          << center(0) << ',' << center(1)
          << " center"
-         << endl;
+         << std::endl;
 
                                       // first two line right direction
       for (unsigned int f=0; f<2; ++f)
@@ -516,7 +516,7 @@ GridIn<2>::debug_output_grid (const vector<CellData<2> > &cells,
            << " to "
            << vertices[cells[i].vertices[(f+1)%4]](0) << ',' 
            << vertices[cells[i].vertices[(f+1)%4]](1)
-           << endl;
+           << std::endl;
                                       // other two lines reverse direction
       for (unsigned int f=2; f<4; ++f)
        out << "set arrow from "
@@ -525,17 +525,17 @@ GridIn<2>::debug_output_grid (const vector<CellData<2> > &cells,
            << " to "
            << vertices[cells[i].vertices[f]](0) << ',' 
            << vertices[cells[i].vertices[f]](1)
-           << endl;
-      out << endl;
+           << std::endl;
+      out << std::endl;
     };
   
 
-  out << endl
-      << "set nokey" << endl
+  out << std::endl
+      << "set nokey" << std::endl
       << "pl [" << min_x << ':' << max_x << "]["
       << min_y << ':' << max_y <<  "] "
-      << min_y << endl
-      << "pause -1" << endl;
+      << min_y << std::endl
+      << "pause -1" << std::endl;
 };
 
 #endif
@@ -545,72 +545,72 @@ GridIn<2>::debug_output_grid (const vector<CellData<2> > &cells,
 
 template <>
 void
-GridIn<3>::debug_output_grid (const vector<CellData<3> > &cells,
-                             const vector<Point<3> >    &vertices,
-                             ostream                    &out)
+GridIn<3>::debug_output_grid (const std::vector<CellData<3> > &cells,
+                             const std::vector<Point<3> >    &vertices,
+                             std::ostream                    &out)
 {
   for (unsigned int cell=0; cell<cells.size(); ++cell)
     {
                                       // line 0
       out << vertices[cells[cell].vertices[0]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[1]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 1
       out << vertices[cells[cell].vertices[1]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[2]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 2
       out << vertices[cells[cell].vertices[3]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[2]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 3
       out << vertices[cells[cell].vertices[0]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[3]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 4
       out << vertices[cells[cell].vertices[4]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[5]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 5
       out << vertices[cells[cell].vertices[5]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[6]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 6
       out << vertices[cells[cell].vertices[7]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[6]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 7
       out << vertices[cells[cell].vertices[4]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[7]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 8
       out << vertices[cells[cell].vertices[0]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[4]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 9
       out << vertices[cells[cell].vertices[1]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[5]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 10
       out << vertices[cells[cell].vertices[2]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[6]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
                                       // line 11
       out << vertices[cells[cell].vertices[3]]
-         << endl
+         << std::endl
          << vertices[cells[cell].vertices[7]]
-         << endl << endl << endl;
+         << std::endl << std::endl << std::endl;
     };
 };
 
index aa1aa5088d740cdae7941c3c291c0617506d2c58..fb3a56742279f53a122b238cb71c57a5b6945df7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -79,7 +79,7 @@ void GridOut::set_flags (const EpsFlags<3> &flags)
 };
 
 
-string GridOut::default_suffix (const OutputFormat output_format) 
+std::string GridOut::default_suffix (const OutputFormat output_format) 
 {
   switch (output_format) 
     {
@@ -100,7 +100,7 @@ string GridOut::default_suffix (const OutputFormat output_format)
 
 
 GridOut::OutputFormat
-GridOut::parse_output_format (const string &format_name)
+GridOut::parse_output_format (const std::string &format_name)
 {
   if (format_name == "ucd")
     return ucd;
@@ -117,7 +117,7 @@ GridOut::parse_output_format (const string &format_name)
 };
 
 
-string GridOut::get_output_format_names () 
+std::string GridOut::get_output_format_names () 
 {
   return "gnuplot|eps";
 };
index 46155a926e6b50fc5802decb4a82fdc9f317ead0..9d9d1d85d56cc823087b1ecb3d48fa9ee3196a0e 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -27,7 +27,7 @@
 
 template <int dim>
 void GridOut::write_ucd (const Triangulation<dim> &tria,
-                        ostream                  &out) 
+                        std::ostream             &out) 
 {
   AssertThrow (out, ExcIO());
 
@@ -38,8 +38,8 @@ void GridOut::write_ucd (const Triangulation<dim> &tria,
                                   // find out the vertices which
                                   // are in use. copy them for fast
                                   // output
-  vector<Point<dim> > vertices (tria.n_vertices());
-  vector<bool> vertex_used (tria.n_vertices(), false);
+  std::vector<Point<dim> > vertices (tria.n_vertices());
+  std::vector<bool> vertex_used (tria.n_vertices(), false);
   unsigned int        n_vertices = 0;
 
   for (cell=tria.begin_active(); cell!=endc; ++cell)
@@ -62,19 +62,19 @@ void GridOut::write_ucd (const Triangulation<dim> &tria,
                                       // use
       time_t  time1= time (0);
       tm     *time = localtime(&time1); 
-      out << "# This file was generated by the deal.II library." << endl
+      out << "# This file was generated by the deal.II library." << std::endl
          << "# Date =  "
          << time->tm_year+1900 << "/"
          << time->tm_mon+1 << "/"
-         << time->tm_mday << endl
+         << time->tm_mday << std::endl
          << "# Time =  "
          << time->tm_hour << ":"
-         << setw(2) << time->tm_min << ":"
-         << setw(2) << time->tm_sec << endl
-         << "#" << endl
+         << std::setw(2) << time->tm_min << ":"
+         << std::setw(2) << time->tm_sec << std::endl
+         << "#" << std::endl
          << "# For a description of the UCD format see the AVS Developer's guide."
-         << endl
-         << "#" << endl;
+         << std::endl
+         << "#" << std::endl;
     };
 
                                   // start with ucd data
@@ -83,7 +83,7 @@ void GridOut::write_ucd (const Triangulation<dim> &tria,
                                  n_boundary_faces(tria) :
                                  0)
       << " 0 0 0"                  // no data
-      << endl;
+      << std::endl;
 
                                   // actually write the vertices.
                                   // note that we shall number them
@@ -96,7 +96,7 @@ void GridOut::write_ucd (const Triangulation<dim> &tria,
            << vertices[i];
        for (unsigned int d=dim+1; d<=3; ++d)
          out << " 0";             // fill with zeroes
-       out << endl;
+       out << std::endl;
       };
        
                                   // write cells. Enumerate cells
@@ -135,7 +135,7 @@ void GridOut::write_ucd (const Triangulation<dim> &tria,
       for (unsigned int vertex=0; vertex<GeometryInfo<dim>::vertices_per_cell;
           ++vertex)
        out << cell->vertex_index(vertex)+1 << ' ';
-      out << endl;
+      out << std::endl;
     };
 
                                   // write faces with non-zero boundary
@@ -182,7 +182,7 @@ unsigned int GridOut::n_boundary_faces (const Triangulation<dim> &tria) const
 template <>
 void GridOut::write_ucd_faces (const Triangulation<1> &,
                               const unsigned int,
-                              ostream &) const
+                              std::ostream &) const
 {
   return;
 };
@@ -194,7 +194,7 @@ void GridOut::write_ucd_faces (const Triangulation<1> &,
 template <int dim>
 void GridOut::write_ucd_faces (const Triangulation<dim> &tria,
                               const unsigned int        starting_index,
-                              ostream                  &out) const
+                              std::ostream             &out) const
 {
   typename Triangulation<dim>::active_face_iterator face, endf;
   unsigned int index=starting_index;
@@ -216,7 +216,7 @@ void GridOut::write_ucd_faces (const Triangulation<dim> &tria,
          };
        for (unsigned int vertex=0; vertex<GeometryInfo<dim>::vertices_per_face; ++vertex)
          out << face->vertex_index(vertex) << ' ';
-       out << endl;
+       out << std::endl;
 
        ++index;
       };         
@@ -226,7 +226,7 @@ void GridOut::write_ucd_faces (const Triangulation<dim> &tria,
 
 template <int dim>
 void GridOut::write_gnuplot (const Triangulation<dim> &tria,
-                            ostream                  &out) 
+                            std::ostream             &out) 
 {
   AssertThrow (out, ExcIO());
 
@@ -235,105 +235,105 @@ void GridOut::write_gnuplot (const Triangulation<dim> &tria,
   for (; cell!=endc; ++cell)
     {
       if (gnuplot_flags.write_cell_numbers)
-       out << "# cell " << cell << endl;
+       out << "# cell " << cell << std::endl;
 //TODO: plot level and material according to switches      
       switch (dim)
        {
          case 1:
                out << cell->vertex(0)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(1)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl;
                break;
 
          case 2:
                out << cell->vertex(0)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(1)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(2)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(3)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(0)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl  // double new line for gnuplot 3d plots
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl  // double new line for gnuplot 3d plots
+                   << std::endl;
                break;
 
          case 3:
                                                 // front face
                out << cell->vertex(0)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(1)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(2)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(3)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(0)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl;
                                                 // back face
                out << cell->vertex(4)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(5)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(6)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(7)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(4)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl;
 
                                                 // now for the four connecting lines
                out << cell->vertex(0)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(4)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl;
                out << cell->vertex(1)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(5)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl;
                out << cell->vertex(2)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(6)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl;
                out << cell->vertex(3)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
                    << cell->vertex(7)
                    << ' ' << cell->level()
-                   << ' ' << (unsigned int) cell->material_id() << endl
-                   << endl;
+                   << ' ' << (unsigned int) cell->material_id() << std::endl
+                   << std::endl;
                break;
        };
     };
@@ -358,10 +358,10 @@ struct LineEntry
 
 template <int dim>
 void GridOut::write_eps (const Triangulation<dim> &tria,
-                        ostream                  &out) 
+                        std::ostream             &out) 
 {
   
-  typedef list<LineEntry> LineList;
+  typedef std::list<LineEntry> LineList;
 
                                   // get a pointer to the flags
                                   // common to all dimensions,
@@ -499,17 +499,17 @@ void GridOut::write_eps (const Triangulation<dim> &tria,
   for (LineList::const_iterator line=line_list.begin();
        line!=line_list.end(); ++line)
     {
-      x_min = min (x_min, line->first(0));
-      x_min = min (x_min, line->second(0));
+      x_min = std::min (x_min, line->first(0));
+      x_min = std::min (x_min, line->second(0));
 
-      x_max = max (x_max, line->first(0));
-      x_max = max (x_max, line->second(0));
+      x_max = std::max (x_max, line->first(0));
+      x_max = std::max (x_max, line->second(0));
 
-      y_min = min (y_min, line->first(1));
-      y_min = min (y_min, line->second(1));
+      y_min = std::min (y_min, line->first(1));
+      y_min = std::min (y_min, line->second(1));
 
-      y_max = max (y_max, line->first(1));
-      y_max = max (y_max, line->second(1));
+      y_max = std::max (y_max, line->first(1));
+      y_max = std::max (y_max, line->second(1));
     };
 
                                   // scale in x-direction such that
@@ -531,16 +531,16 @@ void GridOut::write_eps (const Triangulation<dim> &tria,
                                       // use
       time_t  time1= time (0);
       tm     *time = localtime(&time1); 
-      out << "%!PS-Adobe-2.0 EPSF-1.2" << endl
-         << "%%Title: deal.II Output" << endl
-         << "%%Creator: the deal.II library" << endl
+      out << "%!PS-Adobe-2.0 EPSF-1.2" << std::endl
+         << "%%Title: deal.II Output" << std::endl
+         << "%%Creator: the deal.II library" << std::endl
          << "%%Creation Date: " 
          << time->tm_year+1900 << "/"
          << time->tm_mon+1 << "/"
          << time->tm_mday << " - "
          << time->tm_hour << ":"
-         << setw(2) << time->tm_min << ":"
-         << setw(2) << time->tm_sec << endl
+         << std::setw(2) << time->tm_min << ":"
+         << std::setw(2) << time->tm_sec << std::endl
          << "%%BoundingBox: "
                                         // lower left corner
          << "0 0 "
@@ -548,7 +548,7 @@ void GridOut::write_eps (const Triangulation<dim> &tria,
          << static_cast<unsigned int>( (x_max-x_min) * scale )
          << ' '
          << static_cast<unsigned int>( (y_max-y_min) * scale )
-         << endl;
+         << std::endl;
 
                                       // define some abbreviations to keep
                                       // the output small:
@@ -556,16 +556,16 @@ void GridOut::write_eps (const Triangulation<dim> &tria,
                                       // x=execute line stroke
                                       // b=black pen
                                       // r=red pen
-      out << "/m {moveto} bind def" << endl
-         << "/x {lineto stroke} bind def" << endl
-         << "/b {0 0 0 setrgbcolor} def" << endl
-         << "/r {1 0 0 setrgbcolor} def" << endl;
+      out << "/m {moveto} bind def" << std::endl
+         << "/x {lineto stroke} bind def" << std::endl
+         << "/b {0 0 0 setrgbcolor} def" << std::endl
+         << "/r {1 0 0 setrgbcolor} def" << std::endl;
       
-      out << "%%EndProlog" << endl
-         << endl;
+      out << "%%EndProlog" << std::endl
+         << std::endl;
 
                                       // set fine lines
-      out << eps_flags_base.line_width << " setlinewidth" << endl;
+      out << eps_flags_base.line_width << " setlinewidth" << std::endl;
     };
 
                                   // now write the lines
@@ -575,9 +575,9 @@ void GridOut::write_eps (const Triangulation<dim> &tria,
        line!=line_list.end(); ++line)
     out << ((line->colorize && eps_flags_base.color_lines_on_user_flag) ? "r " : "b ")
        << (line->first  - offset) * scale << " m "
-       << (line->second - offset) * scale << " x" << endl;
+       << (line->second - offset) * scale << " x" << std::endl;
 
-  out << "showpage" << endl;
+  out << "showpage" << std::endl;
   
   AssertThrow (out, ExcIO());
 };
@@ -586,7 +586,7 @@ void GridOut::write_eps (const Triangulation<dim> &tria,
 
 template <int dim>
 void GridOut::write (const Triangulation<dim> &tria,
-                    ostream                  &out,
+                    std::ostream             &out,
                     OutputFormat              output_format)
 {
   switch (output_format)
@@ -611,11 +611,11 @@ void GridOut::write (const Triangulation<dim> &tria,
 
 // explicit instantiations
 template void GridOut::write_ucd (const Triangulation<deal_II_dimension> &,
-                                 ostream &);
+                                 std::ostream &);
 template void GridOut::write_gnuplot (const Triangulation<deal_II_dimension> &,
-                                     ostream &);
+                                     std::ostream &);
 template void GridOut::write_eps (const Triangulation<deal_II_dimension> &,
-                                 ostream &);
+                                 std::ostream &);
 template void GridOut::write (const Triangulation<deal_II_dimension> &,
-                             ostream &,
+                             std::ostream &,
                              OutputFormat);
index 1aeff52c7d17c634a548df16310e62970ef6f042..fd6ecdf281084cdb4c36250ebf521a3acc7ac421 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 #include <fstream>
 
 template<typename number>
-void GridRefinement::qsort_index(const Vector<number>  &a,
-                                vector<unsigned int> &ind,
-                                int                  l,
-                                int                  r)
+void GridRefinement::qsort_index(const Vector<number>      &a,
+                                std::vector<unsigned int> &ind,
+                                int                        l,
+                                int                        r)
 {
   int i,j,t;
   number v;
@@ -79,7 +79,7 @@ void GridRefinement::refine (Triangulation<dim>   &tria,
 {
   Assert (criteria.size() == tria.n_active_cells(),
          ExcInvalidVectorSize(criteria.size(), tria.n_active_cells()));
-  Assert (*min_element(criteria.begin(), criteria.end()) >= 0,
+  Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0,
          ExcInvalidParameterValue());  
 
                                   // nothing to do; especially we
@@ -107,7 +107,7 @@ void GridRefinement::coarsen (Triangulation<dim>   &tria,
 {
   Assert (criteria.size() == tria.n_active_cells(),
          ExcInvalidVectorSize(criteria.size(), tria.n_active_cells()));
-  Assert (*min_element(criteria.begin(), criteria.end()) >= 0,
+  Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0,
          ExcInvalidParameterValue());
 
   Triangulation<dim>::active_cell_iterator cell = tria.begin_active();
@@ -132,7 +132,7 @@ GridRefinement::refine_and_coarsen_fixed_number (Triangulation<dim>   &tria,
   Assert ((top_fraction>=0) && (top_fraction<=1), ExcInvalidParameterValue());
   Assert ((bottom_fraction>=0) && (bottom_fraction<=1), ExcInvalidParameterValue());
   Assert (top_fraction+bottom_fraction <= 1, ExcInvalidParameterValue());
-  Assert (*min_element(criteria.begin(), criteria.end()) >= 0,
+  Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0,
          ExcInvalidParameterValue());
 
   const int refine_cells=static_cast<int>(top_fraction*criteria.size());
@@ -143,17 +143,17 @@ GridRefinement::refine_and_coarsen_fixed_number (Triangulation<dim>   &tria,
       Vector<number> tmp(criteria);
       if (refine_cells)
        {
-         nth_element (tmp.begin(), tmp.begin()+refine_cells,
-                      tmp.end(),
-                      greater<double>());
+         std::nth_element (tmp.begin(), tmp.begin()+refine_cells,
+                           tmp.end(),
+                           std::greater<double>());
          refine (tria, criteria, *(tmp.begin() + refine_cells));
        };
 
       if (coarsen_cells)
        {
-         nth_element (tmp.begin(), tmp.begin()+tmp.size()-coarsen_cells,
-                      tmp.end(),
-                      greater<double>());
+         std::nth_element (tmp.begin(), tmp.begin()+tmp.size()-coarsen_cells,
+                           tmp.end(),
+                           std::greater<double>());
          coarsen (tria, criteria, *(tmp.begin() + tmp.size() - coarsen_cells));
        };
     };
@@ -173,7 +173,7 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation<dim>   &tria,
   Assert ((top_fraction>=0) && (top_fraction<=1), ExcInvalidParameterValue());
   Assert ((bottom_fraction>=0) && (bottom_fraction<=1), ExcInvalidParameterValue());
   Assert (top_fraction+bottom_fraction <= 1, ExcInvalidParameterValue());
-  Assert (*min_element(criteria.begin(), criteria.end()) >= 0,
+  Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0,
          ExcInvalidParameterValue());
 
                                   // let tmp be the cellwise square of the
@@ -187,15 +187,15 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation<dim>   &tria,
   
                                   // sort the largest criteria to the
                                   // beginning of the vector
-  sort (tmp.begin(), tmp.end(), greater<double>());
-  partial_sum (tmp.begin(), tmp.end(), partial_sums.begin());
+  std::sort (tmp.begin(), tmp.end(), std::greater<double>());
+  std::partial_sum (tmp.begin(), tmp.end(), partial_sums.begin());
 
                                   // compute thresholds
   const typename Vector<number>::const_iterator
-    q = lower_bound (partial_sums.begin(), partial_sums.end(),
-                    top_fraction*total_error),
-    p = upper_bound (partial_sums.begin(), partial_sums.end(),
-                    total_error*(1-bottom_fraction));
+    q = std::lower_bound (partial_sums.begin(), partial_sums.end(),
+                         static_cast<number>(top_fraction*total_error)),
+    p = std::upper_bound (partial_sums.begin(), partial_sums.end(),
+                         static_cast<number>(total_error*(1-bottom_fraction)));
   
   double bottom_threshold = tmp(p != partial_sums.end() ?
                                p-partial_sums.begin() :
@@ -233,7 +233,7 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation<dim>   &tria,
                                   // threshold if it equals the
                                   // largest indicator and the
                                   // top_fraction!=1
-  if ((top_threshold == *max_element(criteria.begin(), criteria.end())) &&
+  if ((top_threshold == *std::max_element(criteria.begin(), criteria.end())) &&
       (top_fraction != 1))
     top_threshold *= 0.999;
   
@@ -241,9 +241,9 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation<dim>   &tria,
     bottom_threshold = 0.999*top_threshold;
   
                                   // actually flag cells
-  if (top_threshold < *max_element(criteria.begin(), criteria.end()))
+  if (top_threshold < *std::max_element(criteria.begin(), criteria.end()))
     refine (tria, criteria, top_threshold);
-  if (bottom_threshold > *min_element(criteria.begin(), criteria.end()))
+  if (bottom_threshold > *std::min_element(criteria.begin(), criteria.end()))
     coarsen (tria, criteria, bottom_threshold);
 };
 
@@ -258,12 +258,12 @@ GridRefinement::refine_and_coarsen_optimize (Triangulation<dim>   &tria,
 {
   Assert (criteria.size() == tria.n_active_cells(),
          ExcInvalidVectorSize(criteria.size(), tria.n_active_cells()));
-  Assert (*min_element(criteria.begin(), criteria.end()) >= 0,
+  Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0,
          ExcInvalidParameterValue());
   
                                   // get an increasing order on
                                   // the error indicator
-  vector<unsigned int> tmp(criteria.size());
+  std::vector<unsigned int> tmp(criteria.size());
   for (unsigned int i=0;i<criteria.size();++i)
     tmp[i] = i;
   
index bdb49d0a047c3cd1c5f280599157b3026d4849c0..220b69adfb1760f765f594292852cc5add8fdddb 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -77,7 +77,7 @@ unsigned int GridReordering<dim>::Cell::count_neighbors () const
 
 template <int dim>
 void
-GridReordering<dim>::Cell::insert_faces (map<Face,FaceData> &/*global_faces*/)
+GridReordering<dim>::Cell::insert_faces (std::map<Face,FaceData> &/*global_faces*/)
 {
   Assert (false, ExcNotImplemented());
 };
@@ -87,7 +87,7 @@ GridReordering<dim>::Cell::insert_faces (map<Face,FaceData> &/*global_faces*/)
 
 template <>
 void
-GridReordering<2>::Cell::insert_faces (map<Face,FaceData> &global_faces)
+GridReordering<2>::Cell::insert_faces (std::map<Face,FaceData> &global_faces)
 {
   const unsigned int dim = 2;
 
@@ -107,8 +107,8 @@ GridReordering<2>::Cell::insert_faces (map<Face,FaceData> &global_faces)
                                   // already exists, then the stored
                                   // data is not touched.
   for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
-    faces[0][face] = global_faces.insert (make_pair(new_faces[face],
-                                                   FaceData())).first;
+    faces[0][face] = global_faces.insert (std::make_pair(new_faces[face],
+                                                        FaceData())).first;
 
 
                                   // then for each of the faces also
@@ -119,10 +119,10 @@ GridReordering<2>::Cell::insert_faces (map<Face,FaceData> &global_faces)
                                   // `2'
   for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
     {
-      swap (new_faces[face].vertices[0],
-           new_faces[face].vertices[1]);
-      faces[2][face] = global_faces.insert (make_pair(new_faces[face],
-                                                     FaceData())).first;
+      std::swap (new_faces[face].vertices[0],
+                new_faces[face].vertices[1]);
+      faces[2][face] = global_faces.insert (std::make_pair(new_faces[face],
+                                                          FaceData())).first;
     };
 
                                   // then finally fill in rotational
@@ -202,7 +202,7 @@ GridReordering<2>::Cell::insert_faces (map<Face,FaceData> &global_faces)
 
 template <>
 void
-GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
+GridReordering<3>::Cell::insert_faces (std::map<Face,FaceData> &global_faces)
 {
   const unsigned int dim = 3;
 
@@ -229,17 +229,17 @@ GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
        { { vertices[0], vertices[4], vertices[7], vertices[3] } } };
   Face new_faces[GeometryInfo<dim>::faces_per_cell][rotational_states_of_faces]
     = { { new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
-         new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
-       { new_faces_tmp[1], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
+           new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
+      { new_faces_tmp[1], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
          new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
        { new_faces_tmp[2], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
-         new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
-       { new_faces_tmp[3], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
-         new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
-       { new_faces_tmp[4], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
-         new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
-       { new_faces_tmp[5], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
-         new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }};
+           new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
+         { new_faces_tmp[3], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
+             new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
+           { new_faces_tmp[4], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
+               new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] },
+             { new_faces_tmp[5], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0],
+                 new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }};
 
                                   // first do the faces in their
                                   // usual direction
@@ -258,8 +258,8 @@ GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
        for (unsigned int v=0; v<GeometryInfo<dim>::vertices_per_face; ++v)
          new_faces[face][rot].vertices[v]
            = new_faces[face][rot-rotational_states_of_faces/2].vertices[v];
-       swap (new_faces[face][rot].vertices[1],
-             new_faces[face][rot].vertices[3]);
+       std::swap (new_faces[face][rot].vertices[1],
+                  new_faces[face][rot].vertices[3]);
       };
   
        
@@ -274,12 +274,12 @@ GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
                                   // newighbor has already inserted
                                   // it or not. we don't care about
                                   // that here, though
-  map<Face,FaceData>::iterator
+  std::map<Face,FaceData>::iterator
     new_faces_ptr[rotational_states_of_faces][GeometryInfo<dim>::faces_per_cell];
   for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
     for (unsigned int rot=0; rot<rotational_states_of_faces; ++rot)
       new_faces_ptr[rot][face]
-       = global_faces.insert (make_pair(new_faces[face][rot], FaceData())).first;
+       = global_faces.insert (std::make_pair(new_faces[face][rot], FaceData())).first;
   
                                   // and crosslink them to each other
   for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
@@ -310,40 +310,40 @@ GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
 //     cout << new_faces_ptr[0][face]->first.vertices[i] << ' ';
 //        cout << '>';
       
-    if (new_faces_ptr[0][face]->second.adjacent_cells[0] ==
-       FaceData::invalid_adjacent_cell)
-      {
+      if (new_faces_ptr[0][face]->second.adjacent_cells[0] ==
+         FaceData::invalid_adjacent_cell)
+       {
 //     cout << " as neighbor 0" << endl;
-                                        // no, faces had not been
-                                        // used before, so we are the
-                                        // first adjacent cell
-       for (unsigned int rot=0; rot<rotational_states_of_faces; ++rot)
-         {
-           Assert (new_faces_ptr[rot][face]->second.adjacent_cells[0]
-                   == FaceData::invalid_adjacent_cell,
-                   ExcInternalError());
-           new_faces_ptr[rot][face]->second.adjacent_cells[0] = cell_no;
-         };
-      }
-    else
-      {        
-                                        // otherwise: cell had been
-                                        // entered before, so we are
-                                        // the second neighbor
-       const unsigned int
-         previous_neighbor = new_faces_ptr[0][face]->second.adjacent_cells[0];
+                                          // no, faces had not been
+                                          // used before, so we are the
+                                          // first adjacent cell
+         for (unsigned int rot=0; rot<rotational_states_of_faces; ++rot)
+           {
+             Assert (new_faces_ptr[rot][face]->second.adjacent_cells[0]
+                     == FaceData::invalid_adjacent_cell,
+                     ExcInternalError());
+             new_faces_ptr[rot][face]->second.adjacent_cells[0] = cell_no;
+           };
+       }
+      else
+       {       
+                                          // otherwise: cell had been
+                                          // entered before, so we are
+                                          // the second neighbor
+         const unsigned int
+           previous_neighbor = new_faces_ptr[0][face]->second.adjacent_cells[0];
 //     cout << " as neighbor 1 (previous: " << previous_neighbor << ")" << endl;
-       for (unsigned int rot=0; rot<rotational_states_of_faces; ++rot)
-         {
-           Assert (new_faces_ptr[rot][face]->second.adjacent_cells[0] ==
-                   previous_neighbor,
-                   ExcInternalError());
-           Assert (new_faces_ptr[rot][face]->second.adjacent_cells[1] ==
-                   FaceData::invalid_adjacent_cell,
-                   ExcInternalError());
-           new_faces_ptr[rot][face]->second.adjacent_cells[1] = cell_no;
-         };
-      };
+         for (unsigned int rot=0; rot<rotational_states_of_faces; ++rot)
+           {
+             Assert (new_faces_ptr[rot][face]->second.adjacent_cells[0] ==
+                     previous_neighbor,
+                     ExcInternalError());
+             Assert (new_faces_ptr[rot][face]->second.adjacent_cells[1] ==
+                     FaceData::invalid_adjacent_cell,
+                     ExcInternalError());
+             new_faces_ptr[rot][face]->second.adjacent_cells[1] = cell_no;
+           };
+       };
     };
   
   
@@ -401,7 +401,7 @@ GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
                                   // each of the six faces build the
                                   // cell (store which face and which
                                   // orientation):
-  static pair<unsigned int, unsigned int>
+  static std::pair<unsigned int, unsigned int>
     cell_orientation_faces[rotational_states_of_cells][GeometryInfo<dim>::faces_per_cell];
 
   if (already_initialized == false)
@@ -448,7 +448,7 @@ GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
                for (unsigned int r=0; r<rotational_states_of_faces; ++r)
                  if (standard_faces[face] == new_faces[f][r])
                    {
-                     cell_orientation_faces[rot][face] = make_pair(f,r);
+                     cell_orientation_faces[rot][face] = std::make_pair(f,r);
                      face_found = true;
                      break;
                    };
@@ -476,7 +476,7 @@ GridReordering<3>::Cell::insert_faces (map<Face,FaceData> &global_faces)
                                           // often, don't make
                                           // differences between
                                           // debug and optimized mode
-         vector<bool> face_used(GeometryInfo<dim>::faces_per_cell, false);
+         std::vector<bool> face_used(GeometryInfo<dim>::faces_per_cell, false);
          for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
            {
                                               // ups, face already
@@ -692,9 +692,9 @@ GridReordering<dim>::FaceData::FaceData () :
 
 template <int dim>
 inline
-void GridReordering<dim>::track_back (vector<Cell>  &cells,
-                                     RotationStack &rotation_states,
-                                     unsigned int   track_back_to_cell)
+void GridReordering<dim>::track_back (std::vector<Cell> &cells,
+                                     RotationStack     &rotation_states,
+                                     unsigned int       track_back_to_cell)
 {
   top_of_function:
   
@@ -735,7 +735,7 @@ void GridReordering<dim>::track_back (vector<Cell>  &cells,
                                       // last cell can't be rotated
                                       // further. go on with
                                       // backtracking
-      const typename vector<Cell>::iterator
+      const typename std::vector<Cell>::iterator
        try_cell = cells.begin() + rotation_states.size();
       
       track_back_to_cell = try_cell->track_back_to_cell;
@@ -766,8 +766,8 @@ void GridReordering<dim>::track_back (vector<Cell>  &cells,
 
 
 template <int dim>
-bool GridReordering<dim>::try_rotate_single_neighbors (vector<Cell>  &cells,
-                                                      RotationStack &rotation_states)
+bool GridReordering<dim>::try_rotate_single_neighbors (std::vector<Cell> &cells,
+                                                      RotationStack     &rotation_states)
 {
                                   // the rotation state of the cell
                                   // which we try to add by rotating
@@ -882,9 +882,9 @@ bool GridReordering<dim>::try_rotate_single_neighbors (vector<Cell>  &cells,
 
 
 template <int dim>
-void GridReordering<dim>::find_reordering (vector<Cell<dim> >         &cells,
-                                          vector<CellData<dim> >     &original_cells,
-                                          const vector<unsigned int> &new_cell_numbers)
+void GridReordering<dim>::find_reordering (std::vector<Cell>               &cells,
+                                          std::vector<CellData<dim> >     &original_cells,
+                                          const std::vector<unsigned int> &new_cell_numbers)
 {
 //  cout << "Starting..." << flush;
   
@@ -931,7 +931,7 @@ void GridReordering<dim>::find_reordering (vector<Cell<dim> >         &cells,
 //         cout << "New max size " << rotation_states.size() << endl;
        };
       
-      const typename vector<Cell>::iterator
+      const typename std::vector<Cell>::iterator
        try_cell = cells.begin() + rotation_states.size()-1;
       if (try_cell->check_consistency (rotation_states.back()))
        {
@@ -1076,9 +1076,9 @@ void GridReordering<dim>::find_reordering (vector<Cell<dim> >         &cells,
 
 
 template <int dim>
-vector<unsigned int>
-GridReordering<dim>::presort_cells (vector<Cell<dim> > &cells,
-                                   map<Face,FaceData> &faces)
+std::vector<unsigned int>
+GridReordering<dim>::presort_cells (std::vector<Cell>       &cells,
+                                   std::map<Face,FaceData> &faces)
 {
                                   // first find the cell with the
                                   // least neighbors
@@ -1098,11 +1098,11 @@ GridReordering<dim>::presort_cells (vector<Cell<dim> > &cells,
                                   // insert the new cells numbers of
                                   // each cell
   const unsigned int invalid_cell_number = static_cast<unsigned int>(-1);
-  vector<unsigned int> new_cell_numbers (cells.size(), invalid_cell_number);
+  std::vector<unsigned int> new_cell_numbers (cells.size(), invalid_cell_number);
 
                                   // and have an array of the next
                                   // cells to be numbered (old numbers)
-  vector<unsigned int> next_round_cells (1, cell_with_min_neighbors);
+  std::vector<unsigned int> next_round_cells (1, cell_with_min_neighbors);
 
   unsigned int next_free_new_number = 0;
   
@@ -1123,10 +1123,10 @@ GridReordering<dim>::presort_cells (vector<Cell<dim> > &cells,
                                       // neighbors of the cells of
                                       // this round which have not
                                       // yet been renumbered
-      vector<unsigned int> new_next_round_cells;
+      std::vector<unsigned int> new_next_round_cells;
       for (unsigned int i=0; i<next_round_cells.size(); ++i)
        for (unsigned int n=0; n<GeometryInfo<dim>::faces_per_cell; ++n)
-         if (cells[next_round_cells[i]].neighbors[n] != Cell<dim>::invalid_neighbor)
+         if (cells[next_round_cells[i]].neighbors[n] != Cell::invalid_neighbor)
            if (new_cell_numbers[cells[next_round_cells[i]].neighbors[n]]
                == invalid_cell_number)
              new_next_round_cells.push_back (cells[next_round_cells[i]].neighbors[n]);
@@ -1168,7 +1168,7 @@ GridReordering<dim>::presort_cells (vector<Cell<dim> > &cells,
 
                                   // now that we know in which order
                                   // to sort the cells, do so:
-  vector<Cell<dim> > new_cells (cells.size());
+  std::vector<Cell> new_cells (cells.size());
   for (unsigned int i=0; i<cells.size(); ++i)
     new_cells[new_cell_numbers[i]] = cells[i];
                                   // then switch old and new array
@@ -1186,7 +1186,7 @@ GridReordering<dim>::presort_cells (vector<Cell<dim> > &cells,
        cells[c].neighbors[n] = new_cell_numbers[cells[c].neighbors[n]];
     };
 
-  for (typename map<Face,FaceData>::iterator i=faces.begin(); i!=faces.end(); ++i)
+  for (typename std::map<Face,FaceData>::iterator i=faces.begin(); i!=faces.end(); ++i)
     for (unsigned int k=0; k<2; ++k)
       if (i->second.adjacent_cells[k] != FaceData::invalid_adjacent_cell)
        i->second.adjacent_cells[k] = new_cell_numbers[i->second.adjacent_cells[k]];
@@ -1197,7 +1197,7 @@ GridReordering<dim>::presort_cells (vector<Cell<dim> > &cells,
                      
 
 template <int dim>
-void GridReordering<dim>::reorder_cells (vector<CellData<dim> > &original_cells)
+void GridReordering<dim>::reorder_cells (std::vector<CellData<dim> > &original_cells)
 {
                                   // we need more information than
                                   // provided by the input parameter,
@@ -1207,15 +1207,15 @@ void GridReordering<dim>::reorder_cells (vector<CellData<dim> > &original_cells)
                                   // old cells to another class that
                                   // provides space to these
                                   // informations
-  vector<Cell<dim> > cells;
+  std::vector<Cell> cells;
   cells.reserve (original_cells.size());
   for (unsigned int i=0; i<original_cells.size(); ++i)
-    cells.push_back (Cell<dim>(original_cells[i], i));
+    cells.push_back (Cell(original_cells[i], i));
   
                                   // first generate all the faces
                                   // possible, i.e. in each possible
                                   // direction and rotational state
-  map<Face,FaceData> faces;
+  std::map<Face,FaceData> faces;
   for (unsigned int cell_no=0; cell_no<cells.size(); ++cell_no)
     cells[cell_no].insert_faces (faces);
 
@@ -1234,7 +1234,7 @@ void GridReordering<dim>::reorder_cells (vector<CellData<dim> > &original_cells)
                                   // do a preordering step in order
                                   // to make further backtracking
                                   // more local
-  const vector<unsigned int>
+  const std::vector<unsigned int>
     new_cell_numbers = presort_cells (cells, faces);
 
                                   // finally do some preliminary work
@@ -1255,7 +1255,7 @@ void GridReordering<dim>::reorder_cells (vector<CellData<dim> > &original_cells)
                                   // find_reordering function has
                                   // cleared all used marks it knows
                                   // of
-  for (typename map<Face,FaceData>::iterator i=faces.begin(); i!=faces.end(); ++i)
+  for (typename std::map<Face,FaceData>::iterator i=faces.begin(); i!=faces.end(); ++i)
     Assert (i->second.use_count == 0, ExcInternalError());
 };
 
@@ -1264,7 +1264,7 @@ void GridReordering<dim>::reorder_cells (vector<CellData<dim> > &original_cells)
 #if deal_II_dimension == 1
 
 template <>
-void GridReordering<1>::reorder_cells (vector<CellData<1> > &)
+void GridReordering<1>::reorder_cells (std::vector<CellData<1> > &)
 {
                                   // there should not be much to do
                                   // in 1d...
@@ -1281,7 +1281,7 @@ void GridReordering<1>::reorder_cells (vector<CellData<1> > &)
 template
 void
 GridReordering<deal_II_dimension>::
-reorder_cells (vector<CellData<deal_II_dimension> > &);
+reorder_cells (std::vector<CellData<deal_II_dimension> > &);
 #endif
 
 
index 1ade48150aa688c64d704b9d00a45c5b88af9b9d..6042dde5903c0b70976f259fda914b62a6813f33 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 08a05991dda70242ac6c81a911611a9af1979495..b16d233bd0ae8af0bbf3f0b99039939bbb4e9697 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -32,9 +32,9 @@ PersistentTriangulation (const PersistentTriangulation<dim> &old_tria) :
                                                 // tria, i.e. it will be
                                                 // empty on first use
                Triangulation<dim> (),
-               coarse_grid (old_tria.coarse_grid),
-               refine_flags (old_tria.refine_flags),
-               coarsen_flags (old_tria.coarsen_flags)
+  coarse_grid (old_tria.coarse_grid),
+  refine_flags (old_tria.refine_flags),
+  coarsen_flags (old_tria.coarsen_flags)
 {
   Assert (old_tria.n_levels() == 0, ExcTriaNotEmpty ());
 };
@@ -50,8 +50,8 @@ void
 PersistentTriangulation<dim>::execute_coarsening_and_refinement () 
 {
                                   // first save flags
-  refine_flags.push_back (vector<bool>());
-  coarsen_flags.push_back (vector<bool>());
+  refine_flags.push_back (std::vector<bool>());
+  coarsen_flags.push_back (std::vector<bool>());
   save_refine_flags (refine_flags.back());
   save_coarsen_flags (coarsen_flags.back());
 
@@ -95,9 +95,9 @@ PersistentTriangulation<dim>::copy_triangulation (const Triangulation<dim> &old_
 
 template <int dim>
 void
-PersistentTriangulation<dim>::create_triangulation (const vector<Point<dim> >    &,
-                                                   const vector<CellData<dim> > &,
-                                                   const SubCellData            &)
+PersistentTriangulation<dim>::create_triangulation (const std::vector<Point<dim> >    &,
+                                                   const std::vector<CellData<dim> > &,
+                                                   const SubCellData                 &)
 {
   Assert (false, ExcFunctionNotUseful());
 };
@@ -105,13 +105,13 @@ PersistentTriangulation<dim>::create_triangulation (const vector<Point<dim> >
 
 template <int dim>
 void
-PersistentTriangulation<dim>::write_flags(ostream &out) const
+PersistentTriangulation<dim>::write_flags(std::ostream &out) const
 {
   const unsigned int n_flag_levels=refine_flags.size();
   
   AssertThrow (out, ExcIO());
 
-  out << mn_persistent_tria_flags_begin << ' ' << n_flag_levels << endl;
+  out << mn_persistent_tria_flags_begin << ' ' << n_flag_levels << std::endl;
 
   for (unsigned int i=0; i<n_flag_levels; ++i)
     {
@@ -121,7 +121,7 @@ PersistentTriangulation<dim>::write_flags(ostream &out) const
                         mn_tria_coarsen_flags_end, out);
     }
   
-  out << mn_persistent_tria_flags_end << endl;
+  out << mn_persistent_tria_flags_end << std::endl;
 
   AssertThrow (out, ExcIO());
 }
@@ -129,7 +129,7 @@ PersistentTriangulation<dim>::write_flags(ostream &out) const
 
 template <int dim>
 void
-PersistentTriangulation<dim>::read_flags(istream &in)
+PersistentTriangulation<dim>::read_flags(std::istream &in)
 {
   Assert(refine_flags.size()==0 && coarsen_flags.size()==0,
         ExcTriaNotEmpty());
@@ -145,8 +145,8 @@ PersistentTriangulation<dim>::read_flags(istream &in)
   in >> n_flag_levels;
   for (unsigned int i=0; i<n_flag_levels; ++i)
     {
-      refine_flags.push_back (vector<bool>());
-      coarsen_flags.push_back (vector<bool>());
+      refine_flags.push_back (std::vector<bool>());
+      coarsen_flags.push_back (std::vector<bool>());
       read_bool_vector (mn_tria_refine_flags_begin, refine_flags.back(),
                        mn_tria_refine_flags_end, in);
       read_bool_vector (mn_tria_coarsen_flags_begin, coarsen_flags.back(),
index 92d641626bed49e0889556482aeef0e5e732ad95..fe4ab6e46b959c7044c02f34c70fbaadaad00cf7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -150,7 +150,7 @@ void TriangulationLevel<0>::reserve_space (const unsigned int total_cells,
       neighbors.reserve (total_cells*(2*dimension));
       neighbors.insert (neighbors.end(),
                        total_cells*(2*dimension) - neighbors.size(),
-                       make_pair(-1,-1));
+                       std::make_pair(-1,-1));
     };
 };
 
@@ -191,9 +191,9 @@ TriangulationLevel<0>::memory_consumption () const
 void TriangulationLevel<1>::reserve_space (const unsigned int new_lines)
 {
   const unsigned int new_size = new_lines +
-                               count_if (lines.used.begin(),
-                                         lines.used.end(),
-                                         bind2nd (equal_to<bool>(), true));
+                               std::count_if (lines.used.begin(),
+                                              lines.used.end(),
+                                              std::bind2nd (std::equal_to<bool>(), true));
 
                                   // same as in @p{reserve_space<0>}: only
                                   // allocate space if necessary
@@ -284,9 +284,9 @@ TriangulationLevel<1>::memory_consumption () const
 void TriangulationLevel<2>::reserve_space (const unsigned int new_quads)
 {
   const unsigned int new_size = new_quads +
-                               count_if (quads.used.begin(),
-                                         quads.used.end(),
-                                         bind2nd (equal_to<bool>(), true));
+                               std::count_if (quads.used.begin(),
+                                              quads.used.end(),
+                                              std::bind2nd (std::equal_to<bool>(), true));
 
                                   // see above...
   if (new_size>quads.quads.size())
@@ -369,9 +369,9 @@ TriangulationLevel<2>::memory_consumption () const
 void TriangulationLevel<3>::reserve_space (const unsigned int new_hexes)
 {
   const unsigned int new_size = new_hexes +
-                               count_if (hexes.used.begin(),
-                                         hexes.used.end(),
-                                         bind2nd (equal_to<bool>(), true));
+                               std::count_if (hexes.used.begin(),
+                                              hexes.used.end(),
+                                              std::bind2nd (std::equal_to<bool>(), true));
 
                                   // see above...
   if (new_size>hexes.hexes.size())
@@ -454,8 +454,8 @@ TriangulationLevel<3>::memory_consumption () const
 TriaNumberCache<1>::TriaNumberCache () :
                n_lines (0),
                n_active_lines (0) 
-                                                // all other fields are
-                                                // default constructed
+                                  // all other fields are
+                                  // default constructed
 {};
 
 
@@ -473,8 +473,8 @@ TriaNumberCache<1>::memory_consumption () const
 TriaNumberCache<2>::TriaNumberCache () :
                n_quads (0),
                n_active_quads (0) 
-                                                // all other fields are
-                                                // default constructed
+                                  // all other fields are
+                                  // default constructed
 {};
 
 
@@ -494,8 +494,8 @@ TriaNumberCache<2>::memory_consumption () const
 TriaNumberCache<3>::TriaNumberCache () :
                n_hexes (0),
                n_active_hexes (0) 
-                                                // all other fields are
-                                                // default constructed
+                                  // all other fields are
+                                  // default constructed
 {};
 
 
index 5ad1391713780dbff2c06183642ff335020a84c0..3150679d4a8d623ec622dbcc1e5d0598fa241964 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -51,7 +51,7 @@ template <int dim>
 Triangulation<dim>::Triangulation (const Triangulation<dim> &) 
                :
                Subscriptor ()      // do not set any subscriptors; anyway,
-                              // calling this constructor is an error!
+                                  // calling this constructor is an error!
 {
   Assert (false, ExcInternalError());
 };
@@ -211,8 +211,8 @@ void Triangulation<dim>::copy_triangulation (const Triangulation<dim> &old_tria)
 #if deal_II_dimension == 1
 
 template <>
-void Triangulation<1>::create_triangulation (const vector<Point<1> >    &v,
-                                            const vector<CellData<1> > &cells,
+void Triangulation<1>::create_triangulation (const std::vector<Point<1> >    &v,
+                                            const std::vector<CellData<1> > &cells,
                                             const SubCellData &subcelldata)
 {
                                   // note: since no boundary information
@@ -230,11 +230,11 @@ void Triangulation<1>::create_triangulation (const vector<Point<1> >    &v,
 
                                   // copy vertices
   vertices = v;
-  vertices_used = vector<bool> (v.size(), true);
+  vertices_used = std::vector<bool> (v.size(), true);
     
                                   // store the indices of the lines which
                                   // are adjacent to a given vertex
-  vector<vector<int> > lines_at_vertex (v.size());
+  std::vector<std::vector<int> > lines_at_vertex (v.size());
 
                                   // reserve enough space
   levels.push_back (new TriangulationLevel<dim>);
@@ -366,9 +366,9 @@ void Triangulation<1>::create_triangulation (const vector<Point<1> >    &v,
 #if deal_II_dimension == 2
 
 template <>
-void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
-                                            const vector<CellData<2> > &c,
-                                            const SubCellData          &subcelldata)
+void Triangulation<2>::create_triangulation (const std::vector<Point<2> >    &v,
+                                            const std::vector<CellData<2> > &c,
+                                            const SubCellData               &subcelldata)
 {
   const unsigned int dim=2;
 
@@ -379,11 +379,11 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
 
                                   // copy vertices
   vertices = v;
-  vertices_used = vector<bool> (v.size(), true);
+  vertices_used = std::vector<bool> (v.size(), true);
 
                                   // copy cells. This is needed since we
                                   // may need to change entries
-  vector<CellData<2> > cells(c);
+  std::vector<CellData<2> > cells(c);
 
 
                                   // make up a list of the needed lines
@@ -396,7 +396,7 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
                                   // object itself. In the first run, these
                                   // iterators are all invalid ones, but they
                                   // are filled afterwards
-  map<pair<int,int>,line_iterator> needed_lines;
+  std::map<std::pair<int,int>,line_iterator> needed_lines;
   for (unsigned int cell=0; cell<cells.size(); ++cell)
     {
       for (unsigned int vertex=0; vertex<4; ++vertex)
@@ -425,11 +425,11 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
          };
       
       
-      pair<int,int> line_vertices[4] = {   // note the order of the vertices
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[1]),
-           make_pair (cells[cell].vertices[1], cells[cell].vertices[2]),
-           make_pair (cells[cell].vertices[3], cells[cell].vertices[2]),
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[3])};
+      std::pair<int,int> line_vertices[4] = {   // note the order of the vertices
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[1]),
+         std::make_pair (cells[cell].vertices[1], cells[cell].vertices[2]),
+         std::make_pair (cells[cell].vertices[3], cells[cell].vertices[2]),
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[3])  };
 
                                       // note the following: if the sense
                                       // of the vertices of a cell is correct,
@@ -493,8 +493,8 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
                                           // direction 1->4, while in
                                           // the second it would be 4->1.
                                           // This will cause the exception.
-         if (! (needed_lines.find(make_pair(line_vertices[line].second,
-                                            line_vertices[line].first))
+         if (! (needed_lines.find(std::make_pair(line_vertices[line].second,
+                                                 line_vertices[line].first))
                 ==
                 needed_lines.end()))
            {
@@ -531,8 +531,8 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
                                   // at least two adjacent lines
   if (true) 
     {
-      vector<unsigned short int> vertex_touch_count (v.size(), 0);
-      map<pair<int,int>,line_iterator>::iterator i;
+      std::vector<unsigned short int> vertex_touch_count (v.size(), 0);
+      std::map<std::pair<int,int>,line_iterator>::iterator i;
       for (i=needed_lines.begin(); i!=needed_lines.end(); i++) 
        {
                                           // touch the vertices of this line
@@ -578,7 +578,7 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
   if (true) 
     {
       raw_line_iterator line = begin_raw_line();
-      map<pair<int,int>,line_iterator>::iterator i;
+      std::map<std::pair<int,int>,line_iterator>::iterator i;
       for (i = needed_lines.begin(); line!=end_line(); ++line, ++i) 
        {
          line->set (Line(i->first.first, i->first.second));
@@ -592,7 +592,7 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
 
                                   // store for each line index
                                   // the adjacent cells
-  map<int,vector<cell_iterator> > adjacent_cells;
+  std::map<int,std::vector<cell_iterator> > adjacent_cells;
 
                                   // finally make up cells
   if (true) 
@@ -602,10 +602,10 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
        {
                                           // list of iterators of lines
          const line_iterator lines[4] = {
-               needed_lines[make_pair(cells[c].vertices[0], cells[c].vertices[1])],
-               needed_lines[make_pair(cells[c].vertices[1], cells[c].vertices[2])],
-               needed_lines[make_pair(cells[c].vertices[3], cells[c].vertices[2])],
-               needed_lines[make_pair(cells[c].vertices[0], cells[c].vertices[3])]};
+               needed_lines[std::make_pair(cells[c].vertices[0], cells[c].vertices[1])],
+               needed_lines[std::make_pair(cells[c].vertices[1], cells[c].vertices[2])],
+               needed_lines[std::make_pair(cells[c].vertices[3], cells[c].vertices[2])],
+               needed_lines[std::make_pair(cells[c].vertices[0], cells[c].vertices[3])]};
          
          cell->set (Quad(lines[0]->index(),
                          lines[1]->index(),
@@ -673,15 +673,15 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
     };
 
                                   // set boundary indicators where given
-  vector<CellData<1> >::const_iterator boundary_line
+  std::vector<CellData<1> >::const_iterator boundary_line
     = subcelldata.boundary_lines.begin();
-  vector<CellData<1> >::const_iterator end_boundary_line
+  std::vector<CellData<1> >::const_iterator end_boundary_line
     = subcelldata.boundary_lines.end();
   for (; boundary_line!=end_boundary_line; ++boundary_line) 
     {
       line_iterator line;
-      pair<int,int> line_vertices(make_pair(boundary_line->vertices[0],
-                                           boundary_line->vertices[1]));
+      std::pair<int,int> line_vertices(std::make_pair(boundary_line->vertices[0],
+                                                     boundary_line->vertices[1]));
       if (needed_lines.find(line_vertices) != needed_lines.end())
                                         // line found in this direction
        line = needed_lines[line_vertices];
@@ -689,7 +689,7 @@ void Triangulation<2>::create_triangulation (const vector<Point<2> >    &v,
        {
                                           // look whether it exists in
                                           // reverse direction
-         swap (line_vertices.first, line_vertices.second);
+         std::swap (line_vertices.first, line_vertices.second);
          if (needed_lines.find(line_vertices) != needed_lines.end())
            line = needed_lines[line_vertices];
          else 
@@ -806,9 +806,10 @@ struct QuadComparator {
 
 
 template <>
-void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
-                                            const vector<CellData<3> > &c,
-                                            const SubCellData          &subcelldata) {
+void Triangulation<3>::create_triangulation (const std::vector<Point<3> >    &v,
+                                            const std::vector<CellData<3> > &c,
+                                            const SubCellData               &subcelldata)
+{
   const unsigned int dim=3;
 
   Assert (vertices.size() == 0, ExcTriangulationNotEmpty());
@@ -818,11 +819,11 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
 
                                   // copy vertices
   vertices = v;
-  vertices_used = vector<bool> (v.size(), true);
+  vertices_used = std::vector<bool> (v.size(), true);
 
                                   // copy cells. This is needed since we
                                   // may need to change entries
-  vector<CellData<3> > cells(c);
+  std::vector<CellData<3> > cells(c);
 
                                   ///////////////////////////////////////
                                   // first set up some collections of data
@@ -839,7 +840,7 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                   // iterators are all invalid ones, but they
                                   // are filled afterwards
                                   // same applies for the quads
-  map<pair<int,int>,line_iterator> needed_lines;
+  std::map<std::pair<int,int>,line_iterator> needed_lines;
   for (unsigned int cell=0; cell<cells.size(); ++cell)
     {
 
@@ -872,23 +873,23 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
          };
       
       
-      pair<int,int> line_vertices[12] = {   // note the order of the vertices
-                                            // front face
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[1]),
-           make_pair (cells[cell].vertices[1], cells[cell].vertices[2]),
-           make_pair (cells[cell].vertices[3], cells[cell].vertices[2]),
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[3]),
-                                            // back face
-           make_pair (cells[cell].vertices[4], cells[cell].vertices[5]),
-           make_pair (cells[cell].vertices[5], cells[cell].vertices[6]),
-           make_pair (cells[cell].vertices[7], cells[cell].vertices[6]),
-           make_pair (cells[cell].vertices[4], cells[cell].vertices[7]),
-                                            // connects of front and back face
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[4]),
-           make_pair (cells[cell].vertices[1], cells[cell].vertices[5]),
-           make_pair (cells[cell].vertices[2], cells[cell].vertices[6]),
-           make_pair (cells[cell].vertices[3], cells[cell].vertices[7])
-      };
+      std::pair<int,int> line_vertices[12] = {   // note the order of the vertices
+                                        // front face
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[1]),
+         std::make_pair (cells[cell].vertices[1], cells[cell].vertices[2]),
+         std::make_pair (cells[cell].vertices[3], cells[cell].vertices[2]),
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[3]),
+                                          // back face
+         std::make_pair (cells[cell].vertices[4], cells[cell].vertices[5]),
+         std::make_pair (cells[cell].vertices[5], cells[cell].vertices[6]),
+         std::make_pair (cells[cell].vertices[7], cells[cell].vertices[6]),
+         std::make_pair (cells[cell].vertices[4], cells[cell].vertices[7]),
+                                          // connects of front and back face
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[4]),
+         std::make_pair (cells[cell].vertices[1], cells[cell].vertices[5]),
+         std::make_pair (cells[cell].vertices[2], cells[cell].vertices[6]),
+         std::make_pair (cells[cell].vertices[3], cells[cell].vertices[7])
+         };
 
                                       // in the 2d code, some tests were performed
                                       // which may heal a problem with quads that
@@ -904,8 +905,8 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                           // assert that the line was not
                                           // already inserted in reverse
                                           // order.
-         if (! (needed_lines.find(make_pair(line_vertices[line].second,
-                                            line_vertices[line].first))
+         if (! (needed_lines.find(std::make_pair(line_vertices[line].second,
+                                                 line_vertices[line].first))
                 ==
                 needed_lines.end()))
            {
@@ -944,8 +945,8 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                   // at least two adjacent lines
   if (true) 
     {
-      vector<unsigned short int> vertex_touch_count (v.size(), 0);
-      map<pair<int,int>,line_iterator>::iterator i;
+      std::vector<unsigned short int> vertex_touch_count (v.size(), 0);
+      std::map<std::pair<int,int>,line_iterator>::iterator i;
       for (i=needed_lines.begin(); i!=needed_lines.end(); i++) 
        {
                                           // touch the vertices of this line
@@ -992,7 +993,7 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
   if (true) 
     {
       raw_line_iterator line = begin_raw_line();
-      map<pair<int,int>,line_iterator>::iterator i;
+      std::map<std::pair<int,int>,line_iterator>::iterator i;
       for (i = needed_lines.begin(); line!=end_line(); ++line, ++i) 
        {
          line->set (Line(i->first.first, i->first.second));
@@ -1016,7 +1017,7 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
 
                                   // note that QuadComparator is a class
                                   // declared and defined in this file
-  map<Quad,quad_iterator,QuadComparator> needed_quads;
+  std::map<Quad,quad_iterator,QuadComparator> needed_quads;
   for (unsigned int cell=0; cell<cells.size(); ++cell) 
     {
                                       // the faces are quads which consist
@@ -1037,23 +1038,23 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                       // vertex indices) in place, but before
                                       // they are really needed. This is just
                                       // copied from above.
-      pair<int,int> line_list[12] = {   // note the order of the vertices
-                                            // front face
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[1]),
-           make_pair (cells[cell].vertices[1], cells[cell].vertices[2]),
-           make_pair (cells[cell].vertices[3], cells[cell].vertices[2]),
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[3]),
-                                            // back face
-           make_pair (cells[cell].vertices[4], cells[cell].vertices[5]),
-           make_pair (cells[cell].vertices[5], cells[cell].vertices[6]),
-           make_pair (cells[cell].vertices[7], cells[cell].vertices[6]),
-           make_pair (cells[cell].vertices[4], cells[cell].vertices[7]),
-                                            // connects of front and back face
-           make_pair (cells[cell].vertices[0], cells[cell].vertices[4]),
-           make_pair (cells[cell].vertices[1], cells[cell].vertices[5]),
-           make_pair (cells[cell].vertices[2], cells[cell].vertices[6]),
-           make_pair (cells[cell].vertices[3], cells[cell].vertices[7])
-      };
+      std::pair<int,int> line_list[12] = {   // note the order of the vertices
+                                        // front face
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[1]),
+         std::make_pair (cells[cell].vertices[1], cells[cell].vertices[2]),
+         std::make_pair (cells[cell].vertices[3], cells[cell].vertices[2]),
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[3]),
+                                          // back face
+         std::make_pair (cells[cell].vertices[4], cells[cell].vertices[5]),
+         std::make_pair (cells[cell].vertices[5], cells[cell].vertices[6]),
+         std::make_pair (cells[cell].vertices[7], cells[cell].vertices[6]),
+         std::make_pair (cells[cell].vertices[4], cells[cell].vertices[7]),
+                                          // connects of front and back face
+         std::make_pair (cells[cell].vertices[0], cells[cell].vertices[4]),
+         std::make_pair (cells[cell].vertices[1], cells[cell].vertices[5]),
+         std::make_pair (cells[cell].vertices[2], cells[cell].vertices[6]),
+         std::make_pair (cells[cell].vertices[3], cells[cell].vertices[7])
+         };
 
       Quad faces[6]
        = {
@@ -1098,7 +1099,7 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                         // insert quad, with invalid iterator
                                         // if quad already exists, then
                                         // nothing bad happens here
-         needed_quads[faces[quad]] = end_quad();
+       needed_quads[faces[quad]] = end_quad();
     };
 
 
@@ -1111,7 +1112,7 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
   if (true) 
     {
       raw_quad_iterator quad = begin_raw_quad();
-      map<Quad,quad_iterator>::iterator q;
+      std::map<Quad,quad_iterator,QuadComparator>::iterator q;
       for (q = needed_quads.begin(); quad!=end_quad(); ++quad, ++q)
        {
          quad->set (q->first);
@@ -1131,7 +1132,7 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
 
                                   // store for each quad index
                                   // the adjacent cells
-  map<int,vector<cell_iterator> > adjacent_cells;
+  std::map<int,std::vector<cell_iterator> > adjacent_cells;
 
                                   // finally make up cells
   if (true) 
@@ -1148,23 +1149,23 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                           // the quads that are bounded by
                                           // these lines; these are then
                                           // the faces of the present cell
-         pair<int,int> line_list[12] = {   // note the order of the vertices
-                                                // front face
-               make_pair (cells[c].vertices[0], cells[c].vertices[1]),
-               make_pair (cells[c].vertices[1], cells[c].vertices[2]),
-               make_pair (cells[c].vertices[3], cells[c].vertices[2]),
-               make_pair (cells[c].vertices[0], cells[c].vertices[3]),
-                                                // back face
-               make_pair (cells[c].vertices[4], cells[c].vertices[5]),
-               make_pair (cells[c].vertices[5], cells[c].vertices[6]),
-               make_pair (cells[c].vertices[7], cells[c].vertices[6]),
-               make_pair (cells[c].vertices[4], cells[c].vertices[7]),
-                                                // connects of front and back face
-               make_pair (cells[c].vertices[0], cells[c].vertices[4]),
-               make_pair (cells[c].vertices[1], cells[c].vertices[5]),
-               make_pair (cells[c].vertices[2], cells[c].vertices[6]),
-               make_pair (cells[c].vertices[3], cells[c].vertices[7])
-         };
+         std::pair<int,int> line_list[12] = {   // note the order of the vertices
+                                            // front face
+             std::make_pair (cells[c].vertices[0], cells[c].vertices[1]),
+             std::make_pair (cells[c].vertices[1], cells[c].vertices[2]),
+             std::make_pair (cells[c].vertices[3], cells[c].vertices[2]),
+             std::make_pair (cells[c].vertices[0], cells[c].vertices[3]),
+                                              // back face
+             std::make_pair (cells[c].vertices[4], cells[c].vertices[5]),
+             std::make_pair (cells[c].vertices[5], cells[c].vertices[6]),
+             std::make_pair (cells[c].vertices[7], cells[c].vertices[6]),
+             std::make_pair (cells[c].vertices[4], cells[c].vertices[7]),
+                                              // connects of front and back face
+             std::make_pair (cells[c].vertices[0], cells[c].vertices[4]),
+             std::make_pair (cells[c].vertices[1], cells[c].vertices[5]),
+             std::make_pair (cells[c].vertices[2], cells[c].vertices[6]),
+             std::make_pair (cells[c].vertices[3], cells[c].vertices[7])
+             };
 
          Quad faces[6]
            = {
@@ -1324,15 +1325,15 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                   // where given
                                   //
                                   // first do so for lines
-  vector<CellData<1> >::const_iterator boundary_line
+  std::vector<CellData<1> >::const_iterator boundary_line
     = subcelldata.boundary_lines.begin();
-  vector<CellData<1> >::const_iterator end_boundary_line
+  std::vector<CellData<1> >::const_iterator end_boundary_line
     = subcelldata.boundary_lines.end();
   for (; boundary_line!=end_boundary_line; ++boundary_line)
     {
       line_iterator line;
-      pair <int, int> line_vertices(make_pair(boundary_line->vertices[0],
-                                             boundary_line->vertices[1]));
+      std::pair <int, int> line_vertices(std::make_pair(boundary_line->vertices[0],
+                                                       boundary_line->vertices[1]));
       if (needed_lines.find(line_vertices) != needed_lines.end())
                                         // line found in this
                                         // direction
@@ -1342,7 +1343,7 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
        {
                                           // look wether it exists in
                                           // reverse direction
-         swap (line_vertices.first, line_vertices.second);
+         std::swap (line_vertices.first, line_vertices.second);
          if (needed_lines.find(line_vertices) != needed_lines.end())
            line = needed_lines[line_vertices];
          else
@@ -1364,15 +1365,15 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
 
 
                                   // now go on with boundary faces
-  vector<CellData<2> >::const_iterator boundary_quad
+  std::vector<CellData<2> >::const_iterator boundary_quad
     = subcelldata.boundary_quads.begin();
-  vector<CellData<2> >::const_iterator end_boundary_quad
+  std::vector<CellData<2> >::const_iterator end_boundary_quad
     = subcelldata.boundary_quads.end();
   for (; boundary_quad!=end_boundary_quad; ++boundary_quad)
     {
       quad_iterator quad;
       line_iterator line[4];
-      vector <int> quad_vertices(4);
+      std::vector <int> quad_vertices(4);
  
                                       // first find the lines that
                                       // are made up of the given
@@ -1381,11 +1382,11 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
                                       // finally use the find
                                       // function of the map template
                                       // to find the quad
-      pair <int, int> line_vertices[4]
-       = { make_pair (boundary_quad->vertices[0], boundary_quad->vertices[1]),
-           make_pair (boundary_quad->vertices[1], boundary_quad->vertices[2]),
-           make_pair (boundary_quad->vertices[3], boundary_quad->vertices[2]),
-           make_pair (boundary_quad->vertices[0], boundary_quad->vertices[3]) };
+      std::pair <int, int> line_vertices[4]
+       = {   std::make_pair (boundary_quad->vertices[0], boundary_quad->vertices[1]),
+             std::make_pair (boundary_quad->vertices[1], boundary_quad->vertices[2]),
+             std::make_pair (boundary_quad->vertices[3], boundary_quad->vertices[2]),
+             std::make_pair (boundary_quad->vertices[0], boundary_quad->vertices[3]) };
        
       for (unsigned int i=0; i<4; ++i)
        {
@@ -1396,18 +1397,18 @@ void Triangulation<3>::create_triangulation (const vector<Point<3> >    &v,
          else
                                             // look wether it exists
                                             // in reverse direction
-         {
-           swap (line_vertices[i].first, line_vertices[i].second);
-           if (needed_lines.find(line_vertices[i]) != needed_lines.end())
-             line[i] = needed_lines[line_vertices[i]];
-           else
-             {
-                                                // line does not exist
-               AssertThrow (false, ExcLineInexistant(line_vertices[i].first,
-                                                     line_vertices[i].second));
-               line[i] = end_line();
-             };
-         };
+           {
+             std::swap (line_vertices[i].first, line_vertices[i].second);
+             if (needed_lines.find(line_vertices[i]) != needed_lines.end())
+               line[i] = needed_lines[line_vertices[i]];
+             else
+               {
+                                                  // line does not exist
+                 AssertThrow (false, ExcLineInexistant(line_vertices[i].first,
+                                                       line_vertices[i].second));
+                 line[i] = end_line();
+               };
+           };
        };  
       
  
@@ -1532,11 +1533,11 @@ void Triangulation<1>::distort_random (const double factor,
   for (cell_iterator cell=begin(0); cell!=end(0); ++cell)
     almost_infinite_length += cell->diameter();
   
-  vector<double>             minimal_length (vertices.size(),
-                                            almost_infinite_length);
+  std::vector<double>             minimal_length (vertices.size(),
+                                                 almost_infinite_length);
                                   // also note if a vertex is at
                                   // the boundary
-  vector<bool>               at_boundary (vertices.size(), false);
+  std::vector<bool>               at_boundary (vertices.size(), false);
   
   for (active_line_iterator line=begin_active_line();
        line != end_line(); ++line)
@@ -1548,9 +1549,11 @@ void Triangulation<1>::distort_random (const double factor,
        };
       
       minimal_length[line->vertex_index(0)]
-       = min(line->diameter(), minimal_length[line->vertex_index(0)]);
+       = std::min(line->diameter(),
+                  minimal_length[line->vertex_index(0)]);
       minimal_length[line->vertex_index(1)]
-       = min(line->diameter(), minimal_length[line->vertex_index(1)]);
+       = std::min(line->diameter(),
+                  minimal_length[line->vertex_index(1)]);
     };
 
 
@@ -1604,12 +1607,12 @@ void Triangulation<dim>::distort_random (const double factor,
   for (cell_iterator cell=begin(0); cell!=end(0); ++cell)
     almost_infinite_length += cell->diameter();
   
-  vector<double>             minimal_length (vertices.size(),
-                                            almost_infinite_length);
+  std::vector<double>             minimal_length (vertices.size(),
+                                                 almost_infinite_length);
 
                                   // also note if a vertex is at
                                   // the boundary
-  vector<bool>               at_boundary (vertices.size(), false);
+  std::vector<bool>               at_boundary (vertices.size(), false);
   
   for (active_line_iterator line=begin_active_line();
        line != end_line(); ++line)
@@ -1621,9 +1624,11 @@ void Triangulation<dim>::distort_random (const double factor,
        };
       
       minimal_length[line->vertex_index(0)]
-       = min(line->diameter(), minimal_length[line->vertex_index(0)]);
+       = std::min(line->diameter(),
+                  minimal_length[line->vertex_index(0)]);
       minimal_length[line->vertex_index(1)]
-       = min(line->diameter(), minimal_length[line->vertex_index(1)]);
+       = std::min(line->diameter(),
+                  minimal_length[line->vertex_index(1)]);
     };
 
 
@@ -1702,9 +1707,9 @@ void Triangulation<dim>::refine_global (const unsigned int times) {
 
 
 template <int dim>
-void Triangulation<dim>::save_refine_flags (vector<bool> &v) const {
+void Triangulation<dim>::save_refine_flags (std::vector<bool> &v) const {
   v.resize (n_active_cells(), false);
-  vector<bool>::iterator  i = v.begin();
+  std::vector<bool>::iterator  i = v.begin();
   active_cell_iterator cell = begin_active(),
                       endc = end();
   for (; cell!=endc; ++cell, ++i)
@@ -1713,8 +1718,8 @@ void Triangulation<dim>::save_refine_flags (vector<bool> &v) const {
 
 
 template <int dim>
-void Triangulation<dim>::save_refine_flags (ostream &out) const {
-  vector<bool> v;
+void Triangulation<dim>::save_refine_flags (std::ostream &out) const {
+  std::vector<bool> v;
   save_refine_flags (v);
   write_bool_vector (mn_tria_refine_flags_begin, v, mn_tria_refine_flags_end,
                     out);
@@ -1722,8 +1727,8 @@ void Triangulation<dim>::save_refine_flags (ostream &out) const {
 
 
 template <int dim>
-void Triangulation<dim>::load_refine_flags (istream &in) {
-  vector<bool> v;
+void Triangulation<dim>::load_refine_flags (std::istream &in) {
+  std::vector<bool> v;
   read_bool_vector (mn_tria_refine_flags_begin, v, mn_tria_refine_flags_end,
                    in);
   load_refine_flags (v);
@@ -1731,12 +1736,12 @@ void Triangulation<dim>::load_refine_flags (istream &in) {
 
 
 template <int dim>
-void Triangulation<dim>::load_refine_flags (const vector<bool> &v) {
+void Triangulation<dim>::load_refine_flags (const std::vector<bool> &v) {
   Assert (v.size() == n_active_cells(), ExcGridReadError());
   
   active_cell_iterator cell = begin_active(),
                       endc = end();
-  vector<bool>::const_iterator i = v.begin();
+  std::vector<bool>::const_iterator i = v.begin();
   for (; cell!=endc; ++cell, ++i)
     if (*i == true)
       cell->set_refine_flag();
@@ -1746,9 +1751,9 @@ void Triangulation<dim>::load_refine_flags (const vector<bool> &v) {
 
 
 template <int dim>
-void Triangulation<dim>::save_coarsen_flags (vector<bool> &v) const {
+void Triangulation<dim>::save_coarsen_flags (std::vector<bool> &v) const {
   v.resize (n_active_cells(), false);
-  vector<bool>::iterator  i = v.begin();
+  std::vector<bool>::iterator  i = v.begin();
   active_cell_iterator cell = begin_active(),
                       endc = end();
   for (; cell!=endc; ++cell, ++i)
@@ -1757,8 +1762,8 @@ void Triangulation<dim>::save_coarsen_flags (vector<bool> &v) const {
 
 
 template <int dim>
-void Triangulation<dim>::save_coarsen_flags (ostream &out) const {
-  vector<bool> v;
+void Triangulation<dim>::save_coarsen_flags (std::ostream &out) const {
+  std::vector<bool> v;
   save_coarsen_flags (v);
   write_bool_vector (mn_tria_coarsen_flags_begin, v, mn_tria_coarsen_flags_end,
                     out);
@@ -1766,8 +1771,8 @@ void Triangulation<dim>::save_coarsen_flags (ostream &out) const {
 
 
 template <int dim>
-void Triangulation<dim>::load_coarsen_flags (istream &in) {
-  vector<bool> v;
+void Triangulation<dim>::load_coarsen_flags (std::istream &in) {
+  std::vector<bool> v;
   read_bool_vector (mn_tria_coarsen_flags_begin, v, mn_tria_coarsen_flags_end,
                    in);
   load_coarsen_flags (v);
@@ -1775,12 +1780,12 @@ void Triangulation<dim>::load_coarsen_flags (istream &in) {
 
 
 template <int dim>
-void Triangulation<dim>::load_coarsen_flags (const vector<bool> &v) {
+void Triangulation<dim>::load_coarsen_flags (const std::vector<bool> &v) {
   Assert (v.size() == n_active_cells(), ExcGridReadError());
   
   active_cell_iterator cell = begin_active(),
                       endc = end();
-  vector<bool>::const_iterator i = v.begin();
+  std::vector<bool>::const_iterator i = v.begin();
   for (; cell!=endc; ++cell, ++i)
     if (*i == true)
       cell->set_coarsen_flag();
@@ -1888,7 +1893,7 @@ void Triangulation<3>::clear_user_flags () {
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags (ostream &out) const {
+void Triangulation<dim>::save_user_flags (std::ostream &out) const {
   save_user_flags_line (out);
   
   if (dim>=2)
@@ -1903,12 +1908,12 @@ void Triangulation<dim>::save_user_flags (ostream &out) const {
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags (vector<bool> &v) const {
+void Triangulation<dim>::save_user_flags (std::vector<bool> &v) const {
                                   // clear vector and append
                                   // all the stuff later on
   v.clear ();
 
-  vector<bool> tmp;
+  std::vector<bool> tmp;
 
   save_user_flags_line (tmp);
   v.insert (v.end(), tmp.begin(), tmp.end());
@@ -1931,7 +1936,7 @@ void Triangulation<dim>::save_user_flags (vector<bool> &v) const {
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags (istream &in)
+void Triangulation<dim>::load_user_flags (std::istream &in)
 {
   load_user_flags_line (in);
   
@@ -1947,10 +1952,10 @@ void Triangulation<dim>::load_user_flags (istream &in)
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags (const vector<bool> &v)
+void Triangulation<dim>::load_user_flags (const std::vector<bool> &v)
 {
   Assert (v.size() == n_lines()+n_quads()+n_hexs(), ExcInternalError());
-  vector<bool> tmp;
+  std::vector<bool> tmp;
 
                                   // first extract the flags belonging
                                   // to lines
@@ -1982,9 +1987,9 @@ void Triangulation<dim>::load_user_flags (const vector<bool> &v)
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags_line (vector<bool> &v) const {
+void Triangulation<dim>::save_user_flags_line (std::vector<bool> &v) const {
   v.resize (n_lines(), false);
-  vector<bool>::iterator  i = v.begin();
+  std::vector<bool>::iterator  i = v.begin();
   line_iterator line = begin_line(),
                endl = end_line();
   for (; line!=endl; ++line, ++i)
@@ -1993,8 +1998,8 @@ void Triangulation<dim>::save_user_flags_line (vector<bool> &v) const {
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags_line (ostream &out) const {
-  vector<bool> v;
+void Triangulation<dim>::save_user_flags_line (std::ostream &out) const {
+  std::vector<bool> v;
   save_user_flags_line (v);
   write_bool_vector (mn_tria_line_user_flags_begin, v, mn_tria_line_user_flags_end,
                     out);
@@ -2002,8 +2007,8 @@ void Triangulation<dim>::save_user_flags_line (ostream &out) const {
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags_line (istream &in) {
-  vector<bool> v;
+void Triangulation<dim>::load_user_flags_line (std::istream &in) {
+  std::vector<bool> v;
   read_bool_vector (mn_tria_line_user_flags_begin, v, mn_tria_line_user_flags_end,
                    in);
   load_user_flags_line (v);
@@ -2011,12 +2016,12 @@ void Triangulation<dim>::load_user_flags_line (istream &in) {
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags_line (const vector<bool> &v) {
+void Triangulation<dim>::load_user_flags_line (const std::vector<bool> &v) {
   Assert (v.size() == n_lines(), ExcGridReadError());
   
   line_iterator line = begin_line(),
                endl = end_line();
-  vector<bool>::const_iterator i = v.begin();
+  std::vector<bool>::const_iterator i = v.begin();
   for (; line!=endl; ++line, ++i)
     if (*i == true)
       line->set_user_flag();
@@ -2028,49 +2033,49 @@ void Triangulation<dim>::load_user_flags_line (const vector<bool> &v) {
 #if deal_II_dimension == 1
 
 template <>
-void Triangulation<1>::save_user_flags_quad (ostream &) const {
+void Triangulation<1>::save_user_flags_quad (std::ostream &) const {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<1>::save_user_flags_quad (vector<bool> &) const {
+void Triangulation<1>::save_user_flags_quad (std::vector<bool> &) const {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<1>::load_user_flags_quad (istream &) {
+void Triangulation<1>::load_user_flags_quad (std::istream &) {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<1>::load_user_flags_quad (const vector<bool> &) {
+void Triangulation<1>::load_user_flags_quad (const std::vector<bool> &) {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<1>::save_user_flags_hex (ostream &) const {
+void Triangulation<1>::save_user_flags_hex (std::ostream &) const {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<1>::save_user_flags_hex (vector<bool> &) const {
+void Triangulation<1>::save_user_flags_hex (std::vector<bool> &) const {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<1>::load_user_flags_hex (istream &) {
+void Triangulation<1>::load_user_flags_hex (std::istream &) {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<1>::load_user_flags_hex (const vector<bool> &) {
+void Triangulation<1>::load_user_flags_hex (const std::vector<bool> &) {
   Assert (false, ExcFunctionNotUseful());
 };
 
@@ -2078,9 +2083,9 @@ void Triangulation<1>::load_user_flags_hex (const vector<bool> &) {
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags_quad (vector<bool> &v) const {
+void Triangulation<dim>::save_user_flags_quad (std::vector<bool> &v) const {
   v.resize (n_quads(), false);
-  vector<bool>::iterator  i = v.begin();
+  std::vector<bool>::iterator  i = v.begin();
   quad_iterator quad = begin_quad(),
                endq = end_quad();
   for (; quad!=endq; ++quad, ++i)
@@ -2089,8 +2094,8 @@ void Triangulation<dim>::save_user_flags_quad (vector<bool> &v) const {
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags_quad (ostream &out) const {
-  vector<bool> v;
+void Triangulation<dim>::save_user_flags_quad (std::ostream &out) const {
+  std::vector<bool> v;
   save_user_flags_quad (v);
   write_bool_vector (mn_tria_quad_user_flags_begin, v, mn_tria_quad_user_flags_end,
                     out);
@@ -2098,8 +2103,8 @@ void Triangulation<dim>::save_user_flags_quad (ostream &out) const {
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags_quad (istream &in) {
-  vector<bool> v;
+void Triangulation<dim>::load_user_flags_quad (std::istream &in) {
+  std::vector<bool> v;
   read_bool_vector (mn_tria_quad_user_flags_begin, v, mn_tria_quad_user_flags_end,
                    in);
   load_user_flags_quad (v);
@@ -2107,12 +2112,12 @@ void Triangulation<dim>::load_user_flags_quad (istream &in) {
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags_quad (const vector<bool> &v) {
+void Triangulation<dim>::load_user_flags_quad (const std::vector<bool> &v) {
   Assert (v.size() == n_quads(), ExcGridReadError());
   
   quad_iterator quad = begin_quad(),
                endq = end_quad();
-  vector<bool>::const_iterator i = v.begin();
+  std::vector<bool>::const_iterator i = v.begin();
   for (; quad!=endq; ++quad, ++i)
     if (*i == true)
       quad->set_user_flag();
@@ -2124,25 +2129,25 @@ void Triangulation<dim>::load_user_flags_quad (const vector<bool> &v) {
 #if deal_II_dimension == 2
 
 template <>
-void Triangulation<2>::save_user_flags_hex (ostream &) const {
+void Triangulation<2>::save_user_flags_hex (std::ostream &) const {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<2>::save_user_flags_hex (vector<bool> &) const {
+void Triangulation<2>::save_user_flags_hex (std::vector<bool> &) const {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<2>::load_user_flags_hex (istream &) {
+void Triangulation<2>::load_user_flags_hex (std::istream &) {
   Assert (false, ExcFunctionNotUseful());
 };
 
 
 template <>
-void Triangulation<2>::load_user_flags_hex (const vector<bool> &) {
+void Triangulation<2>::load_user_flags_hex (const std::vector<bool> &) {
   Assert (false, ExcFunctionNotUseful());
 };
 
@@ -2151,9 +2156,9 @@ void Triangulation<2>::load_user_flags_hex (const vector<bool> &) {
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags_hex (vector<bool> &v) const {
+void Triangulation<dim>::save_user_flags_hex (std::vector<bool> &v) const {
   v.resize (n_hexs(), false);
-  vector<bool>::iterator  i = v.begin();
+  std::vector<bool>::iterator  i = v.begin();
   hex_iterator hex = begin_hex(),
              endh = end_hex();
   for (; hex!=endh; ++hex, ++i)
@@ -2162,8 +2167,8 @@ void Triangulation<dim>::save_user_flags_hex (vector<bool> &v) const {
 
 
 template <int dim>
-void Triangulation<dim>::save_user_flags_hex (ostream &out) const {
-  vector<bool> v;
+void Triangulation<dim>::save_user_flags_hex (std::ostream &out) const {
+  std::vector<bool> v;
   save_user_flags_hex (v);
   write_bool_vector (mn_tria_hex_user_flags_begin, v, mn_tria_hex_user_flags_end,
                     out);
@@ -2171,8 +2176,8 @@ void Triangulation<dim>::save_user_flags_hex (ostream &out) const {
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags_hex (istream &in) {
-  vector<bool> v;
+void Triangulation<dim>::load_user_flags_hex (std::istream &in) {
+  std::vector<bool> v;
   read_bool_vector (mn_tria_hex_user_flags_begin, v, mn_tria_hex_user_flags_end,
                    in);
   load_user_flags_hex (v);
@@ -2180,12 +2185,12 @@ void Triangulation<dim>::load_user_flags_hex (istream &in) {
 
 
 template <int dim>
-void Triangulation<dim>::load_user_flags_hex (const vector<bool> &v) {
+void Triangulation<dim>::load_user_flags_hex (const std::vector<bool> &v) {
   Assert (v.size() == n_hexs(), ExcGridReadError());
   
   hex_iterator hex = begin_hex(),
              endh = end_hex();
-  vector<bool>::const_iterator i = v.begin();
+  std::vector<bool>::const_iterator i = v.begin();
   for (; hex!=endh; ++hex, ++i)
     if (*i == true)
       hex->set_user_flag();
@@ -3592,8 +3597,8 @@ template <int dim>
 unsigned int
 Triangulation<dim>::n_used_vertices () const 
 {
-  return count_if (vertices_used.begin(), vertices_used.end(),
-                  bind2nd (equal_to<bool>(), true));
+  return std::count_if (vertices_used.begin(), vertices_used.end(),
+                       std::bind2nd (std::equal_to<bool>(), true));
 };
 
 
@@ -3622,16 +3627,16 @@ unsigned int Triangulation<dim>::max_adjacent_cells () const {
                                   // store the number of times a cell touches
                                   // a vertex. An unsigned int should suffice,
                                   // even for larger dimensions
-  vector<unsigned short int> usage_count (max_vertex_index+1, 0);
+  std::vector<unsigned short int> usage_count (max_vertex_index+1, 0);
                                   // touch a vertex's usage count everytime
                                   // we find an adjacent element
   for (cell=begin(); cell!=endc; ++cell)
     for (unsigned vertex=0; vertex<GeometryInfo<dim>::vertices_per_cell; ++vertex)
       ++usage_count[cell->vertex_index(vertex)];
 
-  return max (GeometryInfo<dim>::vertices_per_cell,
-             static_cast<unsigned int>(*(max_element (usage_count.begin(),
-                                                      usage_count.end()))));
+  return std::max (GeometryInfo<dim>::vertices_per_cell,
+                  static_cast<unsigned int>(*std::max_element (usage_count.begin(),
+                                                               usage_count.end())));
 };
 
 
@@ -3693,9 +3698,9 @@ void Triangulation<1>::execute_refinement () {
                                       // count number of used cells on
                                       // the next higher level
       const unsigned int used_cells
-       =  count_if (levels[level+1]->lines.used.begin(),
-                    levels[level+1]->lines.used.end(),
-                    bind2nd (equal_to<bool>(), true));
+       =  std::count_if (levels[level+1]->lines.used.begin(),
+                         levels[level+1]->lines.used.end(),
+                         std::bind2nd (std::equal_to<bool>(), true));
 
                                       // reserve space for the used_cells
                                       // cells already existing on the next
@@ -3717,8 +3722,8 @@ void Triangulation<1>::execute_refinement () {
 
                                   // add to needed vertices how
                                   // many vertices are already in use
-  needed_vertices += count_if (vertices_used.begin(), vertices_used.end(),
-                              bind2nd (equal_to<bool>(), true));
+  needed_vertices += std::count_if (vertices_used.begin(), vertices_used.end(),
+                                   std::bind2nd (std::equal_to<bool>(), true));
                                   // if we need more vertices: create them,
                                   // if not: leave the array as is, since
                                   // shrinking is not really possible because
@@ -3967,13 +3972,13 @@ void Triangulation<2>::execute_refinement () {
                                                     // case 1
                    if (((neighbor->refine_flag_set() == true) &&
                         (acell->index() < neighbor->index()))
-                                                         // case 1a
-                                                         // we need one more vertex
-                                                         // and two more lines, but
-                                                         // we must only count them
-                                                         // once. Convention: count
-                                                         // them for the cell with
-                                                         // the lower index
+                                                        // case 1a
+                                                        // we need one more vertex
+                                                        // and two more lines, but
+                                                        // we must only count them
+                                                        // once. Convention: count
+                                                        // them for the cell with
+                                                        // the lower index
                        ||
                        (neighbor->refine_flag_set() == false))
                                                       // case 1b
@@ -4006,10 +4011,10 @@ void Triangulation<2>::execute_refinement () {
                                       // count number of used cells on
                                       // the next higher level
       const unsigned int used_cells
-       = count_if (levels[level+1]->quads.used.begin(),
-               levels[level+1]->quads.used.end(),
-               bind2nd (equal_to<bool>(), true));
-
+       = std::count_if (levels[level+1]->quads.used.begin(),
+                        levels[level+1]->quads.used.end(),
+                        std::bind2nd (std::equal_to<bool>(), true));
+      
 
                                       // reserve space for the used_cells
                                       // cells already existing on the next
@@ -4031,8 +4036,8 @@ void Triangulation<2>::execute_refinement () {
 
                                   // add to needed vertices how
                                   // many vertices are already in use
-  needed_vertices += count_if (vertices_used.begin(), vertices_used.end(),
-                              bind2nd (equal_to<bool>(), true));
+  needed_vertices += std::count_if (vertices_used.begin(), vertices_used.end(),
+                                   std::bind2nd (std::equal_to<bool>(), true));
                                   // if we need more vertices: create them,
                                   // if not: leave the array as is, since
                                   // shrinking is not really possible because
@@ -4086,23 +4091,23 @@ void Triangulation<2>::execute_refinement () {
    
    First:
    Set up an array of the 3x3 vertices, which are distributed on the cell
-   (the array consists of indices into the @p{vertices} vector
+   (the array consists of indices into the @p{vertices} std::vector
    
-     6--5--4
-     |  |  |
-     7--8--3
-     |  |  |
-     0--1--2
+   6--5--4
+   |  |  |
+   7--8--3
+   |  |  |
+   0--1--2
        
    Second:  
    Set up an array of the new lines (the array consists of iterator pointers
    into the lines arrays)
    
-     .-5-.-4-.         The directions are:  .->-.->-.
-     6   9   3                              ^   ^   ^
-     .-10.11- .                             .->-.->-.
-     7   8   2                              ^   ^   ^
-     .-0-.-1-.                              .->-.->-.
+   .-5-.-4-.         The directions are:  .->-.->-.
+   6   9   3                              ^   ^   ^
+   .-10.11- .                             .->-.->-.
+   7   8   2                              ^   ^   ^
+   .-0-.-1-.                              .->-.->-.
 
    Please note that since the children of line are created in the direction of
    that line, the lines 4,5 and 6,7 are created in the wrong time order. This
@@ -4114,13 +4119,13 @@ void Triangulation<2>::execute_refinement () {
    Third:
    Set up an array of neighbors:
    
-       5   4
-      .--.--.
-     6|  |  |3
-      .--.--.
-     7|  |  |2
-      .--.--.
-       0   1
+   5   4
+   .--.--.
+   6|  |  |3
+   .--.--.
+   7|  |  |2
+   .--.--.
+   0   1
 
    We need this array for two reasons: first to get the lines which will
    bound the four subcells (if the neighboring cell is refined, these
@@ -4146,12 +4151,12 @@ void Triangulation<2>::execute_refinement () {
    Convention:
    The created children are numbered like this:
 
-     .--.--.
-     |3 . 2|
-     .--.--.
-     |0 | 1|
-     .--.--.
-   */
+   .--.--.
+   |3 . 2|
+   .--.--.
+   |0 | 1|
+   .--.--.
+*/
 
            int               new_vertices[9] = {cell->vertex_index(0), -1,
                                                 cell->vertex_index(1), -1,
@@ -4177,11 +4182,11 @@ void Triangulation<2>::execute_refinement () {
                bool neighbor_refined=false;
                if (cell->neighbor(nb).state() == valid)
                  if (cell->neighbor(nb)->active() == false)
-                                                  // (ask in two if-statements,
-                                                  // since otherwise both
-                                                  // conditions would be executed,
-                                                  // but the second will throw an
-                                                  // error if the first fails!)
+                                                    // (ask in two if-statements,
+                                                    // since otherwise both
+                                                    // conditions would be executed,
+                                                    // but the second will throw an
+                                                    // error if the first fails!)
                    neighbor_refined=true;
                
                if (neighbor_refined)
@@ -4192,8 +4197,8 @@ void Triangulation<2>::execute_refinement () {
                                                     // two children which
                                                     // we can use.
                    cell_iterator neighbor = cell->neighbor(nb);
-                                                        // this cell is the nb_nb-th
-                                                        // neighbor or neighbor(nb)
+                                                    // this cell is the nb_nb-th
+                                                    // neighbor or neighbor(nb)
                    const unsigned int nb_nb = cell->neighbor_of_neighbor (nb);
 
                    neighbors_neighbor[2*nb] = neighbors_neighbor[2*nb+1] = nb_nb;
@@ -4249,9 +4254,9 @@ void Triangulation<2>::execute_refinement () {
                    
                    if ( face->boundary_indicator() != 255 )
                      {
-                                                      // boundary vertex
-                     new_point = boundary[face->boundary_indicator()]->
-                                 get_new_point_on_line (face);
+                                                        // boundary vertex
+                       new_point = boundary[face->boundary_indicator()]->
+                                   get_new_point_on_line (face);
                      } else {
                                                         // vertex between two
                                                         // normal cells
@@ -4299,7 +4304,7 @@ void Triangulation<2>::execute_refinement () {
                        new_lines[nb*2] = next_unused_line;
 
                        new_lines[nb*2]->set(Line(new_vertices[2*nb+1],
-                                                   new_vertices[2*nb]));
+                                                 new_vertices[2*nb]));
                        new_lines[nb*2]->set_used_flag ();
                        new_lines[nb*2]->clear_children ();
                        new_lines[nb*2]->clear_user_pointer ();
@@ -4618,9 +4623,9 @@ void Triangulation<3>::execute_refinement () {
                                       // count number of used cells on
                                       // the next higher level
       const unsigned int used_cells
-       = count_if (levels[level+1]->quads.used.begin(),
-                   levels[level+1]->quads.used.end(),
-                   bind2nd (equal_to<bool>(), true));
+       = std::count_if (levels[level+1]->quads.used.begin(),
+                        levels[level+1]->quads.used.end(),
+                        std::bind2nd (std::equal_to<bool>(), true));
 
 
                                       // reserve space for the used_cells
@@ -4647,8 +4652,8 @@ void Triangulation<3>::execute_refinement () {
 
                                   // add to needed vertices how
                                   // many vertices are already in use
-  needed_vertices += count_if (vertices_used.begin(), vertices_used.end(),
-                              bind2nd (equal_to<bool>(), true));
+  needed_vertices += std::count_if (vertices_used.begin(), vertices_used.end(),
+                                   std::bind2nd (std::equal_to<bool>(), true));
                                   // if we need more vertices: create them,
                                   // if not: leave the array as is, since
                                   // shrinking is not really possible because
@@ -5279,13 +5284,13 @@ void Triangulation<3>::execute_refinement () {
                                    line_indices[25],
                                    line_indices[12]));
            new_quads[10]->set (Quad(line_indices[25],
-                                   line_indices[18],
-                                   line_indices[23],
-                                   line_indices[14]));
+                                    line_indices[18],
+                                    line_indices[23],
+                                    line_indices[14]));
            new_quads[11]->set (Quad(line_indices[24],
-                                   line_indices[14],
-                                   line_indices[22],
-                                   line_indices[2]));
+                                    line_indices[14],
+                                    line_indices[22],
+                                    line_indices[2]));
            for (unsigned int i=0; i<12; ++i)
              {
                new_quads[i]->set_used_flag();
@@ -5895,22 +5900,22 @@ void Triangulation<3>::prepare_refinement_dim_dependent ()
                  };
              };
 
-                                                // there is another thing here:
-                                                // if any of the lines if refined,
-                                                // we may not coarsen this cell.
-                                                // this also holds true if the
-                                                // line is not yet refined, but
-                                                // will be
-                                                //
-                                                // this is not totally true,
-                                                // since the neighbors' children
-                                                // may also be all coarsened,
-                                                // but we do not catch these
-                                                // aspects here; in effect, we
-                                                // disallow to coarsen sharp
-                                                // edges where the refinement
-                                                // level decreases from each cell
-                                                // to the next
+                                            // there is another thing here:
+                                            // if any of the lines if refined,
+                                            // we may not coarsen this cell.
+                                            // this also holds true if the
+                                            // line is not yet refined, but
+                                            // will be
+                                            //
+                                            // this is not totally true,
+                                            // since the neighbors' children
+                                            // may also be all coarsened,
+                                            // but we do not catch these
+                                            // aspects here; in effect, we
+                                            // disallow to coarsen sharp
+                                            // edges where the refinement
+                                            // level decreases from each cell
+                                            // to the next
            if (cell->line(line)->has_children() ||
                cell->line(line)->user_flag_set())
              if (cell->coarsen_flag_set())
@@ -6033,7 +6038,7 @@ void Triangulation<dim>::fix_coarsen_flags () {
          for (unsigned int c=0; c<GeometryInfo<dim>::children_per_cell; ++c)
            {
              Assert (cell->child(c)->refine_flag_set()==false,
-                   ExcInternalError());
+                     ExcInternalError());
              
              cell->child(c)->set_coarsen_flag();
            };
@@ -6047,7 +6052,7 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
                                   // save the flags to determine whether
                                   // something was changed in the course
                                   // of this function
-  vector<bool> flags_before[2];
+  std::vector<bool> flags_before[2];
   save_coarsen_flags (flags_before[0]);
   save_refine_flags (flags_before[1]);
 
@@ -6058,7 +6063,7 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
     {
       fix_coarsen_flags ();
 
-      vector<bool> flags_after[2];
+      std::vector<bool> flags_after[2];
       save_coarsen_flags (flags_after[0]);
       save_refine_flags (flags_after[1]);
 
@@ -6099,8 +6104,8 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
                                   //    is enough. Unfortunately, each
                                   //    loop is rather expensive, so
                                   //    we chose the way presented here
-  vector<bool> flags_before_loop[2] = {flags_before[0],
-                                      flags_before[1]};
+  std::vector<bool> flags_before_loop[2] = {flags_before[0],
+                                             flags_before[1]};
 
                                   // now for what is done in each loop: we
                                   // have to fulfill several tasks at the
@@ -6416,7 +6421,7 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
        {
                                           // store highest level one of the cells
                                           // adjacent to a vertex belongs to
-         vector<int> vertex_level (vertices.size(), 0);
+         std::vector<int> vertex_level (vertices.size(), 0);
          active_cell_iterator cell = begin_active(),
                               endc = end();
          for (; cell!=endc; ++cell)
@@ -6424,12 +6429,12 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
                 ++vertex)
              if (cell->refine_flag_set())
                vertex_level[cell->vertex_index(vertex)]
-                 = max (vertex_level[cell->vertex_index(vertex)],
-                        cell->level()+1);
+                 = std::max (vertex_level[cell->vertex_index(vertex)],
+                             cell->level()+1);
              else
                vertex_level[cell->vertex_index(vertex)]
-                 = max (vertex_level[cell->vertex_index(vertex)],
-                        cell->level());
+                 = std::max (vertex_level[cell->vertex_index(vertex)],
+                             cell->level());
 
                                           // loop over all cells in reverse
                                           // order. do so because we can then
@@ -6451,8 +6456,8 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
                    for (unsigned int v=0; v<GeometryInfo<dim>::vertices_per_cell;
                         ++v)
                      vertex_level[cell->vertex_index(v)]
-                       = max (vertex_level[cell->vertex_index(v)],
-                              cell->level()+1);
+                       = std::max (vertex_level[cell->vertex_index(v)],
+                                   cell->level()+1);
 
                                                     // now that we fixed this cell,
                                                     // we can safely leave this
@@ -6737,7 +6742,7 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
 
                                       // get the refinement and coarsening
                                       // flags
-      vector<bool> flags_after_loop[2];
+      std::vector<bool> flags_after_loop[2];
       save_coarsen_flags (flags_after_loop[0]);
       save_refine_flags (flags_after_loop[1]);
 
@@ -7190,19 +7195,19 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
                                   // used, is more severe and causes a memory
                                   // leak which is probably impossible to
                                   // find.
-  const pair<line_iterator,bool> line_is_needed_pairs[12]
-    = { make_pair(cell->line(0), false),
-       make_pair(cell->line(1), false),
-       make_pair(cell->line(2), false),
-       make_pair(cell->line(3), false),
-       make_pair(cell->line(4), false),
-       make_pair(cell->line(5), false),
-       make_pair(cell->line(6), false),
-       make_pair(cell->line(7), false),
-       make_pair(cell->line(8), false),
-       make_pair(cell->line(9), false),
-       make_pair(cell->line(10), false),
-       make_pair(cell->line(11), false)  };
+  const std::pair<line_iterator,bool> line_is_needed_pairs[12]
+    = {   std::make_pair(cell->line(0), false),
+         std::make_pair(cell->line(1), false),
+         std::make_pair(cell->line(2), false),
+         std::make_pair(cell->line(3), false),
+         std::make_pair(cell->line(4), false),
+         std::make_pair(cell->line(5), false),
+         std::make_pair(cell->line(6), false),
+         std::make_pair(cell->line(7), false),
+         std::make_pair(cell->line(8), false),
+         std::make_pair(cell->line(9), false),
+         std::make_pair(cell->line(10), false),
+         std::make_pair(cell->line(11), false)  };
                                   // if in debug mode: make sure that
                                   // none of the lines of this cell is
                                   // twice refined; else, deleting this
@@ -7216,14 +7221,14 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
                                   // next make a map out of this for simpler
                                   // access to the flag associated with a
                                   // line
-  map<line_iterator,bool> line_is_needed (&line_is_needed_pairs[0],
-                                         &line_is_needed_pairs[12]);
+  std::map<line_iterator,bool> line_is_needed (&line_is_needed_pairs[0],
+                                              &line_is_needed_pairs[12]);
   
                                   // then ask each neighbor and their neighbors
   for (unsigned int nb=0; nb<GeometryInfo<dim>::faces_per_cell; ++nb) 
     {
       const cell_iterator neighbor = cell->neighbor(nb);
-                                        // do nothing if at boundary
+                                      // do nothing if at boundary
       if (neighbor.state() != valid)
        continue;
 
@@ -7297,7 +7302,7 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
                                   // now, if the lines are not marked as
                                   // needed, we may delete their children
                                   // and the midpoint
-  map<line_iterator,bool>::iterator line_and_flag;
+  std::map<line_iterator,bool>::iterator line_and_flag;
   for (line_and_flag=line_is_needed.begin();
        line_and_flag!=line_is_needed.end(); ++line_and_flag)
     if  (line_and_flag->second == false)
@@ -7322,9 +7327,9 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
 
 template <int dim>
 void Triangulation<dim>::write_bool_vector (const unsigned int  magic_number1,
-                                           const vector<bool> &v,
+                                           const std::vector<bool> &v,
                                            const unsigned int  magic_number2,
-                                           ostream            &out) {
+                                           std::ostream            &out) {
   const unsigned int N = v.size();
   unsigned char *flags = new unsigned char[N/8+1];
   for (unsigned int i=0; i<N/8+1; ++i) flags[i]=0;
@@ -7339,11 +7344,11 @@ void Triangulation<dim>::write_bool_vector (const unsigned int  magic_number1,
                                   // 1. number of flags
                                   // 2. the flags
                                   // 3. magic number
-  out << magic_number1 << ' ' << N << endl;
+  out << magic_number1 << ' ' << N << std::endl;
   for (unsigned int i=0; i<N/8+1; ++i) 
     out << static_cast<unsigned int>(flags[i]) << ' ';
   
-  out << endl << magic_number2 << endl;
+  out << std::endl << magic_number2 << std::endl;
   
   delete[] flags;
 
@@ -7353,9 +7358,9 @@ void Triangulation<dim>::write_bool_vector (const unsigned int  magic_number1,
 
 template <int dim>
 void Triangulation<dim>::read_bool_vector (const unsigned int  magic_number1,
-                                          vector<bool>       &v,
+                                          std::vector<bool>       &v,
                                           const unsigned int  magic_number2,
-                                          istream            &in) {
+                                          std::istream            &in) {
   AssertThrow (in, ExcIO());
 
   unsigned int magic_number;
index 873d181d54d7814bc614b4f8e6c1930ed1957624..78e66076bb1751e5ecde8aaad66bd347d4593357 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -379,8 +379,8 @@ bool TriaObjectAccessor<2, dim>::at_boundary () const
 template <int dim>
 double TriaObjectAccessor<2, dim>::diameter () const
 {
-  return sqrt(max((vertex(2)-vertex(0)).square(),
-                 (vertex(3)-vertex(1)).square()));
+  return sqrt(std::max((vertex(2)-vertex(0)).square(),
+                      (vertex(3)-vertex(1)).square()));
 };
 
 
@@ -411,7 +411,7 @@ Point<2> TriaObjectAccessor<2, 2>::barycenter () const
   |K| = \int_K 1 dx dy  = \int_{\hat K} |det J| d(xi) d(eta)
   and that the barycenter is given by
   \vec x_s = 1/|K| \int_K \vec x dx dy
-           = 1/|K| \int_{\hat K} \vec x(xi,eta) |det J| d(xi) d(eta)
+  = 1/|K| \int_{\hat K} \vec x(xi,eta) |det J| d(xi) d(eta)
 
   # x and y are arrays holding the x- and y-values of the four vertices
   # of this cell in real space. 
@@ -535,39 +535,39 @@ Point<3> TriaObjectAccessor<2, 3>::barycenter () const
   an area element in real space; this equals the Jacobian determinant
   at this point, then. To do so, find out the points in real space
   belonging to
-    xi,eta
-    xi+dxi, eta
-    xi, eta+deta
+  xi,eta
+  xi+dxi, eta
+  xi, eta+deta
   To this end, remember that the mapping is
-    x(xi,eta) = \sum_i=0^3 x_i phi_i(xi,eta)
-    y(xi,eta) = \sum_i=0^3 y_i phi_i(xi,eta)
-    z(xi,eta) = \sum_i=0^3 z_i phi_i(xi,eta)
+  x(xi,eta) = \sum_i=0^3 x_i phi_i(xi,eta)
+  y(xi,eta) = \sum_i=0^3 y_i phi_i(xi,eta)
+  z(xi,eta) = \sum_i=0^3 z_i phi_i(xi,eta)
   with x_i, y_i being the four vertices and the phi_i the shape functions
   corresponding to these four vertices of this face. Now the real space
   points belonging to the above points on the unit face are:
-    x, y, z
-    x+sum x_i \partial_xi phi_i(xi,eta) dxi,
-       y+sum y_i \partial_xi phi_i(xi,eta) dxi,
-       z+sum z_i \partial_xi phi_i(xi,eta) dxi
-    x+sum x_i \partial_eta phi_i(xi,eta) deta,
-       y+sum y_i \partial_eta phi_i(xi,eta) deta,
-       z+sum z_i \partial_eta phi_i(xi,eta) deta
+  x, y, z
+  x+sum x_i \partial_xi phi_i(xi,eta) dxi,
+  y+sum y_i \partial_xi phi_i(xi,eta) dxi,
+  z+sum z_i \partial_xi phi_i(xi,eta) dxi
+  x+sum x_i \partial_eta phi_i(xi,eta) deta,
+  y+sum y_i \partial_eta phi_i(xi,eta) deta,
+  z+sum z_i \partial_eta phi_i(xi,eta) deta
   The unit infinitesimal vectors at the point xi,eta have the direction
-    dxi, 0
-    0, deta
+  dxi, 0
+  0, deta
   and are therefore in real space
-    sum x_i \partial_xi phi_i(xi,eta) dxi,
-      sum y_i \partial_xi phi_i(xi,eta) dxi,
-      sum z_i \partial_xi phi_i(xi,eta) dxi
-    sum x_i \partial_eta phi_i(xi,eta) deta,
-      sum y_i \partial_eta phi_i(xi,eta) deta
-      sum z_i \partial_eta phi_i(xi,eta) deta
+  sum x_i \partial_xi phi_i(xi,eta) dxi,
+  sum y_i \partial_xi phi_i(xi,eta) dxi,
+  sum z_i \partial_xi phi_i(xi,eta) dxi
+  sum x_i \partial_eta phi_i(xi,eta) deta,
+  sum y_i \partial_eta phi_i(xi,eta) deta
+  sum z_i \partial_eta phi_i(xi,eta) deta
   or in other form:
-    \partial_xi (x,y,z) dxi
-    \partial_eta (x,y,z) deta
+  \partial_xi (x,y,z) dxi
+  \partial_eta (x,y,z) deta
   Then the area element is the length of the cross-product of these two vectors and
   the Jacobian determinant is this expression divided by dxi deta:
-    |J| = |(\partial_xi (x,y,z) \times (\partial_eta (x,y,z)|
+  |J| = |(\partial_xi (x,y,z) \times (\partial_eta (x,y,z)|
 
   There is a script in the deal.II/source/fe/scripts/3d directory, which does
   these computations in Maple.
@@ -771,10 +771,10 @@ bool TriaObjectAccessor<3, dim>::at_boundary () const
 template <int dim>
 double TriaObjectAccessor<3, dim>::diameter () const
 {
-  return sqrt(max( max((vertex(6)-vertex(0)).square(),
-                      (vertex(7)-vertex(1)).square()),
-                  max((vertex(4)-vertex(2)).square(),
-                      (vertex(5)-vertex(3)).square()) ));
+  return sqrt(std::max( std::max((vertex(6)-vertex(0)).square(),
+                                (vertex(7)-vertex(1)).square()),
+                  std::max((vertex(4)-vertex(2)).square(),
+                           (vertex(5)-vertex(3)).square()) ));
 };
 
 
@@ -800,7 +800,7 @@ Point<3> TriaObjectAccessor<3, 3>::barycenter () const
   |K| = \int_K 1 dx dy dz = \int_{\hat K} |det J| d(xi) d(eta) d(zeta)
   and that the barycenter is given by
   \vec x_s = 1/|K| \int_K \vec x dx dy dz
-           = 1/|K| \int_{\hat K} \vec x(xi,eta,zeta) |det J| d(xi) d(eta) d(zeta)
+  = 1/|K| \int_{\hat K} \vec x(xi,eta,zeta) |det J| d(xi) d(eta) d(zeta)
 
   # x, y and z are arrays holding the x-, y- and z-values of the four vertices
   # of this cell in real space. 
@@ -820,8 +820,8 @@ Point<3> TriaObjectAccessor<3, 3>::barycenter () const
   z_real := sum(z[s]*tphi[s], s=0..7):
   with (linalg):
   J := matrix(3,3, [[diff(x_real, xi), diff(x_real, eta), diff(x_real, zeta)],
-                    [diff(y_real, xi), diff(y_real, eta), diff(y_real, zeta)],
-                   [diff(z_real, xi), diff(z_real, eta), diff(z_real, zeta)]]): 
+  [diff(y_real, xi), diff(y_real, eta), diff(y_real, zeta)],
+  [diff(z_real, xi), diff(z_real, eta), diff(z_real, zeta)]]): 
   detJ := det (J):
 
   measure := simplify ( int ( int ( int (detJ, xi=0..1), eta=0..1), zeta=0..1)):
@@ -864,572 +864,572 @@ Point<3> TriaObjectAccessor<3, 3>::barycenter () const
   
   s1 = 1.0/6.0;
   s8 = -x[2]*x[2]*y[0]*z[3]-2.0*z[6]*x[7]*x[7]*y[4]-z[5]*x[7]*x[7]*y[4]-z
-[6]*x[7]*x[7]*y[5]+2.0*y[6]*x[7]*x[7]*z[4]-z[5]*x[6]*x[6]*y[4]+x[6]*x[6]*y[4]*z
-[7]-z[1]*x[0]*x[0]*y[2]-x[6]*x[6]*y[7]*z[4]+2.0*x[6]*x[6]*y[5]*z[7]-2.0*x[6]*x
-[6]*y[7]*z[5]+y[5]*x[6]*x[6]*z[4]+2.0*x[5]*x[5]*y[4]*z[6]+x[0]*x[0]*y[7]*z[4]
--2.0*x[5]*x[5]*y[6]*z[4];
+       [6]*x[7]*x[7]*y[5]+2.0*y[6]*x[7]*x[7]*z[4]-z[5]*x[6]*x[6]*y[4]+x[6]*x[6]*y[4]*z
+       [7]-z[1]*x[0]*x[0]*y[2]-x[6]*x[6]*y[7]*z[4]+2.0*x[6]*x[6]*y[5]*z[7]-2.0*x[6]*x
+       [6]*y[7]*z[5]+y[5]*x[6]*x[6]*z[4]+2.0*x[5]*x[5]*y[4]*z[6]+x[0]*x[0]*y[7]*z[4]
+       -2.0*x[5]*x[5]*y[6]*z[4];
   s7 = s8-y[6]*x[5]*x[5]*z[7]+z[6]*x[5]*x[5]*y[7]-y[1]*x[0]*x[0]*z[5]+x[7]*
-z[5]*x[4]*y[7]-x[7]*y[6]*x[5]*z[7]-2.0*x[7]*x[6]*y[7]*z[4]+2.0*x[7]*x[6]*y[4]*z
-[7]-x[7]*x[5]*y[7]*z[4]-2.0*x[7]*y[6]*x[4]*z[7]-x[7]*y[5]*x[4]*z[7]+x[2]*x[2]*y
-[3]*z[0]-x[7]*x[6]*y[7]*z[5]+x[7]*x[6]*y[5]*z[7]+2.0*x[1]*x[1]*y[0]*z[5]+x[7]*z
-[6]*x[5]*y[7];
+       z[5]*x[4]*y[7]-x[7]*y[6]*x[5]*z[7]-2.0*x[7]*x[6]*y[7]*z[4]+2.0*x[7]*x[6]*y[4]*z
+       [7]-x[7]*x[5]*y[7]*z[4]-2.0*x[7]*y[6]*x[4]*z[7]-x[7]*y[5]*x[4]*z[7]+x[2]*x[2]*y
+       [3]*z[0]-x[7]*x[6]*y[7]*z[5]+x[7]*x[6]*y[5]*z[7]+2.0*x[1]*x[1]*y[0]*z[5]+x[7]*z
+       [6]*x[5]*y[7];
   s8 = -2.0*x[1]*x[1]*y[5]*z[0]+z[1]*x[0]*x[0]*y[5]+2.0*x[2]*x[2]*y[3]*z[1]
--z[5]*x[4]*x[4]*y[1]+y[5]*x[4]*x[4]*z[1]-2.0*x[5]*x[5]*y[4]*z[1]+2.0*x[5]*x[5]*
-y[1]*z[4]-2.0*x[2]*x[2]*y[1]*z[3]-y[1]*x[2]*x[2]*z[0]+x[7]*y[2]*x[3]*z[7]+x[7]*
-z[2]*x[6]*y[3]+2.0*x[7]*z[6]*x[4]*y[7]+z[5]*x[1]*x[1]*y[4]+z[1]*x[2]*x[2]*y[0]
--2.0*y[0]*x[3]*x[3]*z[7];
+       -z[5]*x[4]*x[4]*y[1]+y[5]*x[4]*x[4]*z[1]-2.0*x[5]*x[5]*y[4]*z[1]+2.0*x[5]*x[5]*
+       y[1]*z[4]-2.0*x[2]*x[2]*y[1]*z[3]-y[1]*x[2]*x[2]*z[0]+x[7]*y[2]*x[3]*z[7]+x[7]*
+       z[2]*x[6]*y[3]+2.0*x[7]*z[6]*x[4]*y[7]+z[5]*x[1]*x[1]*y[4]+z[1]*x[2]*x[2]*y[0]
+       -2.0*y[0]*x[3]*x[3]*z[7];
   s6 = s8+2.0*z[0]*x[3]*x[3]*y[7]-x[7]*x[2]*y[3]*z[7]-x[7]*z[2]*x[3]*y[7]+x
-[7]*x[2]*y[7]*z[3]-x[7]*y[2]*x[6]*z[3]+x[4]*x[5]*y[1]*z[4]-x[4]*x[5]*y[4]*z[1]+
-x[4]*z[5]*x[1]*y[4]-x[4]*y[5]*x[1]*z[4]-2.0*x[5]*z[5]*x[4]*y[1]-2.0*x[5]*y[5]*x
-[1]*z[4]+2.0*x[5]*z[5]*x[1]*y[4]+2.0*x[5]*y[5]*x[4]*z[1]-x[6]*z[5]*x[7]*y[4]-z
-[2]*x[3]*x[3]*y[6]+s7;
+       [7]*x[2]*y[7]*z[3]-x[7]*y[2]*x[6]*z[3]+x[4]*x[5]*y[1]*z[4]-x[4]*x[5]*y[4]*z[1]+
+       x[4]*z[5]*x[1]*y[4]-x[4]*y[5]*x[1]*z[4]-2.0*x[5]*z[5]*x[4]*y[1]-2.0*x[5]*y[5]*x
+       [1]*z[4]+2.0*x[5]*z[5]*x[1]*y[4]+2.0*x[5]*y[5]*x[4]*z[1]-x[6]*z[5]*x[7]*y[4]-z
+       [2]*x[3]*x[3]*y[6]+s7;
   s8 = -2.0*x[6]*z[6]*x[7]*y[5]-x[6]*y[6]*x[4]*z[7]+y[2]*x[3]*x[3]*z[6]+x
-[6]*y[6]*x[7]*z[4]+2.0*y[2]*x[3]*x[3]*z[7]+x[0]*x[1]*y[0]*z[5]+x[0]*y[1]*x[5]*z
-[0]-x[0]*z[1]*x[5]*y[0]-2.0*z[2]*x[3]*x[3]*y[7]+2.0*x[6]*z[6]*x[5]*y[7]-x[0]*x
-[1]*y[5]*z[0]-x[6]*y[5]*x[4]*z[6]-2.0*x[3]*z[0]*x[7]*y[3]-x[6]*z[6]*x[7]*y[4]
--2.0*x[1]*z[1]*x[5]*y[0];
+       [6]*y[6]*x[7]*z[4]+2.0*y[2]*x[3]*x[3]*z[7]+x[0]*x[1]*y[0]*z[5]+x[0]*y[1]*x[5]*z
+       [0]-x[0]*z[1]*x[5]*y[0]-2.0*z[2]*x[3]*x[3]*y[7]+2.0*x[6]*z[6]*x[5]*y[7]-x[0]*x
+       [1]*y[5]*z[0]-x[6]*y[5]*x[4]*z[6]-2.0*x[3]*z[0]*x[7]*y[3]-x[6]*z[6]*x[7]*y[4]
+       -2.0*x[1]*z[1]*x[5]*y[0];
   s7 = s8+2.0*x[1]*y[1]*x[5]*z[0]+2.0*x[1]*z[1]*x[0]*y[5]+2.0*x[3]*y[0]*x
-[7]*z[3]+2.0*x[3]*x[0]*y[3]*z[7]-2.0*x[3]*x[0]*y[7]*z[3]-2.0*x[1]*y[1]*x[0]*z
-[5]-2.0*x[6]*y[6]*x[5]*z[7]+s6-y[5]*x[1]*x[1]*z[4]+x[6]*z[6]*x[4]*y[7]-2.0*x[2]
-*y[2]*x[3]*z[1]+x[6]*z[5]*x[4]*y[6]+x[6]*x[5]*y[4]*z[6]-y[6]*x[7]*x[7]*z[2]-x
-[6]*x[5]*y[6]*z[4];
+       [7]*z[3]+2.0*x[3]*x[0]*y[3]*z[7]-2.0*x[3]*x[0]*y[7]*z[3]-2.0*x[1]*y[1]*x[0]*z
+       [5]-2.0*x[6]*y[6]*x[5]*z[7]+s6-y[5]*x[1]*x[1]*z[4]+x[6]*z[6]*x[4]*y[7]-2.0*x[2]
+       *y[2]*x[3]*z[1]+x[6]*z[5]*x[4]*y[6]+x[6]*x[5]*y[4]*z[6]-y[6]*x[7]*x[7]*z[2]-x
+       [6]*x[5]*y[6]*z[4];
   s8 = x[3]*x[3]*y[7]*z[4]-2.0*y[6]*x[7]*x[7]*z[3]+z[6]*x[7]*x[7]*y[2]+2.0*
-z[6]*x[7]*x[7]*y[3]+2.0*y[1]*x[0]*x[0]*z[3]+2.0*x[0]*x[1]*y[3]*z[0]-2.0*x[0]*y
-[0]*x[3]*z[4]-2.0*x[0]*z[1]*x[4]*y[0]-2.0*x[0]*y[1]*x[3]*z[0]+2.0*x[0]*y[0]*x
-[4]*z[3]-2.0*x[0]*z[0]*x[4]*y[3]+2.0*x[0]*x[1]*y[0]*z[4]+2.0*x[0]*z[1]*x[3]*y
-[0]-2.0*x[0]*x[1]*y[0]*z[3]-2.0*x[0]*x[1]*y[4]*z[0]+2.0*x[0]*y[1]*x[4]*z[0];
+       z[6]*x[7]*x[7]*y[3]+2.0*y[1]*x[0]*x[0]*z[3]+2.0*x[0]*x[1]*y[3]*z[0]-2.0*x[0]*y
+       [0]*x[3]*z[4]-2.0*x[0]*z[1]*x[4]*y[0]-2.0*x[0]*y[1]*x[3]*z[0]+2.0*x[0]*y[0]*x
+       [4]*z[3]-2.0*x[0]*z[0]*x[4]*y[3]+2.0*x[0]*x[1]*y[0]*z[4]+2.0*x[0]*z[1]*x[3]*y
+       [0]-2.0*x[0]*x[1]*y[0]*z[3]-2.0*x[0]*x[1]*y[4]*z[0]+2.0*x[0]*y[1]*x[4]*z[0];
   s5 = s8+2.0*x[0]*z[0]*x[3]*y[4]+x[1]*y[1]*x[0]*z[3]-x[1]*z[1]*x[4]*y[0]-x
-[1]*y[1]*x[0]*z[4]+x[1]*z[1]*x[0]*y[4]-x[1]*y[1]*x[3]*z[0]-x[1]*z[1]*x[0]*y[3]-
-x[0]*z[5]*x[4]*y[1]+x[0]*y[5]*x[4]*z[1]-2.0*x[4]*x[0]*y[4]*z[7]-2.0*x[4]*y[5]*x
-[0]*z[4]+2.0*x[4]*z[5]*x[0]*y[4]-2.0*x[4]*x[5]*y[4]*z[0]-2.0*x[4]*y[0]*x[7]*z
-[4]-x[5]*y[5]*x[0]*z[4]+s7;
+       [1]*y[1]*x[0]*z[4]+x[1]*z[1]*x[0]*y[4]-x[1]*y[1]*x[3]*z[0]-x[1]*z[1]*x[0]*y[3]-
+       x[0]*z[5]*x[4]*y[1]+x[0]*y[5]*x[4]*z[1]-2.0*x[4]*x[0]*y[4]*z[7]-2.0*x[4]*y[5]*x
+       [0]*z[4]+2.0*x[4]*z[5]*x[0]*y[4]-2.0*x[4]*x[5]*y[4]*z[0]-2.0*x[4]*y[0]*x[7]*z
+       [4]-x[5]*y[5]*x[0]*z[4]+s7;
   s8 = x[5]*z[5]*x[0]*y[4]-x[5]*z[5]*x[4]*y[0]+x[1]*z[5]*x[0]*y[4]+x[5]*y
-[5]*x[4]*z[0]-x[0]*y[0]*x[7]*z[4]-x[0]*z[5]*x[4]*y[0]-x[1]*y[5]*x[0]*z[4]+x[0]*
-z[0]*x[7]*y[4]+x[0]*y[5]*x[4]*z[0]-x[0]*z[0]*x[4]*y[7]+x[0]*x[5]*y[0]*z[4]+x[0]
-*y[0]*x[4]*z[7]-x[0]*x[5]*y[4]*z[0]-x[3]*x[3]*y[4]*z[7]+2.0*x[2]*z[2]*x[3]*y[1]
-;
+       [5]*x[4]*z[0]-x[0]*y[0]*x[7]*z[4]-x[0]*z[5]*x[4]*y[0]-x[1]*y[5]*x[0]*z[4]+x[0]*
+       z[0]*x[7]*y[4]+x[0]*y[5]*x[4]*z[0]-x[0]*z[0]*x[4]*y[7]+x[0]*x[5]*y[0]*z[4]+x[0]
+       *y[0]*x[4]*z[7]-x[0]*x[5]*y[4]*z[0]-x[3]*x[3]*y[4]*z[7]+2.0*x[2]*z[2]*x[3]*y[1]
+       ;
   s7 = s8-x[5]*x[5]*y[4]*z[0]+2.0*y[5]*x[4]*x[4]*z[0]-2.0*z[0]*x[4]*x[4]*y
-[7]+2.0*y[0]*x[4]*x[4]*z[7]-2.0*z[5]*x[4]*x[4]*y[0]+x[5]*x[5]*y[4]*z[7]-x[5]*x
-[5]*y[7]*z[4]-2.0*y[5]*x[4]*x[4]*z[7]+2.0*z[5]*x[4]*x[4]*y[7]-x[0]*x[0]*y[7]*z
-[3]+y[2]*x[0]*x[0]*z[3]+x[0]*x[0]*y[3]*z[7]-x[5]*x[1]*y[4]*z[0]+x[5]*y[1]*x[4]*
-z[0]-x[4]*y[0]*x[3]*z[4];
+       [7]+2.0*y[0]*x[4]*x[4]*z[7]-2.0*z[5]*x[4]*x[4]*y[0]+x[5]*x[5]*y[4]*z[7]-x[5]*x
+       [5]*y[7]*z[4]-2.0*y[5]*x[4]*x[4]*z[7]+2.0*z[5]*x[4]*x[4]*y[7]-x[0]*x[0]*y[7]*z
+       [3]+y[2]*x[0]*x[0]*z[3]+x[0]*x[0]*y[3]*z[7]-x[5]*x[1]*y[4]*z[0]+x[5]*y[1]*x[4]*
+       z[0]-x[4]*y[0]*x[3]*z[4];
   s8 = -x[4]*y[1]*x[0]*z[4]+x[4]*z[1]*x[0]*y[4]+x[4]*x[0]*y[3]*z[4]-x[4]*x
-[0]*y[4]*z[3]+x[4]*x[1]*y[0]*z[4]-x[4]*x[1]*y[4]*z[0]+x[4]*z[0]*x[3]*y[4]+x[5]*
-x[1]*y[0]*z[4]+x[1]*z[1]*x[3]*y[0]+x[1]*y[1]*x[4]*z[0]-x[5]*z[1]*x[4]*y[0]-2.0*
-y[1]*x[0]*x[0]*z[4]+2.0*z[1]*x[0]*x[0]*y[4]+2.0*x[0]*x[0]*y[3]*z[4]-2.0*z[1]*x
-[0]*x[0]*y[3];
+       [0]*y[4]*z[3]+x[4]*x[1]*y[0]*z[4]-x[4]*x[1]*y[4]*z[0]+x[4]*z[0]*x[3]*y[4]+x[5]*
+       x[1]*y[0]*z[4]+x[1]*z[1]*x[3]*y[0]+x[1]*y[1]*x[4]*z[0]-x[5]*z[1]*x[4]*y[0]-2.0*
+       y[1]*x[0]*x[0]*z[4]+2.0*z[1]*x[0]*x[0]*y[4]+2.0*x[0]*x[0]*y[3]*z[4]-2.0*z[1]*x
+       [0]*x[0]*y[3];
   s6 = s8-2.0*x[0]*x[0]*y[4]*z[3]+x[1]*x[1]*y[3]*z[0]+x[1]*x[1]*y[0]*z[4]-x
-[1]*x[1]*y[0]*z[3]-x[1]*x[1]*y[4]*z[0]-z[1]*x[4]*x[4]*y[0]+y[0]*x[4]*x[4]*z[3]-
-z[0]*x[4]*x[4]*y[3]+y[1]*x[4]*x[4]*z[0]-x[0]*x[0]*y[4]*z[7]-y[5]*x[0]*x[0]*z[4]
-+z[5]*x[0]*x[0]*y[4]+x[5]*x[5]*y[0]*z[4]-x[0]*y[0]*x[3]*z[7]+x[0]*z[0]*x[3]*y
-[7]+s7;
+       [1]*x[1]*y[0]*z[3]-x[1]*x[1]*y[4]*z[0]-z[1]*x[4]*x[4]*y[0]+y[0]*x[4]*x[4]*z[3]-
+       z[0]*x[4]*x[4]*y[3]+y[1]*x[4]*x[4]*z[0]-x[0]*x[0]*y[4]*z[7]-y[5]*x[0]*x[0]*z[4]
+       +z[5]*x[0]*x[0]*y[4]+x[5]*x[5]*y[0]*z[4]-x[0]*y[0]*x[3]*z[7]+x[0]*z[0]*x[3]*y
+       [7]+s7;
   s8 = s6+x[0]*x[2]*y[3]*z[0]-x[0]*x[2]*y[0]*z[3]+x[0]*y[0]*x[7]*z[3]-x[0]*
-y[2]*x[3]*z[0]+x[0]*z[2]*x[3]*y[0]-x[0]*z[0]*x[7]*y[3]+x[1]*x[2]*y[3]*z[0]-z[2]
-*x[0]*x[0]*y[3]+x[3]*z[2]*x[6]*y[3]-x[3]*x[2]*y[3]*z[6]+x[3]*x[2]*y[6]*z[3]-x
-[3]*y[2]*x[6]*z[3]-2.0*x[3]*y[2]*x[7]*z[3]+2.0*x[3]*z[2]*x[7]*y[3];
+       y[2]*x[3]*z[0]+x[0]*z[2]*x[3]*y[0]-x[0]*z[0]*x[7]*y[3]+x[1]*x[2]*y[3]*z[0]-z[2]
+       *x[0]*x[0]*y[3]+x[3]*z[2]*x[6]*y[3]-x[3]*x[2]*y[3]*z[6]+x[3]*x[2]*y[6]*z[3]-x
+       [3]*y[2]*x[6]*z[3]-2.0*x[3]*y[2]*x[7]*z[3]+2.0*x[3]*z[2]*x[7]*y[3];
   s7 = s8+2.0*x[4]*y[5]*x[7]*z[4]+2.0*x[4]*x[5]*y[4]*z[7]-2.0*x[4]*z[5]*x
-[7]*y[4]-2.0*x[4]*x[5]*y[7]*z[4]+x[5]*y[5]*x[7]*z[4]-x[5]*z[5]*x[7]*y[4]-x[5]*y
-[5]*x[4]*z[7]+x[5]*z[5]*x[4]*y[7]+2.0*x[3]*x[2]*y[7]*z[3]-2.0*x[2]*z[2]*x[1]*y
-[3]+2.0*x[4]*z[0]*x[7]*y[4]+2.0*x[4]*x[0]*y[7]*z[4]+2.0*x[4]*x[5]*y[0]*z[4]-x
-[7]*x[6]*y[2]*z[7]-2.0*x[3]*x[2]*y[3]*z[7]-x[0]*x[4]*y[7]*z[3];
+       [7]*y[4]-2.0*x[4]*x[5]*y[7]*z[4]+x[5]*y[5]*x[7]*z[4]-x[5]*z[5]*x[7]*y[4]-x[5]*y
+       [5]*x[4]*z[7]+x[5]*z[5]*x[4]*y[7]+2.0*x[3]*x[2]*y[7]*z[3]-2.0*x[2]*z[2]*x[1]*y
+       [3]+2.0*x[4]*z[0]*x[7]*y[4]+2.0*x[4]*x[0]*y[7]*z[4]+2.0*x[4]*x[5]*y[0]*z[4]-x
+       [7]*x[6]*y[2]*z[7]-2.0*x[3]*x[2]*y[3]*z[7]-x[0]*x[4]*y[7]*z[3];
   s8 = x[0]*x[3]*y[7]*z[4]-x[0]*x[3]*y[4]*z[7]+x[0]*x[4]*y[3]*z[7]-2.0*x[7]
-*z[6]*x[3]*y[7]+x[3]*x[7]*y[4]*z[3]-x[3]*x[4]*y[7]*z[3]-x[3]*x[7]*y[3]*z[4]+x
-[3]*x[4]*y[3]*z[7]+2.0*x[2]*y[2]*x[1]*z[3]+y[6]*x[3]*x[3]*z[7]-z[6]*x[3]*x[3]*y
-[7]-x[1]*z[5]*x[4]*y[1]-x[1]*x[5]*y[4]*z[1]-x[1]*z[2]*x[0]*y[3]-x[1]*x[2]*y[0]*
-z[3]+x[1]*y[2]*x[0]*z[3];
+       *z[6]*x[3]*y[7]+x[3]*x[7]*y[4]*z[3]-x[3]*x[4]*y[7]*z[3]-x[3]*x[7]*y[3]*z[4]+x
+       [3]*x[4]*y[3]*z[7]+2.0*x[2]*y[2]*x[1]*z[3]+y[6]*x[3]*x[3]*z[7]-z[6]*x[3]*x[3]*y
+       [7]-x[1]*z[5]*x[4]*y[1]-x[1]*x[5]*y[4]*z[1]-x[1]*z[2]*x[0]*y[3]-x[1]*x[2]*y[0]*
+       z[3]+x[1]*y[2]*x[0]*z[3];
   s4 = s8+x[1]*x[5]*y[1]*z[4]+x[1]*y[5]*x[4]*z[1]+x[4]*y[0]*x[7]*z[3]-x[4]*
-z[0]*x[7]*y[3]-x[4]*x[4]*y[7]*z[3]+x[4]*x[4]*y[3]*z[7]+x[3]*z[6]*x[7]*y[3]-x[3]
-*x[6]*y[3]*z[7]+x[3]*x[6]*y[7]*z[3]-x[3]*z[6]*x[2]*y[7]-x[3]*y[6]*x[7]*z[3]+x
-[3]*z[6]*x[7]*y[2]+x[3]*y[6]*x[2]*z[7]+2.0*x[5]*z[5]*x[4]*y[6]+s5+s7;
+       z[0]*x[7]*y[3]-x[4]*x[4]*y[7]*z[3]+x[4]*x[4]*y[3]*z[7]+x[3]*z[6]*x[7]*y[3]-x[3]
+       *x[6]*y[3]*z[7]+x[3]*x[6]*y[7]*z[3]-x[3]*z[6]*x[2]*y[7]-x[3]*y[6]*x[7]*z[3]+x
+       [3]*z[6]*x[7]*y[2]+x[3]*y[6]*x[2]*z[7]+2.0*x[5]*z[5]*x[4]*y[6]+s5+s7;
   s8 = s4-2.0*x[5]*z[5]*x[6]*y[4]-x[5]*z[6]*x[7]*y[5]+x[5]*x[6]*y[5]*z[7]-x
-[5]*x[6]*y[7]*z[5]-2.0*x[5]*y[5]*x[4]*z[6]+2.0*x[5]*y[5]*x[6]*z[4]-x[3]*y[6]*x
-[7]*z[2]+x[4]*x[7]*y[4]*z[3]+x[4]*x[3]*y[7]*z[4]-x[4]*x[7]*y[3]*z[4]-x[4]*x[3]*
-y[4]*z[7]-z[1]*x[5]*x[5]*y[0]+y[1]*x[5]*x[5]*z[0]+x[4]*y[6]*x[7]*z[4];
+       [5]*x[6]*y[7]*z[5]-2.0*x[5]*y[5]*x[4]*z[6]+2.0*x[5]*y[5]*x[6]*z[4]-x[3]*y[6]*x
+       [7]*z[2]+x[4]*x[7]*y[4]*z[3]+x[4]*x[3]*y[7]*z[4]-x[4]*x[7]*y[3]*z[4]-x[4]*x[3]*
+       y[4]*z[7]-z[1]*x[5]*x[5]*y[0]+y[1]*x[5]*x[5]*z[0]+x[4]*y[6]*x[7]*z[4];
   s7 = s8-x[4]*x[6]*y[7]*z[4]+x[4]*x[6]*y[4]*z[7]-x[4]*z[6]*x[7]*y[4]-x[5]*
-y[6]*x[4]*z[7]-x[5]*x[6]*y[7]*z[4]+x[5]*x[6]*y[4]*z[7]+x[5]*z[6]*x[4]*y[7]-y[6]
-*x[4]*x[4]*z[7]+z[6]*x[4]*x[4]*y[7]+x[7]*x[5]*y[4]*z[7]-y[2]*x[7]*x[7]*z[3]+z
-[2]*x[7]*x[7]*y[3]-y[0]*x[3]*x[3]*z[4]-y[1]*x[3]*x[3]*z[0]+z[1]*x[3]*x[3]*y[0];
+       y[6]*x[4]*z[7]-x[5]*x[6]*y[7]*z[4]+x[5]*x[6]*y[4]*z[7]+x[5]*z[6]*x[4]*y[7]-y[6]
+       *x[4]*x[4]*z[7]+z[6]*x[4]*x[4]*y[7]+x[7]*x[5]*y[4]*z[7]-y[2]*x[7]*x[7]*z[3]+z
+       [2]*x[7]*x[7]*y[3]-y[0]*x[3]*x[3]*z[4]-y[1]*x[3]*x[3]*z[0]+z[1]*x[3]*x[3]*y[0];
   s8 = z[0]*x[3]*x[3]*y[4]-x[2]*y[1]*x[3]*z[0]+x[2]*z[1]*x[3]*y[0]+x[3]*y
-[1]*x[0]*z[3]+x[3]*x[1]*y[3]*z[0]+x[3]*x[0]*y[3]*z[4]-x[3]*z[1]*x[0]*y[3]-x[3]*
-x[0]*y[4]*z[3]+x[3]*y[0]*x[4]*z[3]-x[3]*z[0]*x[4]*y[3]-x[3]*x[1]*y[0]*z[3]+x[3]
-*z[0]*x[7]*y[4]-x[3]*y[0]*x[7]*z[4]+z[0]*x[7]*x[7]*y[4]-y[0]*x[7]*x[7]*z[4];
+       [1]*x[0]*z[3]+x[3]*x[1]*y[3]*z[0]+x[3]*x[0]*y[3]*z[4]-x[3]*z[1]*x[0]*y[3]-x[3]*
+       x[0]*y[4]*z[3]+x[3]*y[0]*x[4]*z[3]-x[3]*z[0]*x[4]*y[3]-x[3]*x[1]*y[0]*z[3]+x[3]
+       *z[0]*x[7]*y[4]-x[3]*y[0]*x[7]*z[4]+z[0]*x[7]*x[7]*y[4]-y[0]*x[7]*x[7]*z[4];
   s6 = s8+y[1]*x[0]*x[0]*z[2]-2.0*y[2]*x[3]*x[3]*z[0]+2.0*z[2]*x[3]*x[3]*y
-[0]-2.0*x[1]*x[1]*y[0]*z[2]+2.0*x[1]*x[1]*y[2]*z[0]-y[2]*x[3]*x[3]*z[1]+z[2]*x
-[3]*x[3]*y[1]-y[5]*x[4]*x[4]*z[6]+z[5]*x[4]*x[4]*y[6]+x[7]*x[0]*y[7]*z[4]-x[7]*
-z[0]*x[4]*y[7]-x[7]*x[0]*y[4]*z[7]+x[7]*y[0]*x[4]*z[7]-x[0]*x[1]*y[0]*z[2]+x[0]
-*z[1]*x[2]*y[0]+s7;
+       [0]-2.0*x[1]*x[1]*y[0]*z[2]+2.0*x[1]*x[1]*y[2]*z[0]-y[2]*x[3]*x[3]*z[1]+z[2]*x
+       [3]*x[3]*y[1]-y[5]*x[4]*x[4]*z[6]+z[5]*x[4]*x[4]*y[6]+x[7]*x[0]*y[7]*z[4]-x[7]*
+       z[0]*x[4]*y[7]-x[7]*x[0]*y[4]*z[7]+x[7]*y[0]*x[4]*z[7]-x[0]*x[1]*y[0]*z[2]+x[0]
+       *z[1]*x[2]*y[0]+s7;
   s8 = s6+x[0]*x[1]*y[2]*z[0]-x[0]*y[1]*x[2]*z[0]-x[3]*z[1]*x[0]*y[2]+2.0*x
-[3]*x[2]*y[3]*z[0]+y[0]*x[7]*x[7]*z[3]-z[0]*x[7]*x[7]*y[3]-2.0*x[3]*z[2]*x[0]*y
-[3]-2.0*x[3]*x[2]*y[0]*z[3]+2.0*x[3]*y[2]*x[0]*z[3]+x[3]*x[2]*y[3]*z[1]-x[3]*x
-[2]*y[1]*z[3]-x[5]*y[1]*x[0]*z[5]+x[3]*y[1]*x[0]*z[2]+x[4]*y[6]*x[7]*z[5];
+       [3]*x[2]*y[3]*z[0]+y[0]*x[7]*x[7]*z[3]-z[0]*x[7]*x[7]*y[3]-2.0*x[3]*z[2]*x[0]*y
+       [3]-2.0*x[3]*x[2]*y[0]*z[3]+2.0*x[3]*y[2]*x[0]*z[3]+x[3]*x[2]*y[3]*z[1]-x[3]*x
+       [2]*y[1]*z[3]-x[5]*y[1]*x[0]*z[5]+x[3]*y[1]*x[0]*z[2]+x[4]*y[6]*x[7]*z[5];
   s7 = s8-x[5]*x[1]*y[5]*z[0]+2.0*x[1]*z[1]*x[2]*y[0]-2.0*x[1]*z[1]*x[0]*y
-[2]+x[1]*x[2]*y[3]*z[1]-x[1]*x[2]*y[1]*z[3]+2.0*x[1]*y[1]*x[0]*z[2]-2.0*x[1]*y
-[1]*x[2]*z[0]-z[2]*x[1]*x[1]*y[3]+y[2]*x[1]*x[1]*z[3]+y[5]*x[7]*x[7]*z[4]+y[6]*
-x[7]*x[7]*z[5]+x[7]*x[6]*y[7]*z[2]+x[7]*y[6]*x[2]*z[7]-x[7]*z[6]*x[2]*y[7]-2.0*
-x[7]*x[6]*y[3]*z[7];
+       [2]+x[1]*x[2]*y[3]*z[1]-x[1]*x[2]*y[1]*z[3]+2.0*x[1]*y[1]*x[0]*z[2]-2.0*x[1]*y
+       [1]*x[2]*z[0]-z[2]*x[1]*x[1]*y[3]+y[2]*x[1]*x[1]*z[3]+y[5]*x[7]*x[7]*z[4]+y[6]*
+       x[7]*x[7]*z[5]+x[7]*x[6]*y[7]*z[2]+x[7]*y[6]*x[2]*z[7]-x[7]*z[6]*x[2]*y[7]-2.0*
+       x[7]*x[6]*y[3]*z[7];
   s8 = s7+2.0*x[7]*x[6]*y[7]*z[3]+2.0*x[7]*y[6]*x[3]*z[7]-x[3]*z[2]*x[1]*y
-[3]+x[3]*y[2]*x[1]*z[3]+x[5]*x[1]*y[0]*z[5]+x[4]*y[5]*x[6]*z[4]+x[5]*z[1]*x[0]*
-y[5]-x[4]*z[6]*x[7]*y[5]-x[4]*x[5]*y[6]*z[4]+x[4]*x[5]*y[4]*z[6]-x[4]*z[5]*x[6]
-*y[4]-x[1]*y[2]*x[3]*z[1]+x[1]*z[2]*x[3]*y[1]-x[2]*x[1]*y[0]*z[2]-x[2]*z[1]*x
-[0]*y[2];
+       [3]+x[3]*y[2]*x[1]*z[3]+x[5]*x[1]*y[0]*z[5]+x[4]*y[5]*x[6]*z[4]+x[5]*z[1]*x[0]*
+       y[5]-x[4]*z[6]*x[7]*y[5]-x[4]*x[5]*y[6]*z[4]+x[4]*x[5]*y[4]*z[6]-x[4]*z[5]*x[6]
+       *y[4]-x[1]*y[2]*x[3]*z[1]+x[1]*z[2]*x[3]*y[1]-x[2]*x[1]*y[0]*z[2]-x[2]*z[1]*x
+       [0]*y[2];
   s5 = s8+x[2]*x[1]*y[2]*z[0]-x[2]*z[2]*x[0]*y[3]+x[2]*y[2]*x[0]*z[3]-x[2]*
-y[2]*x[3]*z[0]+x[2]*z[2]*x[3]*y[0]+x[2]*y[1]*x[0]*z[2]+x[5]*y[6]*x[7]*z[5]+x[6]
-*y[5]*x[7]*z[4]+2.0*x[6]*y[6]*x[7]*z[5]-x[7]*y[0]*x[3]*z[7]+x[7]*z[0]*x[3]*y[7]
--x[7]*x[0]*y[7]*z[3]+x[7]*x[0]*y[3]*z[7]+2.0*x[7]*x[7]*y[4]*z[3]-2.0*x[7]*x[7]*
-y[3]*z[4]-2.0*x[1]*x[1]*y[2]*z[5];
+       y[2]*x[3]*z[0]+x[2]*z[2]*x[3]*y[0]+x[2]*y[1]*x[0]*z[2]+x[5]*y[6]*x[7]*z[5]+x[6]
+       *y[5]*x[7]*z[4]+2.0*x[6]*y[6]*x[7]*z[5]-x[7]*y[0]*x[3]*z[7]+x[7]*z[0]*x[3]*y[7]
+       -x[7]*x[0]*y[7]*z[3]+x[7]*x[0]*y[3]*z[7]+2.0*x[7]*x[7]*y[4]*z[3]-2.0*x[7]*x[7]*
+       y[3]*z[4]-2.0*x[1]*x[1]*y[2]*z[5];
   s8 = s5-2.0*x[7]*x[4]*y[7]*z[3]+2.0*x[7]*x[3]*y[7]*z[4]-2.0*x[7]*x[3]*y
-[4]*z[7]+2.0*x[7]*x[4]*y[3]*z[7]+2.0*x[1]*x[1]*y[5]*z[2]-x[1]*x[1]*y[2]*z[6]+x
-[1]*x[1]*y[6]*z[2]+z[1]*x[5]*x[5]*y[2]-y[1]*x[5]*x[5]*z[2]-x[1]*x[1]*y[6]*z[5]+
-x[1]*x[1]*y[5]*z[6]+x[5]*x[5]*y[6]*z[2]-x[5]*x[5]*y[2]*z[6]-2.0*y[1]*x[5]*x[5]*
-z[6];
+       [4]*z[7]+2.0*x[7]*x[4]*y[3]*z[7]+2.0*x[1]*x[1]*y[5]*z[2]-x[1]*x[1]*y[2]*z[6]+x
+       [1]*x[1]*y[6]*z[2]+z[1]*x[5]*x[5]*y[2]-y[1]*x[5]*x[5]*z[2]-x[1]*x[1]*y[6]*z[5]+
+       x[1]*x[1]*y[5]*z[6]+x[5]*x[5]*y[6]*z[2]-x[5]*x[5]*y[2]*z[6]-2.0*y[1]*x[5]*x[5]*
+       z[6];
   s7 = s8+2.0*z[1]*x[5]*x[5]*y[6]+2.0*x[1]*z[1]*x[5]*y[2]+2.0*x[1]*y[1]*x
-[2]*z[5]-2.0*x[1]*z[1]*x[2]*y[5]-2.0*x[1]*y[1]*x[5]*z[2]-x[1]*y[1]*x[6]*z[2]-x
-[1]*z[1]*x[2]*y[6]+x[1]*z[1]*x[6]*y[2]+x[1]*y[1]*x[2]*z[6]-x[5]*x[1]*y[2]*z[5]+
-x[5]*y[1]*x[2]*z[5]-x[5]*z[1]*x[2]*y[5]+x[5]*x[1]*y[5]*z[2]-x[5]*y[1]*x[6]*z[2]
--x[5]*x[1]*y[2]*z[6];
+       [2]*z[5]-2.0*x[1]*z[1]*x[2]*y[5]-2.0*x[1]*y[1]*x[5]*z[2]-x[1]*y[1]*x[6]*z[2]-x
+       [1]*z[1]*x[2]*y[6]+x[1]*z[1]*x[6]*y[2]+x[1]*y[1]*x[2]*z[6]-x[5]*x[1]*y[2]*z[5]+
+       x[5]*y[1]*x[2]*z[5]-x[5]*z[1]*x[2]*y[5]+x[5]*x[1]*y[5]*z[2]-x[5]*y[1]*x[6]*z[2]
+       -x[5]*x[1]*y[2]*z[6];
   s8 = s7+x[5]*x[1]*y[6]*z[2]+x[5]*z[1]*x[6]*y[2]+x[1]*x[2]*y[5]*z[6]-x[1]*
-x[2]*y[6]*z[5]-x[1]*z[1]*x[6]*y[5]-x[1]*y[1]*x[5]*z[6]+x[1]*z[1]*x[5]*y[6]+x[1]
-*y[1]*x[6]*z[5]-x[5]*x[6]*y[5]*z[2]+x[5]*x[2]*y[5]*z[6]-x[5]*x[2]*y[6]*z[5]+x
-[5]*x[6]*y[2]*z[5]-2.0*x[5]*z[1]*x[6]*y[5]-2.0*x[5]*x[1]*y[6]*z[5]+2.0*x[5]*x
-[1]*y[5]*z[6];
+       x[2]*y[6]*z[5]-x[1]*z[1]*x[6]*y[5]-x[1]*y[1]*x[5]*z[6]+x[1]*z[1]*x[5]*y[6]+x[1]
+       *y[1]*x[6]*z[5]-x[5]*x[6]*y[5]*z[2]+x[5]*x[2]*y[5]*z[6]-x[5]*x[2]*y[6]*z[5]+x
+       [5]*x[6]*y[2]*z[5]-2.0*x[5]*z[1]*x[6]*y[5]-2.0*x[5]*x[1]*y[6]*z[5]+2.0*x[5]*x
+       [1]*y[5]*z[6];
   s6 = s8+2.0*x[5]*y[1]*x[6]*z[5]+2.0*x[2]*x[1]*y[6]*z[2]+2.0*x[2]*z[1]*x
-[6]*y[2]-2.0*x[2]*x[1]*y[2]*z[6]+x[2]*x[5]*y[6]*z[2]+x[2]*x[6]*y[2]*z[5]-x[2]*x
-[5]*y[2]*z[6]+y[1]*x[2]*x[2]*z[5]-z[1]*x[2]*x[2]*y[5]-2.0*x[2]*y[1]*x[6]*z[2]-x
-[2]*x[6]*y[5]*z[2]-2.0*z[1]*x[2]*x[2]*y[6]+x[2]*x[2]*y[5]*z[6]-x[2]*x[2]*y[6]*z
-[5]+2.0*y[1]*x[2]*x[2]*z[6]+x[2]*z[1]*x[5]*y[2];
+       [6]*y[2]-2.0*x[2]*x[1]*y[2]*z[6]+x[2]*x[5]*y[6]*z[2]+x[2]*x[6]*y[2]*z[5]-x[2]*x
+       [5]*y[2]*z[6]+y[1]*x[2]*x[2]*z[5]-z[1]*x[2]*x[2]*y[5]-2.0*x[2]*y[1]*x[6]*z[2]-x
+       [2]*x[6]*y[5]*z[2]-2.0*z[1]*x[2]*x[2]*y[6]+x[2]*x[2]*y[5]*z[6]-x[2]*x[2]*y[6]*z
+       [5]+2.0*y[1]*x[2]*x[2]*z[6]+x[2]*z[1]*x[5]*y[2];
   s8 = s6-x[2]*x[1]*y[2]*z[5]+x[2]*x[1]*y[5]*z[2]-x[2]*y[1]*x[5]*z[2]+x[6]*
-y[1]*x[2]*z[5]-x[6]*z[1]*x[2]*y[5]-z[1]*x[6]*x[6]*y[5]+y[1]*x[6]*x[6]*z[5]-y[1]
-*x[6]*x[6]*z[2]-2.0*x[6]*x[6]*y[5]*z[2]+2.0*x[6]*x[6]*y[2]*z[5]+z[1]*x[6]*x[6]*
-y[2]-x[6]*x[1]*y[6]*z[5]-x[6]*y[1]*x[5]*z[6]+x[6]*x[1]*y[5]*z[6];
+       y[1]*x[2]*z[5]-x[6]*z[1]*x[2]*y[5]-z[1]*x[6]*x[6]*y[5]+y[1]*x[6]*x[6]*z[5]-y[1]
+       *x[6]*x[6]*z[2]-2.0*x[6]*x[6]*y[5]*z[2]+2.0*x[6]*x[6]*y[2]*z[5]+z[1]*x[6]*x[6]*
+       y[2]-x[6]*x[1]*y[6]*z[5]-x[6]*y[1]*x[5]*z[6]+x[6]*x[1]*y[5]*z[6];
   s7 = s8+x[6]*z[1]*x[5]*y[6]-x[6]*z[1]*x[2]*y[6]-x[6]*x[1]*y[2]*z[6]+2.0*x
-[6]*x[5]*y[6]*z[2]+2.0*x[6]*x[2]*y[5]*z[6]-2.0*x[6]*x[2]*y[6]*z[5]-2.0*x[6]*x
-[5]*y[2]*z[6]+x[6]*x[1]*y[6]*z[2]+x[6]*y[1]*x[2]*z[6]-x[2]*x[2]*y[3]*z[7]+x[2]*
-x[2]*y[7]*z[3]-x[2]*z[2]*x[3]*y[7]-x[2]*y[2]*x[7]*z[3]+x[2]*z[2]*x[7]*y[3]+x[2]
-*y[2]*x[3]*z[7]-x[6]*x[6]*y[3]*z[7];
+       [6]*x[5]*y[6]*z[2]+2.0*x[6]*x[2]*y[5]*z[6]-2.0*x[6]*x[2]*y[6]*z[5]-2.0*x[6]*x
+       [5]*y[2]*z[6]+x[6]*x[1]*y[6]*z[2]+x[6]*y[1]*x[2]*z[6]-x[2]*x[2]*y[3]*z[7]+x[2]*
+       x[2]*y[7]*z[3]-x[2]*z[2]*x[3]*y[7]-x[2]*y[2]*x[7]*z[3]+x[2]*z[2]*x[7]*y[3]+x[2]
+       *y[2]*x[3]*z[7]-x[6]*x[6]*y[3]*z[7];
   s8 = s7+x[6]*x[6]*y[7]*z[3]-x[6]*x[2]*y[3]*z[7]+x[6]*x[2]*y[7]*z[3]-x[6]*
-y[6]*x[7]*z[3]+x[6]*y[6]*x[3]*z[7]-x[6]*z[6]*x[3]*y[7]+x[6]*z[6]*x[7]*y[3]+y[6]
-*x[2]*x[2]*z[7]-z[6]*x[2]*x[2]*y[7]+2.0*x[2]*x[2]*y[6]*z[3]-x[2]*y[6]*x[7]*z[2]
--2.0*x[2]*y[2]*x[6]*z[3]-2.0*x[2]*x[2]*y[3]*z[6]+2.0*x[2]*y[2]*x[3]*z[6]-x[2]*x
-[6]*y[2]*z[7];
+       y[6]*x[7]*z[3]+x[6]*y[6]*x[3]*z[7]-x[6]*z[6]*x[3]*y[7]+x[6]*z[6]*x[7]*y[3]+y[6]
+       *x[2]*x[2]*z[7]-z[6]*x[2]*x[2]*y[7]+2.0*x[2]*x[2]*y[6]*z[3]-x[2]*y[6]*x[7]*z[2]
+       -2.0*x[2]*y[2]*x[6]*z[3]-2.0*x[2]*x[2]*y[3]*z[6]+2.0*x[2]*y[2]*x[3]*z[6]-x[2]*x
+       [6]*y[2]*z[7];
   s3 = s8+x[2]*x[6]*y[7]*z[2]+x[2]*z[6]*x[7]*y[2]+2.0*x[2]*z[2]*x[6]*y[3]
--2.0*x[2]*z[2]*x[3]*y[6]-y[2]*x[6]*x[6]*z[3]-2.0*x[6]*x[6]*y[2]*z[7]+2.0*x[6]*x
-[6]*y[7]*z[2]+z[2]*x[6]*x[6]*y[3]-2.0*x[6]*y[6]*x[7]*z[2]+x[6]*y[2]*x[3]*z[6]-x
-[6]*x[2]*y[3]*z[6]+2.0*x[6]*z[6]*x[7]*y[2]+2.0*x[6]*y[6]*x[2]*z[7]-2.0*x[6]*z
-[6]*x[2]*y[7]+x[6]*x[2]*y[6]*z[3]-x[6]*z[2]*x[3]*y[6];
+       -2.0*x[2]*z[2]*x[3]*y[6]-y[2]*x[6]*x[6]*z[3]-2.0*x[6]*x[6]*y[2]*z[7]+2.0*x[6]*x
+       [6]*y[7]*z[2]+z[2]*x[6]*x[6]*y[3]-2.0*x[6]*y[6]*x[7]*z[2]+x[6]*y[2]*x[3]*z[6]-x
+       [6]*x[2]*y[3]*z[6]+2.0*x[6]*z[6]*x[7]*y[2]+2.0*x[6]*y[6]*x[2]*z[7]-2.0*x[6]*z
+       [6]*x[2]*y[7]+x[6]*x[2]*y[6]*z[3]-x[6]*z[2]*x[3]*y[6];
   s8 = y[1]*x[0]*z[3]+x[1]*y[3]*z[0]-y[0]*x[3]*z[7]-x[1]*y[5]*z[0]-y[0]*x
-[3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]*
-z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5]
-+x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7];
+       [3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]*
+       z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5]
+       +x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7];
   s7 = s8-z[1]*x[2]*y[5]-y[1]*x[3]*z[0]-x[0]*y[7]*z[3]-z[1]*x[0]*y[3]+y[5]*
-x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3]
-*y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z
-[0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3];
+       x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3]
+       *y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z
+       [0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3];
   s8 = x[5]*y[0]*z[4]+z[1]*x[0]*y[5]-x[2]*y[0]*z[3]-z[1]*x[5]*y[0]+y[1]*x
-[5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]*
-z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3]
--y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3];
+       [5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]*
+       z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3]
+       -y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3];
   s6 = s8+y[2]*x[3]*z[7]-y[2]*x[3]*z[0]-x[6]*y[5]*z[2]-y[5]*x[0]*z[4]+z[2]*
-x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0]
-*z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z
-[6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7;
+       x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0]
+       *z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z
+       [6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7;
   s8 = x[5]*y[4]*z[7]+s6+y[5]*x[6]*z[4]-y[5]*x[4]*z[6]+z[6]*x[5]*y[7]-x[6]*
-y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7]
-*z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z
-[5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5];
+       y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7]
+       *z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z
+       [5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5];
   s7 = s8-x[5]*y[2]*z[6]-z[6]*x[7]*y[5]-z[5]*x[7]*y[4]+z[5]*x[0]*y[4]-y[5]*
-x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7]
-*z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z
-[4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7];
+       x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7]
+       *z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z
+       [4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7];
   s8 = -x[3]*y[4]*z[7]+x[4]*y[3]*z[7]-z[6]*x[7]*y[4]-z[1]*x[6]*y[5]+x[6]*y
-[7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]*
-z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7]
-+x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1];
+       [7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]*
+       z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7]
+       +x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1];
   s5 = s8+x[5]*y[4]*z[6]+z[5]*x[1]*y[4]+y[1]*x[6]*z[5]-z[6]*x[3]*y[7]+z[6]*
-x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6]
-*z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y
-[6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7;
+       x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6]
+       *z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y
+       [6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7;
   s4 = 1/s5;
   s2 = s3*s4;
   const double unknown0 = s1*s2;
   s1 = 1.0/6.0;
   s8 = 2.0*x[1]*y[0]*y[0]*z[4]+x[5]*y[0]*y[0]*z[4]-x[1]*y[4]*y[4]*z[0]+z[1]
-*x[0]*y[4]*y[4]+x[1]*y[0]*y[0]*z[5]-z[1]*x[5]*y[0]*y[0]-2.0*z[1]*x[4]*y[0]*y[0]
-+2.0*z[1]*x[3]*y[0]*y[0]+z[2]*x[3]*y[0]*y[0]+y[0]*y[0]*x[7]*z[3]+2.0*y[0]*y[0]*
-x[4]*z[3]-2.0*x[1]*y[0]*y[0]*z[3]-2.0*x[5]*y[4]*y[4]*z[0]+2.0*z[5]*x[0]*y[4]*y
-[4]+2.0*y[4]*y[5]*x[7]*z[4];
+       *x[0]*y[4]*y[4]+x[1]*y[0]*y[0]*z[5]-z[1]*x[5]*y[0]*y[0]-2.0*z[1]*x[4]*y[0]*y[0]
+       +2.0*z[1]*x[3]*y[0]*y[0]+z[2]*x[3]*y[0]*y[0]+y[0]*y[0]*x[7]*z[3]+2.0*y[0]*y[0]*
+       x[4]*z[3]-2.0*x[1]*y[0]*y[0]*z[3]-2.0*x[5]*y[4]*y[4]*z[0]+2.0*z[5]*x[0]*y[4]*y
+       [4]+2.0*y[4]*y[5]*x[7]*z[4];
   s7 = s8-x[3]*y[4]*y[4]*z[7]+x[7]*y[4]*y[4]*z[3]+z[0]*x[3]*y[4]*y[4]-2.0*x
-[0]*y[4]*y[4]*z[7]-y[1]*x[1]*y[4]*z[0]-x[0]*y[4]*y[4]*z[3]+2.0*z[0]*x[7]*y[4]*y
-[4]+y[4]*z[6]*x[4]*y[7]-y[0]*y[0]*x[7]*z[4]+y[0]*y[0]*x[4]*z[7]+2.0*y[4]*z[5]*x
-[4]*y[7]-2.0*y[4]*x[5]*y[7]*z[4]-y[4]*x[6]*y[7]*z[4]-y[4]*y[6]*x[4]*z[7]-2.0*y
-[4]*y[5]*x[4]*z[7];
+       [0]*y[4]*y[4]*z[7]-y[1]*x[1]*y[4]*z[0]-x[0]*y[4]*y[4]*z[3]+2.0*z[0]*x[7]*y[4]*y
+       [4]+y[4]*z[6]*x[4]*y[7]-y[0]*y[0]*x[7]*z[4]+y[0]*y[0]*x[4]*z[7]+2.0*y[4]*z[5]*x
+       [4]*y[7]-2.0*y[4]*x[5]*y[7]*z[4]-y[4]*x[6]*y[7]*z[4]-y[4]*y[6]*x[4]*z[7]-2.0*y
+       [4]*y[5]*x[4]*z[7];
   s8 = y[4]*y[6]*x[7]*z[4]-y[7]*y[2]*x[7]*z[3]+y[7]*z[2]*x[7]*y[3]+y[7]*y
-[2]*x[3]*z[7]+2.0*x[5]*y[4]*y[4]*z[7]-y[7]*x[2]*y[3]*z[7]-y[0]*z[0]*x[4]*y[7]+z
-[6]*x[7]*y[3]*y[3]-y[0]*x[0]*y[4]*z[7]+y[0]*x[0]*y[7]*z[4]-2.0*x[2]*y[3]*y[3]*z
-[7]-z[5]*x[4]*y[0]*y[0]+y[0]*z[0]*x[7]*y[4]-2.0*z[6]*x[3]*y[7]*y[7]+z[1]*x[2]*y
-[0]*y[0];
+       [2]*x[3]*z[7]+2.0*x[5]*y[4]*y[4]*z[7]-y[7]*x[2]*y[3]*z[7]-y[0]*z[0]*x[4]*y[7]+z
+       [6]*x[7]*y[3]*y[3]-y[0]*x[0]*y[4]*z[7]+y[0]*x[0]*y[7]*z[4]-2.0*x[2]*y[3]*y[3]*z
+       [7]-z[5]*x[4]*y[0]*y[0]+y[0]*z[0]*x[7]*y[4]-2.0*z[6]*x[3]*y[7]*y[7]+z[1]*x[2]*y
+       [0]*y[0];
   s6 = s8+y[4]*y[0]*x[4]*z[3]-2.0*y[4]*z[0]*x[4]*y[7]+2.0*y[4]*x[0]*y[7]*z
-[4]-y[4]*z[0]*x[4]*y[3]-y[4]*x[0]*y[7]*z[3]+y[4]*z[0]*x[3]*y[7]-y[4]*y[0]*x[3]*
-z[4]+y[0]*x[4]*y[3]*z[7]-y[0]*x[7]*y[3]*z[4]-y[0]*x[3]*y[4]*z[7]+y[0]*x[7]*y[4]
-*z[3]+x[2]*y[7]*y[7]*z[3]-z[2]*x[3]*y[7]*y[7]-2.0*z[2]*x[0]*y[3]*y[3]+2.0*y[0]*
-z[1]*x[0]*y[4]+s7;
+       [4]-y[4]*z[0]*x[4]*y[3]-y[4]*x[0]*y[7]*z[3]+y[4]*z[0]*x[3]*y[7]-y[4]*y[0]*x[3]*
+       z[4]+y[0]*x[4]*y[3]*z[7]-y[0]*x[7]*y[3]*z[4]-y[0]*x[3]*y[4]*z[7]+y[0]*x[7]*y[4]
+       *z[3]+x[2]*y[7]*y[7]*z[3]-z[2]*x[3]*y[7]*y[7]-2.0*z[2]*x[0]*y[3]*y[3]+2.0*y[0]*
+       z[1]*x[0]*y[4]+s7;
   s8 = -2.0*y[0]*y[1]*x[0]*z[4]-y[0]*y[1]*x[0]*z[5]-y[0]*y[0]*x[3]*z[7]-z
-[1]*x[0]*y[3]*y[3]-y[0]*x[1]*y[5]*z[0]-2.0*z[0]*x[7]*y[3]*y[3]+x[0]*y[3]*y[3]*z
-[4]+2.0*x[0]*y[3]*y[3]*z[7]-z[0]*x[4]*y[3]*y[3]+2.0*x[2]*y[3]*y[3]*z[0]+x[1]*y
-[3]*y[3]*z[0]+2.0*y[7]*z[6]*x[7]*y[3]+2.0*y[7]*y[6]*x[3]*z[7]-2.0*y[7]*y[6]*x
-[7]*z[3]-2.0*y[7]*x[6]*y[3]*z[7];
+       [1]*x[0]*y[3]*y[3]-y[0]*x[1]*y[5]*z[0]-2.0*z[0]*x[7]*y[3]*y[3]+x[0]*y[3]*y[3]*z
+       [4]+2.0*x[0]*y[3]*y[3]*z[7]-z[0]*x[4]*y[3]*y[3]+2.0*x[2]*y[3]*y[3]*z[0]+x[1]*y
+       [3]*y[3]*z[0]+2.0*y[7]*z[6]*x[7]*y[3]+2.0*y[7]*y[6]*x[3]*z[7]-2.0*y[7]*y[6]*x
+       [7]*z[3]-2.0*y[7]*x[6]*y[3]*z[7];
   s7 = s8+y[4]*x[4]*y[3]*z[7]-y[4]*x[4]*y[7]*z[3]+y[4]*x[3]*y[7]*z[4]-y[4]*
-x[7]*y[3]*z[4]+2.0*y[4]*y[0]*x[4]*z[7]-2.0*y[4]*y[0]*x[7]*z[4]+2.0*x[6]*y[7]*y
-[7]*z[3]+y[4]*x[0]*y[3]*z[4]+y[0]*y[1]*x[5]*z[0]+y[0]*z[1]*x[0]*y[5]-x[2]*y[0]*
-y[0]*z[3]+x[4]*y[3]*y[3]*z[7]-x[7]*y[3]*y[3]*z[4]-x[5]*y[4]*y[4]*z[1]+y[3]*z[0]
-*x[3]*y[4];
+       x[7]*y[3]*z[4]+2.0*y[4]*y[0]*x[4]*z[7]-2.0*y[4]*y[0]*x[7]*z[4]+2.0*x[6]*y[7]*y
+       [7]*z[3]+y[4]*x[0]*y[3]*z[4]+y[0]*y[1]*x[5]*z[0]+y[0]*z[1]*x[0]*y[5]-x[2]*y[0]*
+       y[0]*z[3]+x[4]*y[3]*y[3]*z[7]-x[7]*y[3]*y[3]*z[4]-x[5]*y[4]*y[4]*z[1]+y[3]*z[0]
+       *x[3]*y[4];
   s8 = y[3]*y[0]*x[4]*z[3]+2.0*y[3]*y[0]*x[7]*z[3]+2.0*y[3]*y[2]*x[0]*z[3]
--2.0*y[3]*y[2]*x[3]*z[0]+2.0*y[3]*z[2]*x[3]*y[0]+y[3]*z[1]*x[3]*y[0]-2.0*y[3]*x
-[2]*y[0]*z[3]-y[3]*x[1]*y[0]*z[3]-y[3]*y[1]*x[3]*z[0]-2.0*y[3]*x[0]*y[7]*z[3]-y
-[3]*x[0]*y[4]*z[3]-2.0*y[3]*y[0]*x[3]*z[7]-y[3]*y[0]*x[3]*z[4]+2.0*y[3]*z[0]*x
-[3]*y[7]+y[3]*y[1]*x[0]*z[3]+z[5]*x[1]*y[4]*y[4];
+       -2.0*y[3]*y[2]*x[3]*z[0]+2.0*y[3]*z[2]*x[3]*y[0]+y[3]*z[1]*x[3]*y[0]-2.0*y[3]*x
+       [2]*y[0]*z[3]-y[3]*x[1]*y[0]*z[3]-y[3]*y[1]*x[3]*z[0]-2.0*y[3]*x[0]*y[7]*z[3]-y
+       [3]*x[0]*y[4]*z[3]-2.0*y[3]*y[0]*x[3]*z[7]-y[3]*y[0]*x[3]*z[4]+2.0*y[3]*z[0]*x
+       [3]*y[7]+y[3]*y[1]*x[0]*z[3]+z[5]*x[1]*y[4]*y[4];
   s5 = s8-2.0*y[0]*y[0]*x[3]*z[4]-2.0*y[0]*x[1]*y[4]*z[0]+y[3]*x[7]*y[4]*z
-[3]-y[3]*x[4]*y[7]*z[3]+y[3]*x[3]*y[7]*z[4]-y[3]*x[3]*y[4]*z[7]+y[3]*x[0]*y[7]*
-z[4]-y[3]*z[0]*x[4]*y[7]-2.0*y[4]*y[5]*x[0]*z[4]+s6+y[7]*x[0]*y[3]*z[7]-y[7]*z
-[0]*x[7]*y[3]+y[7]*y[0]*x[7]*z[3]-y[7]*y[0]*x[3]*z[7]+2.0*y[0]*y[1]*x[4]*z[0]+
-s7;
+       [3]-y[3]*x[4]*y[7]*z[3]+y[3]*x[3]*y[7]*z[4]-y[3]*x[3]*y[4]*z[7]+y[3]*x[0]*y[7]*
+       z[4]-y[3]*z[0]*x[4]*y[7]-2.0*y[4]*y[5]*x[0]*z[4]+s6+y[7]*x[0]*y[3]*z[7]-y[7]*z
+       [0]*x[7]*y[3]+y[7]*y[0]*x[7]*z[3]-y[7]*y[0]*x[3]*z[7]+2.0*y[0]*y[1]*x[4]*z[0]+
+       s7;
   s8 = -2.0*y[7]*x[7]*y[3]*z[4]-2.0*y[7]*x[3]*y[4]*z[7]+2.0*y[7]*x[4]*y[3]*
-z[7]+y[7]*y[0]*x[4]*z[7]-y[7]*y[0]*x[7]*z[4]+2.0*y[7]*x[7]*y[4]*z[3]-y[7]*x[0]*
-y[4]*z[7]+y[7]*z[0]*x[7]*y[4]+z[5]*x[4]*y[7]*y[7]+2.0*z[6]*x[4]*y[7]*y[7]-x[5]*
-y[7]*y[7]*z[4]-2.0*x[6]*y[7]*y[7]*z[4]+2.0*y[7]*x[6]*y[4]*z[7]-2.0*y[7]*z[6]*x
-[7]*y[4]+2.0*y[7]*y[6]*x[7]*z[4];
+       z[7]+y[7]*y[0]*x[4]*z[7]-y[7]*y[0]*x[7]*z[4]+2.0*y[7]*x[7]*y[4]*z[3]-y[7]*x[0]*
+       y[4]*z[7]+y[7]*z[0]*x[7]*y[4]+z[5]*x[4]*y[7]*y[7]+2.0*z[6]*x[4]*y[7]*y[7]-x[5]*
+       y[7]*y[7]*z[4]-2.0*x[6]*y[7]*y[7]*z[4]+2.0*y[7]*x[6]*y[4]*z[7]-2.0*y[7]*z[6]*x
+       [7]*y[4]+2.0*y[7]*y[6]*x[7]*z[4];
   s7 = s8-2.0*y[7]*y[6]*x[4]*z[7]-y[7]*z[5]*x[7]*y[4]-y[7]*y[5]*x[4]*z[7]-x
-[0]*y[7]*y[7]*z[3]+z[0]*x[3]*y[7]*y[7]+y[7]*x[5]*y[4]*z[7]+y[7]*y[5]*x[7]*z[4]-
-y[4]*x[1]*y[5]*z[0]-x[1]*y[0]*y[0]*z[2]-y[4]*y[5]*x[1]*z[4]-2.0*y[4]*z[5]*x[4]*
-y[0]-y[4]*y[1]*x[0]*z[4]+y[4]*y[5]*x[4]*z[1]+y[0]*z[0]*x[3]*y[7]-y[0]*z[1]*x[0]
-*y[2];
+       [0]*y[7]*y[7]*z[3]+z[0]*x[3]*y[7]*y[7]+y[7]*x[5]*y[4]*z[7]+y[7]*y[5]*x[7]*z[4]-
+       y[4]*x[1]*y[5]*z[0]-x[1]*y[0]*y[0]*z[2]-y[4]*y[5]*x[1]*z[4]-2.0*y[4]*z[5]*x[4]*
+       y[0]-y[4]*y[1]*x[0]*z[4]+y[4]*y[5]*x[4]*z[1]+y[0]*z[0]*x[3]*y[7]-y[0]*z[1]*x[0]
+       *y[2];
   s8 = 2.0*y[0]*x[1]*y[3]*z[0]+y[4]*y[1]*x[4]*z[0]+2.0*y[0]*y[1]*x[0]*z[3]+
-y[4]*x[1]*y[0]*z[5]-y[4]*z[1]*x[5]*y[0]+y[4]*z[1]*x[0]*y[5]-y[4]*z[1]*x[4]*y[0]
-+y[4]*x[1]*y[0]*z[4]-y[4]*z[5]*x[4]*y[1]+x[5]*y[4]*y[4]*z[6]-z[5]*x[6]*y[4]*y
-[4]+y[4]*x[5]*y[1]*z[4]-y[0]*z[2]*x[0]*y[3]+y[0]*y[5]*x[4]*z[0]+y[0]*x[1]*y[2]*
-z[0];
+       y[4]*x[1]*y[0]*z[5]-y[4]*z[1]*x[5]*y[0]+y[4]*z[1]*x[0]*y[5]-y[4]*z[1]*x[4]*y[0]
+       +y[4]*x[1]*y[0]*z[4]-y[4]*z[5]*x[4]*y[1]+x[5]*y[4]*y[4]*z[6]-z[5]*x[6]*y[4]*y
+       [4]+y[4]*x[5]*y[1]*z[4]-y[0]*z[2]*x[0]*y[3]+y[0]*y[5]*x[4]*z[0]+y[0]*x[1]*y[2]*
+       z[0];
   s6 = s8-2.0*y[0]*z[0]*x[4]*y[3]-2.0*y[0]*x[0]*y[4]*z[3]-2.0*y[0]*z[1]*x
-[0]*y[3]-y[0]*x[0]*y[7]*z[3]-2.0*y[0]*y[1]*x[3]*z[0]+y[0]*x[2]*y[3]*z[0]-y[0]*y
-[1]*x[2]*z[0]+y[0]*y[1]*x[0]*z[2]-y[0]*x[2]*y[1]*z[3]+y[0]*x[0]*y[3]*z[7]+y[0]*
-x[2]*y[3]*z[1]-y[0]*y[2]*x[3]*z[0]+y[0]*y[2]*x[0]*z[3]-y[0]*y[5]*x[0]*z[4]-y[4]
-*y[5]*x[4]*z[6]+s7;
+       [0]*y[3]-y[0]*x[0]*y[7]*z[3]-2.0*y[0]*y[1]*x[3]*z[0]+y[0]*x[2]*y[3]*z[0]-y[0]*y
+       [1]*x[2]*z[0]+y[0]*y[1]*x[0]*z[2]-y[0]*x[2]*y[1]*z[3]+y[0]*x[0]*y[3]*z[7]+y[0]*
+       x[2]*y[3]*z[1]-y[0]*y[2]*x[3]*z[0]+y[0]*y[2]*x[0]*z[3]-y[0]*y[5]*x[0]*z[4]-y[4]
+       *y[5]*x[4]*z[6]+s7;
   s8 = s6+y[4]*z[6]*x[5]*y[7]-y[4]*x[6]*y[7]*z[5]+y[4]*x[6]*y[5]*z[7]-y[4]*
-z[6]*x[7]*y[5]-y[4]*x[5]*y[6]*z[4]+y[4]*z[5]*x[4]*y[6]+y[4]*y[5]*x[6]*z[4]-2.0*
-y[1]*y[1]*x[0]*z[5]+2.0*y[1]*y[1]*x[5]*z[0]-2.0*y[2]*y[2]*x[6]*z[3]+x[5]*y[1]*y
-[1]*z[4]-z[5]*x[4]*y[1]*y[1]-x[6]*y[2]*y[2]*z[7]+z[6]*x[7]*y[2]*y[2];
+       z[6]*x[7]*y[5]-y[4]*x[5]*y[6]*z[4]+y[4]*z[5]*x[4]*y[6]+y[4]*y[5]*x[6]*z[4]-2.0*
+       y[1]*y[1]*x[0]*z[5]+2.0*y[1]*y[1]*x[5]*z[0]-2.0*y[2]*y[2]*x[6]*z[3]+x[5]*y[1]*y
+       [1]*z[4]-z[5]*x[4]*y[1]*y[1]-x[6]*y[2]*y[2]*z[7]+z[6]*x[7]*y[2]*y[2];
   s7 = s8-x[1]*y[5]*y[5]*z[0]+z[1]*x[0]*y[5]*y[5]+y[1]*y[5]*x[4]*z[1]-y[1]*
-y[5]*x[1]*z[4]-2.0*y[2]*z[2]*x[3]*y[6]+2.0*y[1]*z[1]*x[0]*y[5]-2.0*y[1]*z[1]*x
-[5]*y[0]+2.0*y[1]*x[1]*y[0]*z[5]-y[2]*x[2]*y[3]*z[7]-y[2]*z[2]*x[3]*y[7]+y[2]*x
-[2]*y[7]*z[3]+y[2]*z[2]*x[7]*y[3]-2.0*y[2]*x[2]*y[3]*z[6]+2.0*y[2]*x[2]*y[6]*z
-[3]+2.0*y[2]*z[2]*x[6]*y[3]-y[3]*y[2]*x[6]*z[3];
+       y[5]*x[1]*z[4]-2.0*y[2]*z[2]*x[3]*y[6]+2.0*y[1]*z[1]*x[0]*y[5]-2.0*y[1]*z[1]*x
+       [5]*y[0]+2.0*y[1]*x[1]*y[0]*z[5]-y[2]*x[2]*y[3]*z[7]-y[2]*z[2]*x[3]*y[7]+y[2]*x
+       [2]*y[7]*z[3]+y[2]*z[2]*x[7]*y[3]-2.0*y[2]*x[2]*y[3]*z[6]+2.0*y[2]*x[2]*y[6]*z
+       [3]+2.0*y[2]*z[2]*x[6]*y[3]-y[3]*y[2]*x[6]*z[3];
   s8 = y[3]*y[2]*x[3]*z[6]+y[3]*x[2]*y[6]*z[3]-y[3]*z[2]*x[3]*y[6]-y[2]*y
-[2]*x[7]*z[3]+2.0*y[2]*y[2]*x[3]*z[6]+y[2]*y[2]*x[3]*z[7]-2.0*y[1]*x[1]*y[5]*z
-[0]-x[2]*y[3]*y[3]*z[6]+z[2]*x[6]*y[3]*y[3]+2.0*y[6]*x[2]*y[5]*z[6]+2.0*y[6]*x
-[6]*y[2]*z[5]-2.0*y[6]*x[5]*y[2]*z[6]+2.0*y[3]*x[2]*y[7]*z[3]-2.0*y[3]*z[2]*x
-[3]*y[7]-y[0]*z[0]*x[7]*y[3]-y[0]*z[2]*x[1]*y[3];
+       [2]*x[7]*z[3]+2.0*y[2]*y[2]*x[3]*z[6]+y[2]*y[2]*x[3]*z[7]-2.0*y[1]*x[1]*y[5]*z
+       [0]-x[2]*y[3]*y[3]*z[6]+z[2]*x[6]*y[3]*y[3]+2.0*y[6]*x[2]*y[5]*z[6]+2.0*y[6]*x
+       [6]*y[2]*z[5]-2.0*y[6]*x[5]*y[2]*z[6]+2.0*y[3]*x[2]*y[7]*z[3]-2.0*y[3]*z[2]*x
+       [3]*y[7]-y[0]*z[0]*x[7]*y[3]-y[0]*z[2]*x[1]*y[3];
   s4 = s8-y[2]*y[6]*x[7]*z[2]+y[0]*z[2]*x[3]*y[1]+y[1]*z[5]*x[1]*y[4]-y[1]*
-x[5]*y[4]*z[1]+2.0*y[0]*z[0]*x[3]*y[4]+2.0*y[0]*x[0]*y[3]*z[4]+2.0*z[2]*x[7]*y
-[3]*y[3]-2.0*z[5]*x[7]*y[4]*y[4]+x[6]*y[4]*y[4]*z[7]-z[6]*x[7]*y[4]*y[4]+y[1]*y
-[1]*x[0]*z[3]+y[3]*x[6]*y[7]*z[2]-y[3]*z[6]*x[2]*y[7]+2.0*y[3]*y[2]*x[3]*z[7]+
-s5+s7;
+       x[5]*y[4]*z[1]+2.0*y[0]*z[0]*x[3]*y[4]+2.0*y[0]*x[0]*y[3]*z[4]+2.0*z[2]*x[7]*y
+       [3]*y[3]-2.0*z[5]*x[7]*y[4]*y[4]+x[6]*y[4]*y[4]*z[7]-z[6]*x[7]*y[4]*y[4]+y[1]*y
+       [1]*x[0]*z[3]+y[3]*x[6]*y[7]*z[2]-y[3]*z[6]*x[2]*y[7]+2.0*y[3]*y[2]*x[3]*z[7]+
+       s5+s7;
   s8 = s4+y[2]*x[6]*y[7]*z[2]-y[2]*y[6]*x[7]*z[3]+y[2]*y[6]*x[2]*z[7]-y[2]*
-z[6]*x[2]*y[7]-y[2]*x[6]*y[3]*z[7]+y[2]*y[6]*x[3]*z[7]+y[2]*z[6]*x[7]*y[3]-2.0*
-y[3]*y[2]*x[7]*z[3]-x[6]*y[3]*y[3]*z[7]+y[1]*y[1]*x[4]*z[0]-y[1]*y[1]*x[3]*z[0]
-+x[2]*y[6]*y[6]*z[3]-z[2]*x[3]*y[6]*y[6]-y[1]*y[1]*x[0]*z[4];
+       z[6]*x[2]*y[7]-y[2]*x[6]*y[3]*z[7]+y[2]*y[6]*x[3]*z[7]+y[2]*z[6]*x[7]*y[3]-2.0*
+       y[3]*y[2]*x[7]*z[3]-x[6]*y[3]*y[3]*z[7]+y[1]*y[1]*x[4]*z[0]-y[1]*y[1]*x[3]*z[0]
+       +x[2]*y[6]*y[6]*z[3]-z[2]*x[3]*y[6]*y[6]-y[1]*y[1]*x[0]*z[4];
   s7 = s8+y[5]*x[1]*y[0]*z[5]+y[6]*x[2]*y[7]*z[3]-y[6]*y[2]*x[6]*z[3]+y[6]*
-y[2]*x[3]*z[6]-y[6]*x[2]*y[3]*z[6]+y[6]*z[2]*x[6]*y[3]-y[5]*y[1]*x[0]*z[5]-y[5]
-*z[1]*x[5]*y[0]+y[5]*y[1]*x[5]*z[0]-y[6]*z[2]*x[3]*y[7]-y[7]*y[6]*x[7]*z[2]+2.0
-*y[6]*y[6]*x[2]*z[7]+y[6]*y[6]*x[3]*z[7]+x[6]*y[7]*y[7]*z[2]-z[6]*x[2]*y[7]*y
-[7];
+       y[2]*x[3]*z[6]-y[6]*x[2]*y[3]*z[6]+y[6]*z[2]*x[6]*y[3]-y[5]*y[1]*x[0]*z[5]-y[5]
+       *z[1]*x[5]*y[0]+y[5]*y[1]*x[5]*z[0]-y[6]*z[2]*x[3]*y[7]-y[7]*y[6]*x[7]*z[2]+2.0
+       *y[6]*y[6]*x[2]*z[7]+y[6]*y[6]*x[3]*z[7]+x[6]*y[7]*y[7]*z[2]-z[6]*x[2]*y[7]*y
+       [7];
   s8 = -x[2]*y[1]*y[1]*z[3]+2.0*y[1]*y[1]*x[0]*z[2]-2.0*y[1]*y[1]*x[2]*z[0]
-+z[2]*x[3]*y[1]*y[1]-z[1]*x[0]*y[2]*y[2]+x[1]*y[2]*y[2]*z[0]+y[2]*y[2]*x[0]*z
-[3]-y[2]*y[2]*x[3]*z[0]-2.0*y[2]*y[2]*x[3]*z[1]+y[1]*x[1]*y[3]*z[0]-2.0*y[6]*y
-[6]*x[7]*z[2]+2.0*y[5]*y[5]*x[4]*z[1]-2.0*y[5]*y[5]*x[1]*z[4]-y[6]*y[6]*x[7]*z
-[3]-2.0*y[1]*x[1]*y[0]*z[2];
+       +z[2]*x[3]*y[1]*y[1]-z[1]*x[0]*y[2]*y[2]+x[1]*y[2]*y[2]*z[0]+y[2]*y[2]*x[0]*z
+       [3]-y[2]*y[2]*x[3]*z[0]-2.0*y[2]*y[2]*x[3]*z[1]+y[1]*x[1]*y[3]*z[0]-2.0*y[6]*y
+       [6]*x[7]*z[2]+2.0*y[5]*y[5]*x[4]*z[1]-2.0*y[5]*y[5]*x[1]*z[4]-y[6]*y[6]*x[7]*z
+       [3]-2.0*y[1]*x[1]*y[0]*z[2];
   s6 = s8+2.0*y[1]*z[1]*x[2]*y[0]-2.0*y[1]*z[1]*x[0]*y[2]+2.0*y[1]*x[1]*y
-[2]*z[0]+y[1]*x[2]*y[3]*z[1]-y[1]*y[2]*x[3]*z[1]-y[1]*z[2]*x[1]*y[3]+y[1]*y[2]*
-x[1]*z[3]-y[2]*x[1]*y[0]*z[2]+y[2]*z[1]*x[2]*y[0]+y[2]*x[2]*y[3]*z[0]-y[7]*x[6]
-*y[2]*z[7]+y[7]*z[6]*x[7]*y[2]+y[7]*y[6]*x[2]*z[7]-y[6]*x[6]*y[3]*z[7]+y[6]*x
-[6]*y[7]*z[3]+s7;
+       [2]*z[0]+y[1]*x[2]*y[3]*z[1]-y[1]*y[2]*x[3]*z[1]-y[1]*z[2]*x[1]*y[3]+y[1]*y[2]*
+       x[1]*z[3]-y[2]*x[1]*y[0]*z[2]+y[2]*z[1]*x[2]*y[0]+y[2]*x[2]*y[3]*z[0]-y[7]*x[6]
+       *y[2]*z[7]+y[7]*z[6]*x[7]*y[2]+y[7]*y[6]*x[2]*z[7]-y[6]*x[6]*y[3]*z[7]+y[6]*x
+       [6]*y[7]*z[3]+s7;
   s8 = s6-y[6]*z[6]*x[3]*y[7]+y[6]*z[6]*x[7]*y[3]+2.0*y[2]*y[2]*x[1]*z[3]+x
-[2]*y[3]*y[3]*z[1]-z[2]*x[1]*y[3]*y[3]+y[1]*x[1]*y[0]*z[4]+y[1]*z[1]*x[3]*y[0]-
-y[1]*x[1]*y[0]*z[3]+2.0*y[5]*x[5]*y[1]*z[4]-2.0*y[5]*x[5]*y[4]*z[1]+2.0*y[5]*z
-[5]*x[1]*y[4]-2.0*y[5]*z[5]*x[4]*y[1]-2.0*y[6]*x[6]*y[2]*z[7]+2.0*y[6]*x[6]*y
-[7]*z[2];
+       [2]*y[3]*y[3]*z[1]-z[2]*x[1]*y[3]*y[3]+y[1]*x[1]*y[0]*z[4]+y[1]*z[1]*x[3]*y[0]-
+       y[1]*x[1]*y[0]*z[3]+2.0*y[5]*x[5]*y[1]*z[4]-2.0*y[5]*x[5]*y[4]*z[1]+2.0*y[5]*z
+       [5]*x[1]*y[4]-2.0*y[5]*z[5]*x[4]*y[1]-2.0*y[6]*x[6]*y[2]*z[7]+2.0*y[6]*x[6]*y
+       [7]*z[2];
   s7 = s8+2.0*y[6]*z[6]*x[7]*y[2]-2.0*y[6]*z[6]*x[2]*y[7]-y[1]*z[1]*x[4]*y
-[0]+y[1]*z[1]*x[0]*y[4]-y[1]*z[1]*x[0]*y[3]+2.0*y[6]*y[6]*x[7]*z[5]+2.0*y[5]*y
-[5]*x[6]*z[4]-2.0*y[5]*y[5]*x[4]*z[6]+x[6]*y[5]*y[5]*z[7]-y[3]*x[2]*y[1]*z[3]-y
-[3]*y[2]*x[3]*z[1]+y[3]*z[2]*x[3]*y[1]+y[3]*y[2]*x[1]*z[3]-y[2]*x[2]*y[0]*z[3]+
-y[2]*z[2]*x[3]*y[0];
+       [0]+y[1]*z[1]*x[0]*y[4]-y[1]*z[1]*x[0]*y[3]+2.0*y[6]*y[6]*x[7]*z[5]+2.0*y[5]*y
+       [5]*x[6]*z[4]-2.0*y[5]*y[5]*x[4]*z[6]+x[6]*y[5]*y[5]*z[7]-y[3]*x[2]*y[1]*z[3]-y
+       [3]*y[2]*x[3]*z[1]+y[3]*z[2]*x[3]*y[1]+y[3]*y[2]*x[1]*z[3]-y[2]*x[2]*y[0]*z[3]+
+       y[2]*z[2]*x[3]*y[0];
   s8 = s7+2.0*y[2]*x[2]*y[3]*z[1]-2.0*y[2]*x[2]*y[1]*z[3]+y[2]*y[1]*x[0]*z
-[2]-y[2]*y[1]*x[2]*z[0]+2.0*y[2]*z[2]*x[3]*y[1]-2.0*y[2]*z[2]*x[1]*y[3]-y[2]*z
-[2]*x[0]*y[3]+y[5]*z[6]*x[5]*y[7]-y[5]*x[6]*y[7]*z[5]-y[5]*y[6]*x[4]*z[7]-y[5]*
-y[6]*x[5]*z[7]-2.0*y[5]*x[5]*y[6]*z[4]+2.0*y[5]*x[5]*y[4]*z[6]-2.0*y[5]*z[5]*x
-[6]*y[4]+2.0*y[5]*z[5]*x[4]*y[6];
+       [2]-y[2]*y[1]*x[2]*z[0]+2.0*y[2]*z[2]*x[3]*y[1]-2.0*y[2]*z[2]*x[1]*y[3]-y[2]*z
+       [2]*x[0]*y[3]+y[5]*z[6]*x[5]*y[7]-y[5]*x[6]*y[7]*z[5]-y[5]*y[6]*x[4]*z[7]-y[5]*
+       y[6]*x[5]*z[7]-2.0*y[5]*x[5]*y[6]*z[4]+2.0*y[5]*x[5]*y[4]*z[6]-2.0*y[5]*z[5]*x
+       [6]*y[4]+2.0*y[5]*z[5]*x[4]*y[6];
   s5 = s8-y[1]*y[5]*x[0]*z[4]-z[6]*x[7]*y[5]*y[5]+y[6]*y[6]*x[7]*z[4]-y[6]*
-y[6]*x[4]*z[7]-2.0*y[6]*y[6]*x[5]*z[7]-x[5]*y[6]*y[6]*z[4]+z[5]*x[4]*y[6]*y[6]+
-z[6]*x[5]*y[7]*y[7]-x[6]*y[7]*y[7]*z[5]+y[1]*y[5]*x[4]*z[0]+y[7]*y[6]*x[7]*z[5]
-+y[6]*y[5]*x[7]*z[4]+y[5]*y[6]*x[7]*z[5]+y[6]*y[5]*x[6]*z[4]-y[6]*y[5]*x[4]*z
-[6]+2.0*y[6]*z[6]*x[5]*y[7];
+       y[6]*x[4]*z[7]-2.0*y[6]*y[6]*x[5]*z[7]-x[5]*y[6]*y[6]*z[4]+z[5]*x[4]*y[6]*y[6]+
+       z[6]*x[5]*y[7]*y[7]-x[6]*y[7]*y[7]*z[5]+y[1]*y[5]*x[4]*z[0]+y[7]*y[6]*x[7]*z[5]
+       +y[6]*y[5]*x[7]*z[4]+y[5]*y[6]*x[7]*z[5]+y[6]*y[5]*x[6]*z[4]-y[6]*y[5]*x[4]*z
+       [6]+2.0*y[6]*z[6]*x[5]*y[7];
   s8 = s5-2.0*y[6]*x[6]*y[7]*z[5]+2.0*y[6]*x[6]*y[5]*z[7]-2.0*y[6]*z[6]*x
-[7]*y[5]-y[6]*x[5]*y[7]*z[4]-y[6]*x[6]*y[7]*z[4]+y[6]*x[6]*y[4]*z[7]-y[6]*z[6]*
-x[7]*y[4]+y[6]*z[5]*x[4]*y[7]+y[6]*z[6]*x[4]*y[7]+y[6]*x[5]*y[4]*z[6]-y[6]*z[5]
-*x[6]*y[4]+y[7]*x[6]*y[5]*z[7]-y[7]*z[6]*x[7]*y[5]-2.0*y[6]*x[6]*y[5]*z[2];
+       [7]*y[5]-y[6]*x[5]*y[7]*z[4]-y[6]*x[6]*y[7]*z[4]+y[6]*x[6]*y[4]*z[7]-y[6]*z[6]*
+       x[7]*y[4]+y[6]*z[5]*x[4]*y[7]+y[6]*z[6]*x[4]*y[7]+y[6]*x[5]*y[4]*z[6]-y[6]*z[5]
+       *x[6]*y[4]+y[7]*x[6]*y[5]*z[7]-y[7]*z[6]*x[7]*y[5]-2.0*y[6]*x[6]*y[5]*z[2];
   s7 = s8-y[7]*y[6]*x[5]*z[7]+2.0*y[4]*y[5]*x[4]*z[0]+2.0*x[3]*y[7]*y[7]*z
-[4]-2.0*x[4]*y[7]*y[7]*z[3]-z[0]*x[4]*y[7]*y[7]+x[0]*y[7]*y[7]*z[4]-y[0]*z[5]*x
-[4]*y[1]+y[0]*x[5]*y[1]*z[4]-y[0]*x[5]*y[4]*z[0]+y[0]*z[5]*x[0]*y[4]-y[5]*y[5]*
-x[0]*z[4]+y[5]*y[5]*x[4]*z[0]+2.0*y[1]*y[1]*x[2]*z[5]-2.0*y[1]*y[1]*x[5]*z[2]+z
-[1]*x[5]*y[2]*y[2];
+       [4]-2.0*x[4]*y[7]*y[7]*z[3]-z[0]*x[4]*y[7]*y[7]+x[0]*y[7]*y[7]*z[4]-y[0]*z[5]*x
+       [4]*y[1]+y[0]*x[5]*y[1]*z[4]-y[0]*x[5]*y[4]*z[0]+y[0]*z[5]*x[0]*y[4]-y[5]*y[5]*
+       x[0]*z[4]+y[5]*y[5]*x[4]*z[0]+2.0*y[1]*y[1]*x[2]*z[5]-2.0*y[1]*y[1]*x[5]*z[2]+z
+       [1]*x[5]*y[2]*y[2];
   s8 = s7-x[1]*y[2]*y[2]*z[5]-y[5]*z[5]*x[4]*y[0]+y[5]*z[5]*x[0]*y[4]-y[5]*
-x[5]*y[4]*z[0]-y[2]*x[1]*y[6]*z[5]-y[2]*y[1]*x[5]*z[6]+y[2]*z[1]*x[5]*y[6]+y[2]
-*y[1]*x[6]*z[5]-y[1]*z[1]*x[6]*y[5]-y[1]*x[1]*y[6]*z[5]+y[1]*x[1]*y[5]*z[6]+y
-[1]*z[1]*x[5]*y[6]+y[5]*x[5]*y[0]*z[4]+y[2]*y[1]*x[2]*z[5]-y[2]*z[1]*x[2]*y[5];
+       x[5]*y[4]*z[0]-y[2]*x[1]*y[6]*z[5]-y[2]*y[1]*x[5]*z[6]+y[2]*z[1]*x[5]*y[6]+y[2]
+       *y[1]*x[6]*z[5]-y[1]*z[1]*x[6]*y[5]-y[1]*x[1]*y[6]*z[5]+y[1]*x[1]*y[5]*z[6]+y
+       [1]*z[1]*x[5]*y[6]+y[5]*x[5]*y[0]*z[4]+y[2]*y[1]*x[2]*z[5]-y[2]*z[1]*x[2]*y[5];
   s6 = s8+y[2]*x[1]*y[5]*z[2]-y[2]*y[1]*x[5]*z[2]-y[1]*y[1]*x[5]*z[6]+y[1]*
-y[1]*x[6]*z[5]-z[1]*x[2]*y[5]*y[5]+x[1]*y[5]*y[5]*z[2]+2.0*y[1]*z[1]*x[5]*y[2]
--2.0*y[1]*x[1]*y[2]*z[5]-2.0*y[1]*z[1]*x[2]*y[5]+2.0*y[1]*x[1]*y[5]*z[2]-y[1]*y
-[1]*x[6]*z[2]+y[1]*y[1]*x[2]*z[6]-2.0*y[5]*x[1]*y[6]*z[5]-2.0*y[5]*y[1]*x[5]*z
-[6]+2.0*y[5]*z[1]*x[5]*y[6]+2.0*y[5]*y[1]*x[6]*z[5];
+       y[1]*x[6]*z[5]-z[1]*x[2]*y[5]*y[5]+x[1]*y[5]*y[5]*z[2]+2.0*y[1]*z[1]*x[5]*y[2]
+       -2.0*y[1]*x[1]*y[2]*z[5]-2.0*y[1]*z[1]*x[2]*y[5]+2.0*y[1]*x[1]*y[5]*z[2]-y[1]*y
+       [1]*x[6]*z[2]+y[1]*y[1]*x[2]*z[6]-2.0*y[5]*x[1]*y[6]*z[5]-2.0*y[5]*y[1]*x[5]*z
+       [6]+2.0*y[5]*z[1]*x[5]*y[6]+2.0*y[5]*y[1]*x[6]*z[5];
   s8 = s6-y[6]*z[1]*x[6]*y[5]-y[6]*y[1]*x[5]*z[6]+y[6]*x[1]*y[5]*z[6]+y[6]*
-y[1]*x[6]*z[5]-2.0*z[1]*x[6]*y[5]*y[5]+2.0*x[1]*y[5]*y[5]*z[6]-x[1]*y[6]*y[6]*z
-[5]+z[1]*x[5]*y[6]*y[6]+y[5]*z[1]*x[5]*y[2]-y[5]*x[1]*y[2]*z[5]+y[5]*y[1]*x[2]*
-z[5]-y[5]*y[1]*x[5]*z[2]-y[6]*z[1]*x[2]*y[5]+y[6]*x[1]*y[5]*z[2];
+       y[1]*x[6]*z[5]-2.0*z[1]*x[6]*y[5]*y[5]+2.0*x[1]*y[5]*y[5]*z[6]-x[1]*y[6]*y[6]*z
+       [5]+z[1]*x[5]*y[6]*y[6]+y[5]*z[1]*x[5]*y[2]-y[5]*x[1]*y[2]*z[5]+y[5]*y[1]*x[2]*
+       z[5]-y[5]*y[1]*x[5]*z[2]-y[6]*z[1]*x[2]*y[5]+y[6]*x[1]*y[5]*z[2];
   s7 = s8-y[1]*z[1]*x[2]*y[6]-y[1]*x[1]*y[2]*z[6]+y[1]*x[1]*y[6]*z[2]+y[1]*
-z[1]*x[6]*y[2]+y[5]*x[5]*y[6]*z[2]-y[5]*x[2]*y[6]*z[5]+y[5]*x[6]*y[2]*z[5]-y[5]
-*x[5]*y[2]*z[6]-x[6]*y[5]*y[5]*z[2]+x[2]*y[5]*y[5]*z[6]-y[5]*y[5]*x[4]*z[7]+y
-[5]*y[5]*x[7]*z[4]-y[1]*x[6]*y[5]*z[2]+y[1]*x[2]*y[5]*z[6]-y[2]*x[6]*y[5]*z[2]
--2.0*y[2]*y[1]*x[6]*z[2];
+       z[1]*x[6]*y[2]+y[5]*x[5]*y[6]*z[2]-y[5]*x[2]*y[6]*z[5]+y[5]*x[6]*y[2]*z[5]-y[5]
+       *x[5]*y[2]*z[6]-x[6]*y[5]*y[5]*z[2]+x[2]*y[5]*y[5]*z[6]-y[5]*y[5]*x[4]*z[7]+y
+       [5]*y[5]*x[7]*z[4]-y[1]*x[6]*y[5]*z[2]+y[1]*x[2]*y[5]*z[6]-y[2]*x[6]*y[5]*z[2]
+       -2.0*y[2]*y[1]*x[6]*z[2];
   s8 = s7-2.0*y[2]*z[1]*x[2]*y[6]+2.0*y[2]*x[1]*y[6]*z[2]+2.0*y[2]*y[1]*x
-[2]*z[6]-2.0*x[1]*y[2]*y[2]*z[6]+2.0*z[1]*x[6]*y[2]*y[2]+x[6]*y[2]*y[2]*z[5]-x
-[5]*y[2]*y[2]*z[6]+2.0*x[5]*y[6]*y[6]*z[2]-2.0*x[2]*y[6]*y[6]*z[5]-z[1]*x[2]*y
-[6]*y[6]-y[6]*y[1]*x[6]*z[2]-y[6]*x[1]*y[2]*z[6]+y[6]*z[1]*x[6]*y[2]+y[6]*y[1]*
-x[2]*z[6]+x[1]*y[6]*y[6]*z[2];
+       [2]*z[6]-2.0*x[1]*y[2]*y[2]*z[6]+2.0*z[1]*x[6]*y[2]*y[2]+x[6]*y[2]*y[2]*z[5]-x
+       [5]*y[2]*y[2]*z[6]+2.0*x[5]*y[6]*y[6]*z[2]-2.0*x[2]*y[6]*y[6]*z[5]-z[1]*x[2]*y
+       [6]*y[6]-y[6]*y[1]*x[6]*z[2]-y[6]*x[1]*y[2]*z[6]+y[6]*z[1]*x[6]*y[2]+y[6]*y[1]*
+       x[2]*z[6]+x[1]*y[6]*y[6]*z[2];
   s3 = s8+y[2]*x[5]*y[6]*z[2]+y[2]*x[2]*y[5]*z[6]-y[2]*x[2]*y[6]*z[5]+y[5]*
-z[5]*x[4]*y[7]+y[5]*x[5]*y[4]*z[7]-y[5]*z[5]*x[7]*y[4]-y[5]*x[5]*y[7]*z[4]+2.0*
-y[4]*x[5]*y[0]*z[4]-y[3]*z[6]*x[3]*y[7]+y[3]*y[6]*x[3]*z[7]+y[3]*x[6]*y[7]*z[3]
--y[3]*y[6]*x[7]*z[3]-y[2]*y[1]*x[3]*z[0]-y[2]*z[1]*x[0]*y[3]+y[2]*y[1]*x[0]*z
-[3]+y[2]*x[1]*y[3]*z[0];
+       z[5]*x[4]*y[7]+y[5]*x[5]*y[4]*z[7]-y[5]*z[5]*x[7]*y[4]-y[5]*x[5]*y[7]*z[4]+2.0*
+       y[4]*x[5]*y[0]*z[4]-y[3]*z[6]*x[3]*y[7]+y[3]*y[6]*x[3]*z[7]+y[3]*x[6]*y[7]*z[3]
+       -y[3]*y[6]*x[7]*z[3]-y[2]*y[1]*x[3]*z[0]-y[2]*z[1]*x[0]*y[3]+y[2]*y[1]*x[0]*z
+       [3]+y[2]*x[1]*y[3]*z[0];
   s8 = y[1]*x[0]*z[3]+x[1]*y[3]*z[0]-y[0]*x[3]*z[7]-x[1]*y[5]*z[0]-y[0]*x
-[3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]*
-z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5]
-+x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7];
+       [3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]*
+       z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5]
+       +x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7];
   s7 = s8-z[1]*x[2]*y[5]-y[1]*x[3]*z[0]-x[0]*y[7]*z[3]-z[1]*x[0]*y[3]+y[5]*
-x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3]
-*y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z
-[0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3];
+       x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3]
+       *y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z
+       [0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3];
   s8 = x[5]*y[0]*z[4]+z[1]*x[0]*y[5]-x[2]*y[0]*z[3]-z[1]*x[5]*y[0]+y[1]*x
-[5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]*
-z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3]
--y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3];
+       [5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]*
+       z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3]
+       -y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3];
   s6 = s8+y[2]*x[3]*z[7]-y[2]*x[3]*z[0]-x[6]*y[5]*z[2]-y[5]*x[0]*z[4]+z[2]*
-x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0]
-*z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z
-[6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7;
+       x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0]
+       *z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z
+       [6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7;
   s8 = x[5]*y[4]*z[7]+s6+y[5]*x[6]*z[4]-y[5]*x[4]*z[6]+z[6]*x[5]*y[7]-x[6]*
-y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7]
-*z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z
-[5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5];
+       y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7]
+       *z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z
+       [5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5];
   s7 = s8-x[5]*y[2]*z[6]-z[6]*x[7]*y[5]-z[5]*x[7]*y[4]+z[5]*x[0]*y[4]-y[5]*
-x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7]
-*z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z
-[4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7];
+       x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7]
+       *z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z
+       [4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7];
   s8 = -x[3]*y[4]*z[7]+x[4]*y[3]*z[7]-z[6]*x[7]*y[4]-z[1]*x[6]*y[5]+x[6]*y
-[7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]*
-z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7]
-+x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1];
+       [7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]*
+       z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7]
+       +x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1];
   s5 = s8+x[5]*y[4]*z[6]+z[5]*x[1]*y[4]+y[1]*x[6]*z[5]-z[6]*x[3]*y[7]+z[6]*
-x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6]
-*z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y
-[6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7;
+       x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6]
+       *z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y
+       [6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7;
   s4 = 1/s5;
   s2 = s3*s4;
   const double unknown1 = s1*s2;
   s1 = 1.0/6.0;
   s8 = -z[2]*x[1]*y[2]*z[5]+z[2]*y[1]*x[2]*z[5]-z[2]*z[1]*x[2]*y[5]+z[2]*z
-[1]*x[5]*y[2]+2.0*y[5]*x[7]*z[4]*z[4]-y[1]*x[2]*z[0]*z[0]+x[0]*y[3]*z[7]*z[7]
--2.0*z[5]*z[5]*x[4]*y[1]+2.0*z[5]*z[5]*x[1]*y[4]+z[5]*z[5]*x[0]*y[4]-2.0*z[2]*z
-[2]*x[1]*y[3]+2.0*z[2]*z[2]*x[3]*y[1]-x[0]*y[4]*z[7]*z[7]-y[0]*x[3]*z[7]*z[7]+x
-[1]*y[0]*z[5]*z[5];
+       [1]*x[5]*y[2]+2.0*y[5]*x[7]*z[4]*z[4]-y[1]*x[2]*z[0]*z[0]+x[0]*y[3]*z[7]*z[7]
+       -2.0*z[5]*z[5]*x[4]*y[1]+2.0*z[5]*z[5]*x[1]*y[4]+z[5]*z[5]*x[0]*y[4]-2.0*z[2]*z
+       [2]*x[1]*y[3]+2.0*z[2]*z[2]*x[3]*y[1]-x[0]*y[4]*z[7]*z[7]-y[0]*x[3]*z[7]*z[7]+x
+       [1]*y[0]*z[5]*z[5];
   s7 = s8-y[1]*x[0]*z[5]*z[5]+z[1]*y[1]*x[2]*z[6]+y[1]*x[0]*z[2]*z[2]+z[2]*
-z[2]*x[3]*y[0]-z[2]*z[2]*x[0]*y[3]-x[1]*y[0]*z[2]*z[2]+2.0*z[5]*z[5]*x[4]*y[6]
--2.0*z[5]*z[5]*x[6]*y[4]-z[5]*z[5]*x[7]*y[4]-x[6]*y[7]*z[5]*z[5]+2.0*z[2]*y[1]*
-x[2]*z[6]-2.0*z[2]*x[1]*y[2]*z[6]+2.0*z[2]*z[1]*x[6]*y[2]-y[6]*x[5]*z[7]*z[7]+
-2.0*x[6]*y[4]*z[7]*z[7];
+       z[2]*x[3]*y[0]-z[2]*z[2]*x[0]*y[3]-x[1]*y[0]*z[2]*z[2]+2.0*z[5]*z[5]*x[4]*y[6]
+       -2.0*z[5]*z[5]*x[6]*y[4]-z[5]*z[5]*x[7]*y[4]-x[6]*y[7]*z[5]*z[5]+2.0*z[2]*y[1]*
+       x[2]*z[6]-2.0*z[2]*x[1]*y[2]*z[6]+2.0*z[2]*z[1]*x[6]*y[2]-y[6]*x[5]*z[7]*z[7]+
+       2.0*x[6]*y[4]*z[7]*z[7];
   s8 = -2.0*y[6]*x[4]*z[7]*z[7]+x[6]*y[5]*z[7]*z[7]-2.0*z[2]*z[1]*x[2]*y[6]
-+z[4]*y[6]*x[7]*z[5]+x[5]*y[4]*z[6]*z[6]+z[6]*z[6]*x[4]*y[7]-z[6]*z[6]*x[7]*y
-[4]-2.0*z[6]*z[6]*x[7]*y[5]+2.0*z[6]*z[6]*x[5]*y[7]-y[5]*x[4]*z[6]*z[6]+2.0*z
-[0]*z[0]*x[3]*y[4]-x[6]*y[5]*z[2]*z[2]+z[1]*z[1]*x[5]*y[6]-z[1]*z[1]*x[6]*y[5]-
-z[5]*z[5]*x[4]*y[0];
+       +z[4]*y[6]*x[7]*z[5]+x[5]*y[4]*z[6]*z[6]+z[6]*z[6]*x[4]*y[7]-z[6]*z[6]*x[7]*y
+       [4]-2.0*z[6]*z[6]*x[7]*y[5]+2.0*z[6]*z[6]*x[5]*y[7]-y[5]*x[4]*z[6]*z[6]+2.0*z
+       [0]*z[0]*x[3]*y[4]-x[6]*y[5]*z[2]*z[2]+z[1]*z[1]*x[5]*y[6]-z[1]*z[1]*x[6]*y[5]-
+       z[5]*z[5]*x[4]*y[0];
   s6 = s8+2.0*x[1]*y[3]*z[0]*z[0]+2.0*x[1]*y[6]*z[2]*z[2]-2.0*y[1]*x[6]*z
-[2]*z[2]-y[1]*x[5]*z[2]*z[2]-z[1]*z[1]*x[2]*y[6]-2.0*z[1]*z[1]*x[2]*y[5]+2.0*z
-[1]*z[1]*x[5]*y[2]+z[1]*y[1]*x[6]*z[5]+y[1]*x[2]*z[5]*z[5]+z[2]*z[1]*x[2]*y[0]+
-z[1]*x[1]*y[5]*z[6]-z[1]*x[1]*y[6]*z[5]-z[1]*y[1]*x[5]*z[6]-z[1]*x[2]*y[6]*z[5]
-+z[1]*x[6]*y[2]*z[5]+s7;
+       [2]*z[2]-y[1]*x[5]*z[2]*z[2]-z[1]*z[1]*x[2]*y[6]-2.0*z[1]*z[1]*x[2]*y[5]+2.0*z
+       [1]*z[1]*x[5]*y[2]+z[1]*y[1]*x[6]*z[5]+y[1]*x[2]*z[5]*z[5]+z[2]*z[1]*x[2]*y[0]+
+       z[1]*x[1]*y[5]*z[6]-z[1]*x[1]*y[6]*z[5]-z[1]*y[1]*x[5]*z[6]-z[1]*x[2]*y[6]*z[5]
+       +z[1]*x[6]*y[2]*z[5]+s7;
   s8 = -x[1]*y[2]*z[5]*z[5]+z[1]*x[5]*y[6]*z[2]-2.0*z[2]*z[2]*x[3]*y[6]+2.0
-*z[2]*z[2]*x[6]*y[3]+z[2]*z[2]*x[7]*y[3]-z[2]*z[2]*x[3]*y[7]-z[1]*x[6]*y[5]*z
-[2]+2.0*z[1]*x[1]*y[5]*z[2]-2.0*x[3]*y[4]*z[7]*z[7]+2.0*x[4]*y[3]*z[7]*z[7]+x
-[5]*y[6]*z[2]*z[2]+y[1]*x[2]*z[6]*z[6]+y[0]*x[4]*z[7]*z[7]+z[2]*x[2]*y[3]*z[0]-
-x[1]*y[2]*z[6]*z[6];
+       *z[2]*z[2]*x[6]*y[3]+z[2]*z[2]*x[7]*y[3]-z[2]*z[2]*x[3]*y[7]-z[1]*x[6]*y[5]*z
+       [2]+2.0*z[1]*x[1]*y[5]*z[2]-2.0*x[3]*y[4]*z[7]*z[7]+2.0*x[4]*y[3]*z[7]*z[7]+x
+       [5]*y[6]*z[2]*z[2]+y[1]*x[2]*z[6]*z[6]+y[0]*x[4]*z[7]*z[7]+z[2]*x[2]*y[3]*z[0]-
+       x[1]*y[2]*z[6]*z[6];
   s7 = s8-z[7]*z[2]*x[3]*y[7]+x[2]*y[6]*z[3]*z[3]-y[2]*x[6]*z[3]*z[3]-z[6]*
-x[2]*y[3]*z[7]-z[2]*z[1]*x[0]*y[2]+z[6]*z[2]*x[6]*y[3]-z[6]*z[2]*x[3]*y[6]+z[6]
-*x[2]*y[6]*z[3]+z[2]*x[1]*y[2]*z[0]+z[6]*y[2]*x[3]*z[7]-z[4]*z[5]*x[6]*y[4]+z
-[4]*z[5]*x[4]*y[6]-z[4]*y[6]*x[5]*z[7]+z[4]*z[6]*x[4]*y[7]+z[4]*x[5]*y[4]*z[6];
+       x[2]*y[3]*z[7]-z[2]*z[1]*x[0]*y[2]+z[6]*z[2]*x[6]*y[3]-z[6]*z[2]*x[3]*y[6]+z[6]
+       *x[2]*y[6]*z[3]+z[2]*x[1]*y[2]*z[0]+z[6]*y[2]*x[3]*z[7]-z[4]*z[5]*x[6]*y[4]+z
+       [4]*z[5]*x[4]*y[6]-z[4]*y[6]*x[5]*z[7]+z[4]*z[6]*x[4]*y[7]+z[4]*x[5]*y[4]*z[6];
   s8 = -z[6]*y[2]*x[6]*z[3]-z[4]*y[5]*x[4]*z[6]-z[2]*y[1]*x[5]*z[6]+z[2]*x
-[1]*y[5]*z[6]+z[4]*x[6]*y[4]*z[7]+2.0*z[4]*z[5]*x[4]*y[7]-z[4]*z[6]*x[7]*y[4]+x
-[6]*y[7]*z[3]*z[3]-2.0*z[4]*z[5]*x[7]*y[4]-2.0*z[4]*y[5]*x[4]*z[7]-z[4]*y[6]*x
-[4]*z[7]+z[4]*x[6]*y[5]*z[7]-z[4]*x[6]*y[7]*z[5]+2.0*z[4]*x[5]*y[4]*z[7]+z[2]*x
-[2]*y[5]*z[6]-z[2]*x[2]*y[6]*z[5];
+       [1]*y[5]*z[6]+z[4]*x[6]*y[4]*z[7]+2.0*z[4]*z[5]*x[4]*y[7]-z[4]*z[6]*x[7]*y[4]+x
+       [6]*y[7]*z[3]*z[3]-2.0*z[4]*z[5]*x[7]*y[4]-2.0*z[4]*y[5]*x[4]*z[7]-z[4]*y[6]*x
+       [4]*z[7]+z[4]*x[6]*y[5]*z[7]-z[4]*x[6]*y[7]*z[5]+2.0*z[4]*x[5]*y[4]*z[7]+z[2]*x
+       [2]*y[5]*z[6]-z[2]*x[2]*y[6]*z[5];
   s5 = s8+z[2]*x[6]*y[2]*z[5]-z[2]*x[5]*y[2]*z[6]-z[2]*x[2]*y[3]*z[7]-x[2]*
-y[3]*z[7]*z[7]+2.0*z[2]*x[2]*y[3]*z[1]-z[2]*y[2]*x[3]*z[0]+z[2]*y[2]*x[0]*z[3]-
-z[2]*x[2]*y[0]*z[3]-z[7]*y[2]*x[7]*z[3]+z[7]*z[2]*x[7]*y[3]+z[7]*x[2]*y[7]*z[3]
-+z[6]*y[1]*x[2]*z[5]-z[6]*x[1]*y[2]*z[5]+z[5]*x[1]*y[5]*z[2]+s6+s7;
+       y[3]*z[7]*z[7]+2.0*z[2]*x[2]*y[3]*z[1]-z[2]*y[2]*x[3]*z[0]+z[2]*y[2]*x[0]*z[3]-
+       z[2]*x[2]*y[0]*z[3]-z[7]*y[2]*x[7]*z[3]+z[7]*z[2]*x[7]*y[3]+z[7]*x[2]*y[7]*z[3]
+       +z[6]*y[1]*x[2]*z[5]-z[6]*x[1]*y[2]*z[5]+z[5]*x[1]*y[5]*z[2]+s6+s7;
   s8 = z[5]*z[1]*x[5]*y[2]-z[5]*z[1]*x[2]*y[5]-y[6]*x[7]*z[2]*z[2]+2.0*z[2]
-*x[2]*y[6]*z[3]-2.0*z[2]*x[2]*y[3]*z[6]+2.0*z[2]*y[2]*x[3]*z[6]+y[2]*x[3]*z[6]*
-z[6]+y[6]*x[7]*z[5]*z[5]+z[2]*y[2]*x[3]*z[7]-z[2]*y[2]*x[7]*z[3]-2.0*z[2]*y[2]*
-x[6]*z[3]+z[2]*x[2]*y[7]*z[3]+x[6]*y[2]*z[5]*z[5]-2.0*z[2]*x[2]*y[1]*z[3]-x[2]*
-y[6]*z[5]*z[5];
+       *x[2]*y[6]*z[3]-2.0*z[2]*x[2]*y[3]*z[6]+2.0*z[2]*y[2]*x[3]*z[6]+y[2]*x[3]*z[6]*
+       z[6]+y[6]*x[7]*z[5]*z[5]+z[2]*y[2]*x[3]*z[7]-z[2]*y[2]*x[7]*z[3]-2.0*z[2]*y[2]*
+       x[6]*z[3]+z[2]*x[2]*y[7]*z[3]+x[6]*y[2]*z[5]*z[5]-2.0*z[2]*x[2]*y[1]*z[3]-x[2]*
+       y[6]*z[5]*z[5];
   s7 = s8-y[1]*x[5]*z[6]*z[6]+z[6]*x[1]*y[6]*z[2]-z[3]*z[2]*x[3]*y[6]+z[6]*
-z[1]*x[6]*y[2]-z[6]*z[1]*x[2]*y[6]-z[6]*y[1]*x[6]*z[2]-2.0*x[5]*y[2]*z[6]*z[6]+
-z[4]*z[1]*x[0]*y[4]-z[3]*x[2]*y[3]*z[6]-z[5]*y[1]*x[5]*z[2]+z[3]*y[2]*x[3]*z[6]
-+2.0*x[2]*y[5]*z[6]*z[6]-z[5]*x[1]*y[5]*z[0]+y[2]*x[3]*z[7]*z[7]-x[2]*y[3]*z[6]
-*z[6];
+       z[1]*x[6]*y[2]-z[6]*z[1]*x[2]*y[6]-z[6]*y[1]*x[6]*z[2]-2.0*x[5]*y[2]*z[6]*z[6]+
+       z[4]*z[1]*x[0]*y[4]-z[3]*x[2]*y[3]*z[6]-z[5]*y[1]*x[5]*z[2]+z[3]*y[2]*x[3]*z[6]
+       +2.0*x[2]*y[5]*z[6]*z[6]-z[5]*x[1]*y[5]*z[0]+y[2]*x[3]*z[7]*z[7]-x[2]*y[3]*z[6]
+       *z[6];
   s8 = z[5]*y[5]*x[4]*z[0]+z[3]*z[2]*x[6]*y[3]+x[1]*y[5]*z[6]*z[6]+z[5]*y
-[5]*x[7]*z[4]-z[1]*x[1]*y[2]*z[6]+z[1]*x[1]*y[6]*z[2]+2.0*z[6]*y[6]*x[7]*z[5]-z
-[7]*y[6]*x[7]*z[2]-z[3]*y[6]*x[7]*z[2]+x[6]*y[7]*z[2]*z[2]-2.0*z[6]*y[6]*x[7]*z
-[2]-2.0*x[6]*y[3]*z[7]*z[7]-x[6]*y[2]*z[7]*z[7]-z[5]*x[6]*y[5]*z[2]+y[6]*x[2]*z
-[7]*z[7];
+       [5]*x[7]*z[4]-z[1]*x[1]*y[2]*z[6]+z[1]*x[1]*y[6]*z[2]+2.0*z[6]*y[6]*x[7]*z[5]-z
+       [7]*y[6]*x[7]*z[2]-z[3]*y[6]*x[7]*z[2]+x[6]*y[7]*z[2]*z[2]-2.0*z[6]*y[6]*x[7]*z
+       [2]-2.0*x[6]*y[3]*z[7]*z[7]-x[6]*y[2]*z[7]*z[7]-z[5]*x[6]*y[5]*z[2]+y[6]*x[2]*z
+       [7]*z[7];
   s6 = s8+2.0*y[6]*x[3]*z[7]*z[7]+z[6]*z[6]*x[7]*y[3]-y[6]*x[7]*z[3]*z[3]+z
-[5]*x[5]*y[0]*z[4]+2.0*z[6]*z[6]*x[7]*y[2]-2.0*z[6]*z[6]*x[2]*y[7]-z[6]*z[6]*x
-[3]*y[7]+z[7]*y[6]*x[7]*z[5]+z[7]*y[5]*x[7]*z[4]-2.0*z[7]*x[7]*y[3]*z[4]+2.0*z
-[7]*x[3]*y[7]*z[4]-2.0*z[7]*x[4]*y[7]*z[3]+2.0*z[7]*x[7]*y[4]*z[3]-z[7]*y[0]*x
-[7]*z[4]-2.0*z[7]*z[6]*x[3]*y[7]+s7;
+       [5]*x[5]*y[0]*z[4]+2.0*z[6]*z[6]*x[7]*y[2]-2.0*z[6]*z[6]*x[2]*y[7]-z[6]*z[6]*x
+       [3]*y[7]+z[7]*y[6]*x[7]*z[5]+z[7]*y[5]*x[7]*z[4]-2.0*z[7]*x[7]*y[3]*z[4]+2.0*z
+       [7]*x[3]*y[7]*z[4]-2.0*z[7]*x[4]*y[7]*z[3]+2.0*z[7]*x[7]*y[4]*z[3]-z[7]*y[0]*x
+       [7]*z[4]-2.0*z[7]*z[6]*x[3]*y[7]+s7;
   s8 = s6+2.0*z[7]*z[6]*x[7]*y[3]+2.0*z[7]*x[6]*y[7]*z[3]+z[7]*x[6]*y[7]*z
-[2]-2.0*z[7]*y[6]*x[7]*z[3]+z[7]*z[6]*x[7]*y[2]-z[7]*z[6]*x[2]*y[7]+z[5]*y[1]*x
-[5]*z[0]-z[5]*z[1]*x[5]*y[0]+2.0*y[1]*x[6]*z[5]*z[5]-2.0*x[1]*y[6]*z[5]*z[5]+z
-[5]*z[1]*x[0]*y[5]+z[6]*y[6]*x[3]*z[7]+2.0*z[6]*x[6]*y[7]*z[2]-z[6]*y[6]*x[7]*z
-[3];
+       [2]-2.0*z[7]*y[6]*x[7]*z[3]+z[7]*z[6]*x[7]*y[2]-z[7]*z[6]*x[2]*y[7]+z[5]*y[1]*x
+       [5]*z[0]-z[5]*z[1]*x[5]*y[0]+2.0*y[1]*x[6]*z[5]*z[5]-2.0*x[1]*y[6]*z[5]*z[5]+z
+       [5]*z[1]*x[0]*y[5]+z[6]*y[6]*x[3]*z[7]+2.0*z[6]*x[6]*y[7]*z[2]-z[6]*y[6]*x[7]*z
+       [3];
   s7 = s8+2.0*z[6]*y[6]*x[2]*z[7]-z[6]*x[6]*y[3]*z[7]+z[6]*x[6]*y[7]*z[3]
--2.0*z[6]*x[6]*y[2]*z[7]-2.0*z[1]*y[1]*x[5]*z[2]-z[1]*y[1]*x[6]*z[2]-z[7]*z[0]*
-x[7]*y[3]-2.0*z[6]*x[6]*y[5]*z[2]-z[2]*z[6]*x[3]*y[7]+z[2]*x[6]*y[7]*z[3]-z[2]*
-z[6]*x[2]*y[7]+y[5]*x[6]*z[4]*z[4]+z[2]*y[6]*x[2]*z[7]+y[6]*x[7]*z[4]*z[4]+z[2]
-*z[6]*x[7]*y[2]-2.0*x[5]*y[7]*z[4]*z[4];
+       -2.0*z[6]*x[6]*y[2]*z[7]-2.0*z[1]*y[1]*x[5]*z[2]-z[1]*y[1]*x[6]*z[2]-z[7]*z[0]*
+       x[7]*y[3]-2.0*z[6]*x[6]*y[5]*z[2]-z[2]*z[6]*x[3]*y[7]+z[2]*x[6]*y[7]*z[3]-z[2]*
+       z[6]*x[2]*y[7]+y[5]*x[6]*z[4]*z[4]+z[2]*y[6]*x[2]*z[7]+y[6]*x[7]*z[4]*z[4]+z[2]
+       *z[6]*x[7]*y[2]-2.0*x[5]*y[7]*z[4]*z[4];
   s8 = -x[6]*y[7]*z[4]*z[4]-z[5]*y[5]*x[0]*z[4]-z[2]*x[6]*y[2]*z[7]-x[5]*y
-[6]*z[4]*z[4]-2.0*z[5]*y[1]*x[5]*z[6]+2.0*z[5]*z[1]*x[5]*y[6]+2.0*z[5]*x[1]*y
-[5]*z[6]-2.0*z[5]*z[1]*x[6]*y[5]-z[5]*x[5]*y[2]*z[6]+z[5]*x[5]*y[6]*z[2]+z[5]*x
-[2]*y[5]*z[6]+z[5]*z[5]*x[4]*y[7]-y[5]*x[4]*z[7]*z[7]+x[5]*y[4]*z[7]*z[7]+z[6]*
-z[1]*x[5]*y[6]+z[6]*y[1]*x[6]*z[5];
+       [6]*z[4]*z[4]-2.0*z[5]*y[1]*x[5]*z[6]+2.0*z[5]*z[1]*x[5]*y[6]+2.0*z[5]*x[1]*y
+       [5]*z[6]-2.0*z[5]*z[1]*x[6]*y[5]-z[5]*x[5]*y[2]*z[6]+z[5]*x[5]*y[6]*z[2]+z[5]*x
+       [2]*y[5]*z[6]+z[5]*z[5]*x[4]*y[7]-y[5]*x[4]*z[7]*z[7]+x[5]*y[4]*z[7]*z[7]+z[6]*
+       z[1]*x[5]*y[6]+z[6]*y[1]*x[6]*z[5];
   s4 = s8-z[6]*z[1]*x[6]*y[5]-z[6]*x[1]*y[6]*z[5]+z[2]*z[6]*x[7]*y[3]+2.0*z
-[6]*x[6]*y[2]*z[5]+2.0*z[6]*x[5]*y[6]*z[2]-2.0*z[6]*x[2]*y[6]*z[5]+z[7]*z[0]*x
-[3]*y[7]+z[7]*z[0]*x[7]*y[4]+z[3]*z[6]*x[7]*y[3]-z[3]*z[6]*x[3]*y[7]-z[3]*x[6]*
-y[3]*z[7]+z[3]*y[6]*x[2]*z[7]-z[3]*x[6]*y[2]*z[7]+z[5]*x[5]*y[4]*z[7]+s5+s7;
+       [6]*x[6]*y[2]*z[5]+2.0*z[6]*x[5]*y[6]*z[2]-2.0*z[6]*x[2]*y[6]*z[5]+z[7]*z[0]*x
+       [3]*y[7]+z[7]*z[0]*x[7]*y[4]+z[3]*z[6]*x[7]*y[3]-z[3]*z[6]*x[3]*y[7]-z[3]*x[6]*
+       y[3]*z[7]+z[3]*y[6]*x[2]*z[7]-z[3]*x[6]*y[2]*z[7]+z[5]*x[5]*y[4]*z[7]+s5+s7;
   s8 = s4+z[3]*y[6]*x[3]*z[7]-z[7]*x[0]*y[7]*z[3]+z[6]*x[5]*y[4]*z[7]+z[7]*
-y[0]*x[7]*z[3]+z[5]*z[6]*x[4]*y[7]-2.0*z[5]*x[5]*y[6]*z[4]+2.0*z[5]*x[5]*y[4]*z
-[6]-z[5]*x[5]*y[7]*z[4]-z[5]*y[6]*x[5]*z[7]-z[5]*z[6]*x[7]*y[4]-z[7]*z[0]*x[4]*
-y[7]-z[5]*z[6]*x[7]*y[5]-z[5]*y[5]*x[4]*z[7]+z[7]*x[0]*y[7]*z[4];
+       y[0]*x[7]*z[3]+z[5]*z[6]*x[4]*y[7]-2.0*z[5]*x[5]*y[6]*z[4]+2.0*z[5]*x[5]*y[4]*z
+       [6]-z[5]*x[5]*y[7]*z[4]-z[5]*y[6]*x[5]*z[7]-z[5]*z[6]*x[7]*y[4]-z[7]*z[0]*x[4]*
+       y[7]-z[5]*z[6]*x[7]*y[5]-z[5]*y[5]*x[4]*z[7]+z[7]*x[0]*y[7]*z[4];
   s7 = s8-2.0*z[5]*y[5]*x[4]*z[6]+z[5]*z[6]*x[5]*y[7]+z[5]*x[6]*y[5]*z[7]+
-2.0*z[5]*y[5]*x[6]*z[4]+z[6]*z[5]*x[4]*y[6]-z[6]*x[5]*y[6]*z[4]-z[6]*z[5]*x[6]*
-y[4]-z[6]*x[6]*y[7]*z[4]-2.0*z[6]*y[6]*x[5]*z[7]+z[6]*x[6]*y[4]*z[7]-z[6]*y[5]*
-x[4]*z[7]-z[6]*y[6]*x[4]*z[7]+z[6]*y[6]*x[7]*z[4]+z[6]*y[5]*x[6]*z[4]+2.0*z[6]*
-x[6]*y[5]*z[7];
+       2.0*z[5]*y[5]*x[6]*z[4]+z[6]*z[5]*x[4]*y[6]-z[6]*x[5]*y[6]*z[4]-z[6]*z[5]*x[6]*
+       y[4]-z[6]*x[6]*y[7]*z[4]-2.0*z[6]*y[6]*x[5]*z[7]+z[6]*x[6]*y[4]*z[7]-z[6]*y[5]*
+       x[4]*z[7]-z[6]*y[6]*x[4]*z[7]+z[6]*y[6]*x[7]*z[4]+z[6]*y[5]*x[6]*z[4]+2.0*z[6]*
+       x[6]*y[5]*z[7];
   s8 = -2.0*z[6]*x[6]*y[7]*z[5]-z[2]*y[1]*x[2]*z[0]+2.0*z[7]*z[6]*x[4]*y[7]
--2.0*z[7]*x[6]*y[7]*z[4]-2.0*z[7]*z[6]*x[7]*y[4]+z[7]*z[5]*x[4]*y[7]-z[7]*z[5]*
-x[7]*y[4]-z[7]*x[5]*y[7]*z[4]+2.0*z[7]*y[6]*x[7]*z[4]-z[7]*z[6]*x[7]*y[5]+z[7]*
-z[6]*x[5]*y[7]-z[7]*x[6]*y[7]*z[5]+z[1]*z[1]*x[6]*y[2]+s7+x[1]*y[5]*z[2]*z[2];
+       -2.0*z[7]*x[6]*y[7]*z[4]-2.0*z[7]*z[6]*x[7]*y[4]+z[7]*z[5]*x[4]*y[7]-z[7]*z[5]*
+       x[7]*y[4]-z[7]*x[5]*y[7]*z[4]+2.0*z[7]*y[6]*x[7]*z[4]-z[7]*z[6]*x[7]*y[5]+z[7]*
+       z[6]*x[5]*y[7]-z[7]*x[6]*y[7]*z[5]+z[1]*z[1]*x[6]*y[2]+s7+x[1]*y[5]*z[2]*z[2];
   s6 = s8+2.0*z[2]*y[2]*x[1]*z[3]-2.0*z[2]*y[2]*x[3]*z[1]-2.0*x[1]*y[4]*z
-[0]*z[0]+2.0*y[1]*x[4]*z[0]*z[0]+2.0*x[2]*y[7]*z[3]*z[3]-2.0*y[2]*x[7]*z[3]*z
-[3]-x[1]*y[5]*z[0]*z[0]+z[0]*z[0]*x[7]*y[4]+z[0]*z[0]*x[3]*y[7]+x[2]*y[3]*z[0]*
-z[0]-2.0*y[1]*x[3]*z[0]*z[0]+y[5]*x[4]*z[0]*z[0]-2.0*z[0]*z[0]*x[4]*y[3]+x[1]*y
-[2]*z[0]*z[0]-z[0]*z[0]*x[4]*y[7]+y[1]*x[5]*z[0]*z[0];
+       [0]*z[0]+2.0*y[1]*x[4]*z[0]*z[0]+2.0*x[2]*y[7]*z[3]*z[3]-2.0*y[2]*x[7]*z[3]*z
+       [3]-x[1]*y[5]*z[0]*z[0]+z[0]*z[0]*x[7]*y[4]+z[0]*z[0]*x[3]*y[7]+x[2]*y[3]*z[0]*
+       z[0]-2.0*y[1]*x[3]*z[0]*z[0]+y[5]*x[4]*z[0]*z[0]-2.0*z[0]*z[0]*x[4]*y[3]+x[1]*y
+       [2]*z[0]*z[0]-z[0]*z[0]*x[4]*y[7]+y[1]*x[5]*z[0]*z[0];
   s8 = s6-y[2]*x[3]*z[0]*z[0]+y[1]*x[0]*z[3]*z[3]-2.0*x[0]*y[7]*z[3]*z[3]-x
-[0]*y[4]*z[3]*z[3]-2.0*x[2]*y[0]*z[3]*z[3]-x[1]*y[0]*z[3]*z[3]+y[0]*x[4]*z[3]*z
-[3]-2.0*z[0]*y[1]*x[0]*z[4]+2.0*z[0]*z[1]*x[0]*y[4]+2.0*z[0]*x[1]*y[0]*z[4]-2.0
-*z[0]*z[1]*x[4]*y[0]-2.0*z[3]*x[2]*y[3]*z[7]-2.0*z[3]*z[2]*x[3]*y[7]+2.0*z[3]*z
-[2]*x[7]*y[3];
+       [0]*y[4]*z[3]*z[3]-2.0*x[2]*y[0]*z[3]*z[3]-x[1]*y[0]*z[3]*z[3]+y[0]*x[4]*z[3]*z
+       [3]-2.0*z[0]*y[1]*x[0]*z[4]+2.0*z[0]*z[1]*x[0]*y[4]+2.0*z[0]*x[1]*y[0]*z[4]-2.0
+       *z[0]*z[1]*x[4]*y[0]-2.0*z[3]*x[2]*y[3]*z[7]-2.0*z[3]*z[2]*x[3]*y[7]+2.0*z[3]*z
+       [2]*x[7]*y[3];
   s7 = s8+2.0*z[3]*y[2]*x[3]*z[7]+2.0*z[5]*y[5]*x[4]*z[1]+2.0*z[0]*y[1]*x
-[0]*z[3]-z[0]*y[0]*x[3]*z[7]-2.0*z[0]*y[0]*x[3]*z[4]-z[0]*x[1]*y[0]*z[2]+z[0]*z
-[1]*x[2]*y[0]-z[0]*y[1]*x[0]*z[5]-z[0]*z[1]*x[0]*y[2]-z[0]*x[0]*y[7]*z[3]-2.0*z
-[0]*z[1]*x[0]*y[3]-z[5]*x[5]*y[4]*z[0]-2.0*z[0]*x[0]*y[4]*z[3]+z[0]*x[0]*y[7]*z
-[4]-z[0]*z[2]*x[0]*y[3];
+       [0]*z[3]-z[0]*y[0]*x[3]*z[7]-2.0*z[0]*y[0]*x[3]*z[4]-z[0]*x[1]*y[0]*z[2]+z[0]*z
+       [1]*x[2]*y[0]-z[0]*y[1]*x[0]*z[5]-z[0]*z[1]*x[0]*y[2]-z[0]*x[0]*y[7]*z[3]-2.0*z
+       [0]*z[1]*x[0]*y[3]-z[5]*x[5]*y[4]*z[0]-2.0*z[0]*x[0]*y[4]*z[3]+z[0]*x[0]*y[7]*z
+       [4]-z[0]*z[2]*x[0]*y[3];
   s8 = s7+z[0]*x[5]*y[0]*z[4]+z[0]*z[1]*x[0]*y[5]-z[0]*x[2]*y[0]*z[3]-z[0]*
-z[1]*x[5]*y[0]-2.0*z[0]*x[1]*y[0]*z[3]+2.0*z[0]*y[0]*x[4]*z[3]-z[0]*x[0]*y[4]*z
-[7]+z[0]*x[1]*y[0]*z[5]+z[0]*y[0]*x[7]*z[3]+z[0]*y[2]*x[0]*z[3]-z[0]*y[5]*x[0]*
-z[4]+z[0]*z[2]*x[3]*y[0]+z[0]*x[2]*y[3]*z[1]+z[0]*x[0]*y[3]*z[7]-z[0]*x[2]*y[1]
-*z[3];
+       z[1]*x[5]*y[0]-2.0*z[0]*x[1]*y[0]*z[3]+2.0*z[0]*y[0]*x[4]*z[3]-z[0]*x[0]*y[4]*z
+       [7]+z[0]*x[1]*y[0]*z[5]+z[0]*y[0]*x[7]*z[3]+z[0]*y[2]*x[0]*z[3]-z[0]*y[5]*x[0]*
+       z[4]+z[0]*z[2]*x[3]*y[0]+z[0]*x[2]*y[3]*z[1]+z[0]*x[0]*y[3]*z[7]-z[0]*x[2]*y[1]
+       *z[3];
   s5 = s8+z[0]*y[1]*x[0]*z[2]+z[3]*x[1]*y[3]*z[0]-2.0*z[3]*y[0]*x[3]*z[7]-z
-[3]*y[0]*x[3]*z[4]-z[3]*x[1]*y[0]*z[2]+z[3]*z[0]*x[7]*y[4]+2.0*z[3]*z[0]*x[3]*y
-[7]+2.0*z[3]*x[2]*y[3]*z[0]-z[3]*y[1]*x[3]*z[0]-z[3]*z[1]*x[0]*y[3]-z[3]*z[0]*x
-[4]*y[3]+z[3]*x[1]*y[2]*z[0]-z[3]*z[0]*x[4]*y[7]-2.0*z[3]*z[2]*x[0]*y[3]-z[3]*x
-[0]*y[4]*z[7]-2.0*z[3]*y[2]*x[3]*z[0];
+       [3]*y[0]*x[3]*z[4]-z[3]*x[1]*y[0]*z[2]+z[3]*z[0]*x[7]*y[4]+2.0*z[3]*z[0]*x[3]*y
+       [7]+2.0*z[3]*x[2]*y[3]*z[0]-z[3]*y[1]*x[3]*z[0]-z[3]*z[1]*x[0]*y[3]-z[3]*z[0]*x
+       [4]*y[3]+z[3]*x[1]*y[2]*z[0]-z[3]*z[0]*x[4]*y[7]-2.0*z[3]*z[2]*x[0]*y[3]-z[3]*x
+       [0]*y[4]*z[7]-2.0*z[3]*y[2]*x[3]*z[0];
   s8 = s5+2.0*z[3]*z[2]*x[3]*y[0]+z[3]*x[2]*y[3]*z[1]+2.0*z[3]*x[0]*y[3]*z
-[7]+z[3]*y[1]*x[0]*z[2]-z[4]*y[0]*x[3]*z[7]-z[4]*x[1]*y[5]*z[0]-z[4]*y[1]*x[0]*
-z[5]+2.0*z[4]*z[0]*x[7]*y[4]+z[4]*z[0]*x[3]*y[7]+2.0*z[4]*y[5]*x[4]*z[0]+2.0*y
-[0]*x[7]*z[3]*z[3]+2.0*y[2]*x[0]*z[3]*z[3]-x[2]*y[1]*z[3]*z[3]-y[0]*x[3]*z[4]*z
-[4];
+       [7]+z[3]*y[1]*x[0]*z[2]-z[4]*y[0]*x[3]*z[7]-z[4]*x[1]*y[5]*z[0]-z[4]*y[1]*x[0]*
+       z[5]+2.0*z[4]*z[0]*x[7]*y[4]+z[4]*z[0]*x[3]*y[7]+2.0*z[4]*y[5]*x[4]*z[0]+2.0*y
+       [0]*x[7]*z[3]*z[3]+2.0*y[2]*x[0]*z[3]*z[3]-x[2]*y[1]*z[3]*z[3]-y[0]*x[3]*z[4]*z
+       [4];
   s7 = s8-y[1]*x[0]*z[4]*z[4]+x[1]*y[0]*z[4]*z[4]+2.0*x[0]*y[7]*z[4]*z[4]+
-2.0*x[5]*y[0]*z[4]*z[4]-2.0*y[5]*x[0]*z[4]*z[4]+2.0*z[1]*z[1]*x[2]*y[0]-2.0*z
-[1]*z[1]*x[0]*y[2]+z[1]*z[1]*x[0]*y[4]-z[1]*z[1]*x[0]*y[3]-z[1]*z[1]*x[4]*y[0]+
-2.0*z[1]*z[1]*x[0]*y[5]-2.0*z[1]*z[1]*x[5]*y[0]+x[2]*y[3]*z[1]*z[1]-x[5]*y[4]*z
-[0]*z[0]-z[0]*z[0]*x[7]*y[3];
+       2.0*x[5]*y[0]*z[4]*z[4]-2.0*y[5]*x[0]*z[4]*z[4]+2.0*z[1]*z[1]*x[2]*y[0]-2.0*z
+       [1]*z[1]*x[0]*y[2]+z[1]*z[1]*x[0]*y[4]-z[1]*z[1]*x[0]*y[3]-z[1]*z[1]*x[4]*y[0]+
+       2.0*z[1]*z[1]*x[0]*y[5]-2.0*z[1]*z[1]*x[5]*y[0]+x[2]*y[3]*z[1]*z[1]-x[5]*y[4]*z
+       [0]*z[0]-z[0]*z[0]*x[7]*y[3];
   s8 = s7+x[7]*y[4]*z[3]*z[3]-x[4]*y[7]*z[3]*z[3]+y[2]*x[1]*z[3]*z[3]+x[0]*
-y[3]*z[4]*z[4]-2.0*y[0]*x[7]*z[4]*z[4]+x[3]*y[7]*z[4]*z[4]-x[7]*y[3]*z[4]*z[4]-
-y[5]*x[1]*z[4]*z[4]+x[5]*y[1]*z[4]*z[4]+z[1]*z[1]*x[3]*y[0]+y[5]*x[4]*z[1]*z[1]
--y[2]*x[3]*z[1]*z[1]-x[5]*y[4]*z[1]*z[1]-z[4]*x[0]*y[4]*z[3]-z[4]*z[0]*x[4]*y
-[3];
+       y[3]*z[4]*z[4]-2.0*y[0]*x[7]*z[4]*z[4]+x[3]*y[7]*z[4]*z[4]-x[7]*y[3]*z[4]*z[4]-
+       y[5]*x[1]*z[4]*z[4]+x[5]*y[1]*z[4]*z[4]+z[1]*z[1]*x[3]*y[0]+y[5]*x[4]*z[1]*z[1]
+       -y[2]*x[3]*z[1]*z[1]-x[5]*y[4]*z[1]*z[1]-z[4]*x[0]*y[4]*z[3]-z[4]*z[0]*x[4]*y
+       [3];
   s6 = s8-z[4]*z[1]*x[4]*y[0]-2.0*z[4]*z[0]*x[4]*y[7]+z[4]*y[1]*x[5]*z[0]
--2.0*z[5]*x[5]*y[4]*z[1]-z[4]*x[1]*y[4]*z[0]+z[4]*y[0]*x[4]*z[3]-2.0*z[4]*x[0]*
-y[4]*z[7]+z[4]*x[1]*y[0]*z[5]-2.0*z[1]*x[1]*y[2]*z[5]+z[4]*x[0]*y[3]*z[7]+2.0*z
-[5]*x[5]*y[1]*z[4]+z[4]*y[1]*x[4]*z[0]+z[1]*y[1]*x[0]*z[3]+z[1]*x[1]*y[3]*z[0]
--2.0*z[1]*x[1]*y[5]*z[0]-2.0*z[1]*x[1]*y[0]*z[2];
+       -2.0*z[5]*x[5]*y[4]*z[1]-z[4]*x[1]*y[4]*z[0]+z[4]*y[0]*x[4]*z[3]-2.0*z[4]*x[0]*
+       y[4]*z[7]+z[4]*x[1]*y[0]*z[5]-2.0*z[1]*x[1]*y[2]*z[5]+z[4]*x[0]*y[3]*z[7]+2.0*z
+       [5]*x[5]*y[1]*z[4]+z[4]*y[1]*x[4]*z[0]+z[1]*y[1]*x[0]*z[3]+z[1]*x[1]*y[3]*z[0]
+       -2.0*z[1]*x[1]*y[5]*z[0]-2.0*z[1]*x[1]*y[0]*z[2];
   s8 = s6-2.0*z[1]*y[1]*x[0]*z[5]-z[1]*y[1]*x[0]*z[4]+2.0*z[1]*y[1]*x[2]*z
-[5]-z[1]*y[1]*x[3]*z[0]-2.0*z[5]*y[5]*x[1]*z[4]+z[1]*y[5]*x[4]*z[0]+z[1]*x[1]*y
-[0]*z[4]+2.0*z[1]*x[1]*y[2]*z[0]-z[1]*z[2]*x[0]*y[3]+2.0*z[1]*y[1]*x[5]*z[0]-z
-[1]*x[1]*y[0]*z[3]-z[1]*x[1]*y[4]*z[0]+2.0*z[1]*x[1]*y[0]*z[5]-z[1]*y[2]*x[3]*z
-[0];
+       [5]-z[1]*y[1]*x[3]*z[0]-2.0*z[5]*y[5]*x[1]*z[4]+z[1]*y[5]*x[4]*z[0]+z[1]*x[1]*y
+       [0]*z[4]+2.0*z[1]*x[1]*y[2]*z[0]-z[1]*z[2]*x[0]*y[3]+2.0*z[1]*y[1]*x[5]*z[0]-z
+       [1]*x[1]*y[0]*z[3]-z[1]*x[1]*y[4]*z[0]+2.0*z[1]*x[1]*y[0]*z[5]-z[1]*y[2]*x[3]*z
+       [0];
   s7 = s8+z[1]*z[2]*x[3]*y[0]-z[1]*x[2]*y[1]*z[3]+z[1]*y[1]*x[4]*z[0]+2.0*z
-[1]*y[1]*x[0]*z[2]+2.0*z[0]*z[1]*x[3]*y[0]+2.0*z[0]*x[0]*y[3]*z[4]+z[0]*z[5]*x
-[0]*y[4]+z[0]*y[0]*x[4]*z[7]-z[0]*y[0]*x[7]*z[4]-z[0]*x[7]*y[3]*z[4]-z[0]*z[5]*
-x[4]*y[0]-z[0]*x[5]*y[4]*z[1]+z[3]*z[1]*x[3]*y[0]+z[3]*x[0]*y[3]*z[4]+z[3]*z[0]
-*x[3]*y[4]+z[3]*y[0]*x[4]*z[7];
+       [1]*y[1]*x[0]*z[2]+2.0*z[0]*z[1]*x[3]*y[0]+2.0*z[0]*x[0]*y[3]*z[4]+z[0]*z[5]*x
+       [0]*y[4]+z[0]*y[0]*x[4]*z[7]-z[0]*y[0]*x[7]*z[4]-z[0]*x[7]*y[3]*z[4]-z[0]*z[5]*
+       x[4]*y[0]-z[0]*x[5]*y[4]*z[1]+z[3]*z[1]*x[3]*y[0]+z[3]*x[0]*y[3]*z[4]+z[3]*z[0]
+       *x[3]*y[4]+z[3]*y[0]*x[4]*z[7];
   s8 = s7+z[3]*x[3]*y[7]*z[4]-z[3]*x[7]*y[3]*z[4]-z[3]*x[3]*y[4]*z[7]+z[3]*
-x[4]*y[3]*z[7]-z[3]*y[2]*x[3]*z[1]+z[3]*z[2]*x[3]*y[1]-z[3]*z[2]*x[1]*y[3]-2.0*
-z[3]*z[0]*x[7]*y[3]+z[4]*z[0]*x[3]*y[4]+2.0*z[4]*z[5]*x[0]*y[4]+2.0*z[4]*y[0]*x
-[4]*z[7]-2.0*z[4]*x[5]*y[4]*z[0]+z[4]*y[5]*x[4]*z[1]+z[4]*x[7]*y[4]*z[3]-z[4]*x
-[4]*y[7]*z[3];
+       x[4]*y[3]*z[7]-z[3]*y[2]*x[3]*z[1]+z[3]*z[2]*x[3]*y[1]-z[3]*z[2]*x[1]*y[3]-2.0*
+       z[3]*z[0]*x[7]*y[3]+z[4]*z[0]*x[3]*y[4]+2.0*z[4]*z[5]*x[0]*y[4]+2.0*z[4]*y[0]*x
+       [4]*z[7]-2.0*z[4]*x[5]*y[4]*z[0]+z[4]*y[5]*x[4]*z[1]+z[4]*x[7]*y[4]*z[3]-z[4]*x
+       [4]*y[7]*z[3];
   s3 = s8-z[4]*x[3]*y[4]*z[7]+z[4]*x[4]*y[3]*z[7]-2.0*z[4]*z[5]*x[4]*y[0]-z
-[4]*x[5]*y[4]*z[1]+z[4]*z[5]*x[1]*y[4]-z[4]*z[5]*x[4]*y[1]-2.0*z[1]*y[1]*x[2]*z
-[0]+z[1]*z[5]*x[0]*y[4]-z[1]*z[5]*x[4]*y[0]-z[1]*y[5]*x[1]*z[4]+z[1]*x[5]*y[1]*
-z[4]+z[1]*z[5]*x[1]*y[4]-z[1]*z[5]*x[4]*y[1]+z[1]*z[2]*x[3]*y[1]-z[1]*z[2]*x[1]
-*y[3]+z[1]*y[2]*x[1]*z[3];
+       [4]*x[5]*y[4]*z[1]+z[4]*z[5]*x[1]*y[4]-z[4]*z[5]*x[4]*y[1]-2.0*z[1]*y[1]*x[2]*z
+       [0]+z[1]*z[5]*x[0]*y[4]-z[1]*z[5]*x[4]*y[0]-z[1]*y[5]*x[1]*z[4]+z[1]*x[5]*y[1]*
+       z[4]+z[1]*z[5]*x[1]*y[4]-z[1]*z[5]*x[4]*y[1]+z[1]*z[2]*x[3]*y[1]-z[1]*z[2]*x[1]
+       *y[3]+z[1]*y[2]*x[1]*z[3];
   s8 = y[1]*x[0]*z[3]+x[1]*y[3]*z[0]-y[0]*x[3]*z[7]-x[1]*y[5]*z[0]-y[0]*x
-[3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]*
-z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5]
-+x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7];
+       [3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]*
+       z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5]
+       +x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7];
   s7 = s8-z[1]*x[2]*y[5]-y[1]*x[3]*z[0]-x[0]*y[7]*z[3]-z[1]*x[0]*y[3]+y[5]*
-x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3]
-*y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z
-[0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3];
+       x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3]
+       *y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z
+       [0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3];
   s8 = x[5]*y[0]*z[4]+z[1]*x[0]*y[5]-x[2]*y[0]*z[3]-z[1]*x[5]*y[0]+y[1]*x
-[5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]*
-z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3]
--y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3];
+       [5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]*
+       z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3]
+       -y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3];
   s6 = s8+y[2]*x[3]*z[7]-y[2]*x[3]*z[0]-x[6]*y[5]*z[2]-y[5]*x[0]*z[4]+z[2]*
-x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0]
-*z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z
-[6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7;
+       x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0]
+       *z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z
+       [6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7;
   s8 = x[5]*y[4]*z[7]+s6+y[5]*x[6]*z[4]-y[5]*x[4]*z[6]+z[6]*x[5]*y[7]-x[6]*
-y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7]
-*z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z
-[5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5];
+       y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7]
+       *z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z
+       [5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5];
   s7 = s8-x[5]*y[2]*z[6]-z[6]*x[7]*y[5]-z[5]*x[7]*y[4]+z[5]*x[0]*y[4]-y[5]*
-x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7]
-*z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z
-[4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7];
+       x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7]
+       *z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z
+       [4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7];
   s8 = -x[3]*y[4]*z[7]+x[4]*y[3]*z[7]-z[6]*x[7]*y[4]-z[1]*x[6]*y[5]+x[6]*y
-[7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]*
-z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7]
-+x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1];
+       [7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]*
+       z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7]
+       +x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1];
   s5 = s8+x[5]*y[4]*z[6]+z[5]*x[1]*y[4]+y[1]*x[6]*z[5]-z[6]*x[3]*y[7]+z[6]*
-x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6]
-*z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y
-[6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7;
+       x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6]
+       *z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y
+       [6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7;
   s4 = 1/s5;
   s2 = s3*s4;
   const double unknown2 = s1*s2;
@@ -1474,46 +1474,46 @@ double TriaObjectAccessor<3, 3>::measure () const
   double s1, s2, s3;
   
   s3 = -x[2]*y[7]*z[3]/12.0+x[1]*y[4]*z[0]/12.0-x[0]*y[3]*z[7]/12.0-z[1]*x
-[2]*y[0]/12.0+x[5]*y[4]*z[0]/12.0+x[1]*y[5]*z[0]/12.0-x[1]*y[2]*z[0]/12.0-y[2]*
-x[3]*z[7]/12.0-x[1]*y[0]*z[4]/12.0-y[1]*x[0]*z[2]/12.0-y[0]*x[7]*z[3]/12.0+y[5]
-*x[4]*z[7]/12.0-x[0]*y[3]*z[4]/12.0-y[1]*x[0]*z[3]/12.0-z[0]*x[7]*y[4]/12.0+x
-[1]*y[0]*z[3]/12.0-x[2]*y[3]*z[0]/12.0-y[1]*x[2]*z[5]/12.0;
+       [2]*y[0]/12.0+x[5]*y[4]*z[0]/12.0+x[1]*y[5]*z[0]/12.0-x[1]*y[2]*z[0]/12.0-y[2]*
+       x[3]*z[7]/12.0-x[1]*y[0]*z[4]/12.0-y[1]*x[0]*z[2]/12.0-y[0]*x[7]*z[3]/12.0+y[5]
+       *x[4]*z[7]/12.0-x[0]*y[3]*z[4]/12.0-y[1]*x[0]*z[3]/12.0-z[0]*x[7]*y[4]/12.0+x
+       [1]*y[0]*z[3]/12.0-x[2]*y[3]*z[0]/12.0-y[1]*x[2]*z[5]/12.0;
   s2 = s3+y[0]*x[3]*z[4]/12.0+y[1]*x[2]*z[0]/12.0+y[2]*x[7]*z[3]/12.0+z[1]*
-x[4]*y[0]/12.0-y[5]*x[4]*z[0]/12.0-y[1]*x[5]*z[0]/12.0+x[5]*y[7]*z[4]/12.0+y[1]
-*x[3]*z[0]/12.0+x[0]*y[4]*z[7]/12.0+z[0]*x[7]*y[3]/12.0-z[2]*x[3]*y[0]/12.0+y
-[1]*x[0]*z[5]/12.0-x[1]*y[5]*z[2]/12.0+y[1]*x[0]*z[4]/12.0+z[1]*x[2]*y[5]/12.0-
-x[5]*y[0]*z[4]/12.0+y[2]*x[3]*z[1]/12.0+x[1]*y[0]*z[2]/12.0;
+       x[4]*y[0]/12.0-y[5]*x[4]*z[0]/12.0-y[1]*x[5]*z[0]/12.0+x[5]*y[7]*z[4]/12.0+y[1]
+       *x[3]*z[0]/12.0+x[0]*y[4]*z[7]/12.0+z[0]*x[7]*y[3]/12.0-z[2]*x[3]*y[0]/12.0+y
+       [1]*x[0]*z[5]/12.0-x[1]*y[5]*z[2]/12.0+y[1]*x[0]*z[4]/12.0+z[1]*x[2]*y[5]/12.0-
+       x[5]*y[0]*z[4]/12.0+y[2]*x[3]*z[1]/12.0+x[1]*y[0]*z[2]/12.0;
   s3 = -z[1]*x[0]*y[4]/12.0+z[1]*x[0]*y[2]/12.0-x[0]*y[7]*z[4]/12.0+z[0]*x
-[4]*y[7]/12.0+x[2]*y[3]*z[7]/12.0+y[2]*x[6]*z[3]/12.0+y[1]*x[6]*z[2]/12.0-y[2]*
-x[1]*z[3]/12.0+x[1]*y[2]*z[5]/12.0+y[0]*x[3]*z[7]/12.0+y[2]*x[3]*z[0]/12.0-y[0]
-*x[4]*z[3]/12.0-y[2]*x[0]*z[3]/12.0-y[1]*x[4]*z[0]/12.0+z[1]*x[5]*y[0]/12.0+x
-[1]*y[2]*z[6]/12.0-x[1]*y[0]*z[5]/12.0-x[2]*y[3]*z[1]/12.0;
+       [4]*y[7]/12.0+x[2]*y[3]*z[7]/12.0+y[2]*x[6]*z[3]/12.0+y[1]*x[6]*z[2]/12.0-y[2]*
+       x[1]*z[3]/12.0+x[1]*y[2]*z[5]/12.0+y[0]*x[3]*z[7]/12.0+y[2]*x[3]*z[0]/12.0-y[0]
+       *x[4]*z[3]/12.0-y[2]*x[0]*z[3]/12.0-y[1]*x[4]*z[0]/12.0+z[1]*x[5]*y[0]/12.0+x
+       [1]*y[2]*z[6]/12.0-x[1]*y[0]*z[5]/12.0-x[2]*y[3]*z[1]/12.0;
   s1 = s3-z[0]*x[3]*y[4]/12.0+z[1]*x[0]*y[3]/12.0-z[1]*x[5]*y[2]/12.0+z[1]*
-x[2]*y[6]/12.0-z[2]*x[3]*y[1]/12.0+z[2]*x[3]*y[6]/12.0+x[2]*y[1]*z[3]/12.0-z[1]
-*x[3]*y[0]/12.0+x[2]*y[3]*z[6]/12.0-z[0]*x[3]*y[7]/12.0+y[5]*x[0]*z[4]/12.0-z
-[1]*x[6]*y[2]/12.0-z[2]*x[6]*y[3]/12.0+z[2]*x[0]*y[3]/12.0+z[2]*x[3]*y[7]/12.0+
-z[2]*x[1]*y[3]/12.0+y[1]*x[5]*z[2]/12.0-z[2]*x[7]*y[3]/12.0+s2;
+       x[2]*y[6]/12.0-z[2]*x[3]*y[1]/12.0+z[2]*x[3]*y[6]/12.0+x[2]*y[1]*z[3]/12.0-z[1]
+       *x[3]*y[0]/12.0+x[2]*y[3]*z[6]/12.0-z[0]*x[3]*y[7]/12.0+y[5]*x[0]*z[4]/12.0-z
+       [1]*x[6]*y[2]/12.0-z[2]*x[6]*y[3]/12.0+z[2]*x[0]*y[3]/12.0+z[2]*x[3]*y[7]/12.0+
+       z[2]*x[1]*y[3]/12.0+y[1]*x[5]*z[2]/12.0-z[2]*x[7]*y[3]/12.0+s2;
   s3 = x[0]*y[7]*z[3]/12.0-z[1]*x[0]*y[5]/12.0-x[1]*y[3]*z[0]/12.0-x[1]*y
-[6]*z[2]/12.0-x[2]*y[6]*z[3]/12.0-x[5]*y[4]*z[7]/12.0+z[0]*x[4]*y[3]/12.0+x[0]*
-y[4]*z[3]/12.0-x[6]*y[5]*z[7]/12.0-x[6]*y[7]*z[2]/12.0+z[1]*x[6]*y[5]/12.0+y[6]
-*x[4]*z[7]/12.0+y[1]*x[5]*z[6]/12.0+x[1]*y[6]*z[5]/12.0-y[5]*x[7]*z[4]/12.0+y
-[0]*x[7]*z[4]/12.0-y[0]*x[4]*z[7]/12.0-z[5]*x[0]*y[4]/12.0;
+       [6]*z[2]/12.0-x[2]*y[6]*z[3]/12.0-x[5]*y[4]*z[7]/12.0+z[0]*x[4]*y[3]/12.0+x[0]*
+       y[4]*z[3]/12.0-x[6]*y[5]*z[7]/12.0-x[6]*y[7]*z[2]/12.0+z[1]*x[6]*y[5]/12.0+y[6]
+       *x[4]*z[7]/12.0+y[1]*x[5]*z[6]/12.0+x[1]*y[6]*z[5]/12.0-y[5]*x[7]*z[4]/12.0+y
+       [0]*x[7]*z[4]/12.0-y[0]*x[4]*z[7]/12.0-z[5]*x[0]*y[4]/12.0;
   s2 = s3+z[6]*x[3]*y[7]/12.0+z[6]*x[7]*y[4]/12.0-z[6]*x[4]*y[7]/12.0-z[6]*
-x[7]*y[3]/12.0+y[6]*x[5]*z[7]/12.0-y[6]*x[7]*z[5]/12.0-x[2]*y[5]*z[6]/12.0+z[6]
-*x[2]*y[7]/12.0+z[6]*x[7]*y[5]/12.0-z[6]*x[5]*y[7]/12.0-z[6]*x[7]*y[2]/12.0+x
-[6]*y[7]*z[5]/12.0+z[5]*x[7]*y[4]/12.0-z[5]*x[4]*y[7]/12.0+y[5]*x[1]*z[4]/12.0-
-y[5]*x[6]*z[4]/12.0-y[5]*x[4]*z[1]/12.0+y[5]*x[4]*z[6]/12.0;
+       x[7]*y[3]/12.0+y[6]*x[5]*z[7]/12.0-y[6]*x[7]*z[5]/12.0-x[2]*y[5]*z[6]/12.0+z[6]
+       *x[2]*y[7]/12.0+z[6]*x[7]*y[5]/12.0-z[6]*x[5]*y[7]/12.0-z[6]*x[7]*y[2]/12.0+x
+       [6]*y[7]*z[5]/12.0+z[5]*x[7]*y[4]/12.0-z[5]*x[4]*y[7]/12.0+y[5]*x[1]*z[4]/12.0-
+       y[5]*x[6]*z[4]/12.0-y[5]*x[4]*z[1]/12.0+y[5]*x[4]*z[6]/12.0;
   s3 = y[6]*x[7]*z[3]/12.0+x[6]*y[5]*z[2]/12.0-x[5]*y[6]*z[2]/12.0-x[6]*y
-[2]*z[5]/12.0+x[5]*y[2]*z[6]/12.0+x[6]*y[2]*z[7]/12.0+z[5]*x[4]*y[0]/12.0-y[6]*
-x[2]*z[7]/12.0+x[2]*y[6]*z[5]/12.0+y[6]*x[7]*z[2]/12.0-y[6]*x[3]*z[7]/12.0-x[7]
-*y[4]*z[3]/12.0-x[6]*y[4]*z[7]/12.0-x[5]*y[1]*z[4]/12.0+x[6]*y[7]*z[4]/12.0+x
-[7]*y[3]*z[4]/12.0-z[1]*x[5]*y[6]/12.0+x[3]*y[4]*z[7]/12.0+x[5]*y[6]*z[4]/12.0;
+       [2]*z[5]/12.0+x[5]*y[2]*z[6]/12.0+x[6]*y[2]*z[7]/12.0+z[5]*x[4]*y[0]/12.0-y[6]*
+       x[2]*z[7]/12.0+x[2]*y[6]*z[5]/12.0+y[6]*x[7]*z[2]/12.0-y[6]*x[3]*z[7]/12.0-x[7]
+       *y[4]*z[3]/12.0-x[6]*y[4]*z[7]/12.0-x[5]*y[1]*z[4]/12.0+x[6]*y[7]*z[4]/12.0+x
+       [7]*y[3]*z[4]/12.0-z[1]*x[5]*y[6]/12.0+x[3]*y[4]*z[7]/12.0+x[5]*y[6]*z[4]/12.0;
   
   return s3+x[5]*y[4]*z[1]/12.0-x[5]*y[4]*z[6]/12.0-x[3]*y[7]*z[4]/12.0+x[6]*
-y[3]*z[7]/12.0-y[1]*x[6]*z[5]/12.0-z[5]*x[1]*y[4]/12.0+z[5]*x[6]*y[4]/12.0+z[5]
-*x[4]*y[1]/12.0-z[5]*x[4]*y[6]/12.0-x[6]*y[7]*z[3]/12.0-x[4]*y[3]*z[7]/12.0+x
-[4]*y[7]*z[3]/12.0-x[1]*y[5]*z[6]/12.0-y[6]*x[7]*z[4]/12.0-y[1]*x[2]*z[6]/12.0-
-y[2]*x[3]*z[6]/12.0+s2+s1+x[2]*y[0]*z[3]/12.0;
+    y[3]*z[7]/12.0-y[1]*x[6]*z[5]/12.0-z[5]*x[1]*y[4]/12.0+z[5]*x[6]*y[4]/12.0+z[5]
+    *x[4]*y[1]/12.0-z[5]*x[4]*y[6]/12.0-x[6]*y[7]*z[3]/12.0-x[4]*y[3]*z[7]/12.0+x
+    [4]*y[7]*z[3]/12.0-x[1]*y[5]*z[6]/12.0-y[6]*x[7]*z[4]/12.0-y[1]*x[2]*z[6]/12.0-
+    y[2]*x[3]*z[6]/12.0+s2+s1+x[2]*y[0]*z[3]/12.0;
 };
 
 #endif
index 8fa2eff1cfc97b28d49bbd38ae62d2401f3cc1f7..ca112d6c50f30a1cc3a494b7e023a928aac6609c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 67eff897c54f62a4a872ee87485c4c7506227a17..f47b9990ac5c58edb5ff6b5f5abdd8caa8379188 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 516e607d2ac176601f5b041ffd8d6270b8bbdaa4..8b50079c181b7ff9acca517c896a054a4d172454 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index c2a31faeb013c56d2c58ec48d96d9a34f9610819..634acfc8a521a9cf3218417eb9e25a90c48d9d91 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -104,7 +104,7 @@ void MGDoFObjectAccessor<1, dim>::set_mg_vertex_dof_index (const unsigned int ve
 
 template <int dim>
 void
-MGDoFObjectAccessor<1, dim>::get_mg_dof_indices (vector<unsigned int> &dof_indices) const
+MGDoFObjectAccessor<1, dim>::get_mg_dof_indices (std::vector<unsigned int> &dof_indices) const
 {
   Assert (dof_handler != 0, DoFAccessor<dim>::ExcInvalidObject());
   Assert (mg_dof_handler != 0, DoFAccessor<dim>::ExcInvalidObject());
@@ -115,7 +115,7 @@ MGDoFObjectAccessor<1, dim>::get_mg_dof_indices (vector<unsigned int> &dof_indic
 
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line;
-  vector<unsigned int>::iterator next = dof_indices.begin();
+  std::vector<unsigned int>::iterator next = dof_indices.begin();
   for (unsigned int vertex=0; vertex<2; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next++ = mg_vertex_dof_index(vertex,d);
@@ -143,7 +143,7 @@ MGDoFObjectAccessor<1,dim>::get_mg_dof_values (const Vector<number> &values,
 
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line;
-  typename vector<number>::iterator next_dof_value=dof_values.begin();
+  typename Vector<number>::iterator next_dof_value=dof_values.begin();
   for (unsigned int vertex=0; vertex<2; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next_dof_value++ = values(mg_vertex_dof_index(vertex,d));
@@ -263,7 +263,7 @@ void MGDoFObjectAccessor<2, dim>::set_mg_vertex_dof_index (const unsigned int ve
 
 template <int dim>
 void
-MGDoFObjectAccessor<2, dim>::get_mg_dof_indices (vector<unsigned int> &dof_indices) const
+MGDoFObjectAccessor<2, dim>::get_mg_dof_indices (std::vector<unsigned int> &dof_indices) const
 {
   Assert (dof_handler != 0, DoFAccessor<dim>::ExcInvalidObject());
   Assert (mg_dof_handler != 0, DoFAccessor<dim>::ExcInvalidObject());
@@ -276,7 +276,7 @@ MGDoFObjectAccessor<2, dim>::get_mg_dof_indices (vector<unsigned int> &dof_indic
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad;
-  vector<unsigned int>::iterator next = dof_indices.begin();
+  std::vector<unsigned int>::iterator next = dof_indices.begin();
   for (unsigned int vertex=0; vertex<4; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next++ = mg_vertex_dof_index(vertex,d);
@@ -308,7 +308,7 @@ MGDoFObjectAccessor<2,dim>::get_mg_dof_values (const Vector<number> &values,
   const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad;
-  typename vector<number>::iterator next_dof_value=dof_values.begin();
+  typename Vector<number>::iterator next_dof_value=dof_values.begin();
   for (unsigned int vertex=0; vertex<4; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next_dof_value++ = values(mg_vertex_dof_index(vertex,d));
@@ -447,7 +447,7 @@ void MGDoFObjectAccessor<3, dim>::set_mg_vertex_dof_index (const unsigned int ve
 
 template <int dim>
 void
-MGDoFObjectAccessor<3, dim>::get_mg_dof_indices (vector<unsigned int> &dof_indices) const
+MGDoFObjectAccessor<3, dim>::get_mg_dof_indices (std::vector<unsigned int> &dof_indices) const
 {
   Assert (dof_handler != 0, DoFAccessor<dim>::ExcInvalidObject());
   Assert (mg_dof_handler != 0, DoFAccessor<dim>::ExcInvalidObject());
@@ -462,7 +462,7 @@ MGDoFObjectAccessor<3, dim>::get_mg_dof_indices (vector<unsigned int> &dof_indic
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad,
                     dofs_per_hex    = dof_handler->get_fe().dofs_per_hex;
-  vector<unsigned int>::iterator next = dof_indices.begin();
+  std::vector<unsigned int>::iterator next = dof_indices.begin();
   for (unsigned int vertex=0; vertex<8; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next++ = mg_vertex_dof_index(vertex,d);
@@ -498,7 +498,7 @@ MGDoFObjectAccessor<3,dim>::get_mg_dof_values (const Vector<number> &values,
                     dofs_per_line   = dof_handler->get_fe().dofs_per_line,
                     dofs_per_quad   = dof_handler->get_fe().dofs_per_quad,
                     dofs_per_hex    = dof_handler->get_fe().dofs_per_hex;
-  typename vector<number>::iterator next_dof_value=dof_values.begin();
+  typename Vector<number>::iterator next_dof_value=dof_values.begin();
   for (unsigned int vertex=0; vertex<8; ++vertex)
     for (unsigned int d=0; d<dofs_per_vertex; ++d)
       *next_dof_value++ = values(mg_vertex_dof_index(vertex,d));
index 5f5b4cf75a0b406bf1fcd5bf915bd8edf6110ebf..de7420b2f480f59f2563bd28ba953e3250b4a0ac 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -1381,7 +1381,7 @@ unsigned int MGDoFHandler<dim>::n_dofs (const unsigned int level) const {
 
 template <>
 void MGDoFHandler<1>::renumber_dofs (const unsigned int level,
-                                    const vector<unsigned int> &new_numbers) {
+                                    const std::vector<unsigned int> &new_numbers) {
   Assert (new_numbers.size() == n_dofs(level), ExcRenumberingIncomplete());
   
                                   // note that we can not use cell iterators
@@ -1390,7 +1390,7 @@ void MGDoFHandler<1>::renumber_dofs (const unsigned int level,
                                   // two cells more than once. Anyway, this
                                   // ways it's not only more correct but also
                                   // faster
-  for (vector<MGVertexDoFs>::iterator i=mg_vertex_dofs.begin();
+  for (std::vector<MGVertexDoFs>::iterator i=mg_vertex_dofs.begin();
        i!=mg_vertex_dofs.end(); ++i)
                                     // if the present vertex lives on
                                     // the present level
@@ -1401,7 +1401,7 @@ void MGDoFHandler<1>::renumber_dofs (const unsigned int level,
                      new_numbers[i->get_index (level, d,
                                                selected_fe->dofs_per_vertex)]);
 
-  for (vector<unsigned int>::iterator i=mg_levels[level]->line_dofs.begin();
+  for (std::vector<unsigned int>::iterator i=mg_levels[level]->line_dofs.begin();
        i!=mg_levels[level]->line_dofs.end(); ++i) 
     {
       Assert (*i != DoFHandler<1>::invalid_dof_index, ExcInternalError());
@@ -1416,10 +1416,10 @@ void MGDoFHandler<1>::renumber_dofs (const unsigned int level,
 
 template <>
 void MGDoFHandler<2>::renumber_dofs (const unsigned int  level,
-                                    const vector<unsigned int>  &new_numbers) {
+                                    const std::vector<unsigned int>  &new_numbers) {
   Assert (new_numbers.size() == n_dofs(level), ExcRenumberingIncomplete());
   
-  for (vector<MGVertexDoFs>::iterator i=mg_vertex_dofs.begin();
+  for (std::vector<MGVertexDoFs>::iterator i=mg_vertex_dofs.begin();
        i!=mg_vertex_dofs.end(); ++i)
                                     // if the present vertex lives on
                                     // the present level
@@ -1430,14 +1430,14 @@ void MGDoFHandler<2>::renumber_dofs (const unsigned int  level,
                      new_numbers[i->get_index (level, d,
                                                selected_fe->dofs_per_vertex)]);
   
-  for (vector<unsigned int>::iterator i=mg_levels[level]->line_dofs.begin();
+  for (std::vector<unsigned int>::iterator i=mg_levels[level]->line_dofs.begin();
        i!=mg_levels[level]->line_dofs.end(); ++i)
     {
       Assert (*i != DoFHandler<2>::invalid_dof_index, ExcInternalError());
       *i = new_numbers[*i];
     };
 
-  for (vector<unsigned int>::iterator i=mg_levels[level]->quad_dofs.begin();
+  for (std::vector<unsigned int>::iterator i=mg_levels[level]->quad_dofs.begin();
        i!=mg_levels[level]->quad_dofs.end(); ++i)
     {
       Assert (*i != DoFHandler<2>::invalid_dof_index, ExcInternalError());
@@ -1452,10 +1452,10 @@ void MGDoFHandler<2>::renumber_dofs (const unsigned int  level,
 
 template <>
 void MGDoFHandler<3>::renumber_dofs (const unsigned int  level,
-                                    const vector<unsigned int>  &new_numbers) {
+                                    const std::vector<unsigned int>  &new_numbers) {
   Assert (new_numbers.size() == n_dofs(level), ExcRenumberingIncomplete());
   
-  for (vector<MGVertexDoFs>::iterator i=mg_vertex_dofs.begin();
+  for (std::vector<MGVertexDoFs>::iterator i=mg_vertex_dofs.begin();
        i!=mg_vertex_dofs.end(); ++i)
                                     // if the present vertex lives on
                                     // the present level
@@ -1466,21 +1466,21 @@ void MGDoFHandler<3>::renumber_dofs (const unsigned int  level,
                      new_numbers[i->get_index (level, d,
                                                selected_fe->dofs_per_vertex)]);
   
-  for (vector<unsigned int>::iterator i=mg_levels[level]->line_dofs.begin();
+  for (std::vector<unsigned int>::iterator i=mg_levels[level]->line_dofs.begin();
        i!=mg_levels[level]->line_dofs.end(); ++i)
     {
       Assert (*i != DoFHandler<3>::invalid_dof_index, ExcInternalError());
       *i = new_numbers[*i];
     };
 
-  for (vector<unsigned int>::iterator i=mg_levels[level]->quad_dofs.begin();
+  for (std::vector<unsigned int>::iterator i=mg_levels[level]->quad_dofs.begin();
        i!=mg_levels[level]->quad_dofs.end(); ++i)
     {
       Assert (*i != DoFHandler<3>::invalid_dof_index, ExcInternalError());
       *i = new_numbers[*i];
     };
 
-  for (vector<unsigned int>::iterator i=mg_levels[level]->hex_dofs.begin();
+  for (std::vector<unsigned int>::iterator i=mg_levels[level]->hex_dofs.begin();
        i!=mg_levels[level]->hex_dofs.end(); ++i)
     {
       Assert (*i != DoFHandler<3>::invalid_dof_index, ExcInternalError());
@@ -1525,7 +1525,7 @@ void MGDoFHandler<1>::reserve_space () {
     {
       mg_levels.push_back (new DoFLevel<1>);
 
-      mg_levels.back()->line_dofs = vector<unsigned int>(tria->levels[i]->lines.lines.size() *
+      mg_levels.back()->line_dofs = std::vector<unsigned int>(tria->levels[i]->lines.lines.size() *
                                                         selected_fe->dofs_per_line,
                                                         DoFHandler<1>::invalid_dof_index);
     };
@@ -1544,8 +1544,8 @@ void MGDoFHandler<1>::reserve_space () {
                                   // vertex we pass by  belongs to
   mg_vertex_dofs.resize (tria->vertices.size());
 
-  vector<unsigned int> min_level (tria->vertices.size(), tria->n_levels());
-  vector<unsigned int> max_level (tria->vertices.size(), 0);
+  std::vector<unsigned int> min_level (tria->vertices.size(), tria->n_levels());
+  std::vector<unsigned int> max_level (tria->vertices.size(), 0);
 
   Triangulation<dim>::cell_iterator cell = tria->begin(),
                                    endc = tria->end();
@@ -1611,10 +1611,10 @@ void MGDoFHandler<2>::reserve_space () {
     {
       mg_levels.push_back (new DoFLevel<2>);
 
-      mg_levels.back()->line_dofs = vector<unsigned int> (tria->levels[i]->lines.lines.size() *
+      mg_levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
                                                          selected_fe->dofs_per_line,
                                                          DoFHandler<2>::invalid_dof_index);
-      mg_levels.back()->quad_dofs = vector<unsigned int> (tria->levels[i]->quads.quads.size() *
+      mg_levels.back()->quad_dofs = std::vector<unsigned int> (tria->levels[i]->quads.quads.size() *
                                                          selected_fe->dofs_per_quad,
                                                          DoFHandler<2>::invalid_dof_index);
     };
@@ -1634,8 +1634,8 @@ void MGDoFHandler<2>::reserve_space () {
                                   // vertex we pass by  belongs to
   mg_vertex_dofs.resize (tria->vertices.size());
 
-  vector<unsigned int> min_level (tria->vertices.size(), tria->n_levels());
-  vector<unsigned int> max_level (tria->vertices.size(), 0);
+  std::vector<unsigned int> min_level (tria->vertices.size(), tria->n_levels());
+  std::vector<unsigned int> max_level (tria->vertices.size(), 0);
 
   Triangulation<dim>::cell_iterator cell = tria->begin(),
                                    endc = tria->end();
@@ -1702,13 +1702,13 @@ void MGDoFHandler<3>::reserve_space () {
     {
       mg_levels.push_back (new DoFLevel<3>);
 
-      mg_levels.back()->line_dofs = vector<unsigned int> (tria->levels[i]->lines.lines.size() *
+      mg_levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
                                                          selected_fe->dofs_per_line,
                                                          DoFHandler<3>::invalid_dof_index);
-      mg_levels.back()->quad_dofs = vector<unsigned int> (tria->levels[i]->quads.quads.size() *
+      mg_levels.back()->quad_dofs = std::vector<unsigned int> (tria->levels[i]->quads.quads.size() *
                                                          selected_fe->dofs_per_quad,
                                                          DoFHandler<3>::invalid_dof_index);
-      mg_levels.back()->hex_dofs = vector<unsigned int> (tria->levels[i]->hexes.hexes.size() *
+      mg_levels.back()->hex_dofs = std::vector<unsigned int> (tria->levels[i]->hexes.hexes.size() *
                                                         selected_fe->dofs_per_hex,
                                                         DoFHandler<3>::invalid_dof_index);
     };
@@ -1728,8 +1728,8 @@ void MGDoFHandler<3>::reserve_space () {
                                   // vertex we pass by  belongs to
   mg_vertex_dofs.resize (tria->vertices.size());
 
-  vector<unsigned int> min_level (tria->vertices.size(), tria->n_levels());
-  vector<unsigned int> max_level (tria->vertices.size(), 0);
+  std::vector<unsigned int> min_level (tria->vertices.size(), tria->n_levels());
+  std::vector<unsigned int> max_level (tria->vertices.size(), 0);
 
   Triangulation<dim>::cell_iterator cell = tria->begin(),
                                    endc = tria->end();
index 0c1e34ccef9264827335c59e8f89cc0e541fef7d..b59f07bf57eba9d72a06649da35190cbf5c8dc67 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -34,7 +34,7 @@ void MGDoFTools::make_sparsity_pattern (const MGDoFHandler<dim> &dof,
          ExcDimensionMismatch (sparsity.n_cols(), n_dofs));
 
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
-  vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
+  std::vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
   MGDoFHandler<dim>::cell_iterator cell = dof.begin(level),
                                   endc = dof.end(level);
   for (; cell!=endc; ++cell) 
@@ -64,8 +64,8 @@ MGDoFTools::make_flux_sparsity_pattern (const MGDoFHandler<dim> &dof,
          ExcDimensionMismatch (sparsity.n_cols(), n_dofs));
 
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
-  vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
-  vector<unsigned int> dofs_on_other_cell(dofs_per_cell);
+  std::vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
+  std::vector<unsigned int> dofs_on_other_cell(dofs_per_cell);
   MGDoFHandler<dim>::cell_iterator cell = dof.begin(level),
                                   endc = dof.end(level);
   for (; cell!=endc; ++cell)
@@ -125,8 +125,8 @@ MGDoFTools::make_flux_sparsity_pattern_edge (const MGDoFHandler<dim> &dof,
          ExcDimensionMismatch (sparsity.n_cols(), fine_dofs));
 
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
-  vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
-  vector<unsigned int> dofs_on_other_cell(dofs_per_cell);
+  std::vector<unsigned int> dofs_on_this_cell(dofs_per_cell);
+  std::vector<unsigned int> dofs_on_other_cell(dofs_per_cell);
   MGDoFHandler<dim>::cell_iterator cell = dof.begin(level),
                                   endc = dof.end(level);
   for (; cell!=endc; ++cell)
@@ -187,16 +187,16 @@ MGDoFTools::make_flux_sparsity_pattern (const MGDoFHandler<dim> &dof,
          ExcDimensionMismatch (flux_mask.n(), n_comp));
   
   const unsigned int total_dofs = dof.get_fe().dofs_per_cell;
-  vector<unsigned int> dofs_on_this_cell(total_dofs);
-  vector<unsigned int> dofs_on_other_cell(total_dofs);
+  std::vector<unsigned int> dofs_on_this_cell(total_dofs);
+  std::vector<unsigned int> dofs_on_other_cell(total_dofs);
   MGDoFHandler<dim>::cell_iterator cell = dof.begin(level),
                                   endc = dof.end(level);
 
 
-  vector<vector<bool> > int_dof_mask(total_dofs,
-                                vector<bool>(total_dofs, false));
-  vector<vector<bool> > flux_dof_mask(total_dofs,
-                                vector<bool>(total_dofs, false));
+  std::vector<std::vector<bool> > int_dof_mask(total_dofs,
+                                std::vector<bool>(total_dofs, false));
+  std::vector<std::vector<bool> > flux_dof_mask(total_dofs,
+                                std::vector<bool>(total_dofs, false));
   for (unsigned int i=0; i<total_dofs; ++i)
     for (unsigned int j=0; j<total_dofs; ++j)
       {
index e8add60f5838f8becacc28cecdab2a3776bf2cbb..fdc9f3fe19df4fe7296764698a6829cacdcb87f5 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -72,11 +72,11 @@ MGSmoother::MGSmoother (const MGDoFHandler<dim> &mg_dof, unsigned int steps)
                                   // to much memory by later copying the
                                   // content of this vector to its final
                                   // destination
-  vector<unsigned int> boundary_dofs;
+  std::vector<unsigned int> boundary_dofs;
 
                                   // temporary to hold the dof indices
                                   // on a face between to levels
-  vector<unsigned int> dofs_on_face (mg_dof.get_fe().dofs_per_face);
+  std::vector<unsigned int> dofs_on_face (mg_dof.get_fe().dofs_per_face);
 
   for (unsigned int level=1; level<n_levels; ++level)
     {
@@ -127,7 +127,7 @@ MGSmoother::set_zero_interior_boundary (const unsigned int  level,
   if (level==0)
     return;
   else
-    for (vector<unsigned int>::const_iterator p=interior_boundary_dofs[level-1].begin();
+    for (std::vector<unsigned int>::const_iterator p=interior_boundary_dofs[level-1].begin();
         p!=interior_boundary_dofs[level-1].end(); ++p)
       u(*p) = 0;
 };
index 6a2e53df99c641b0d8696cee88fdab606abedcb3..be32a19fa508b975963303c482ffc322a1442991 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 652b36ad0d5bc2f1a35908f02a83ff6aeca4282c..140e4e0cafc051408fbe701a58af87aa7d3af499 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -35,7 +35,7 @@ Multigrid<dim>::Multigrid (const MGDoFHandler<dim>                       &mg_dof
                           const unsigned int                             maxlevel)
                :
                MGBase(transfer, minlevel,
-                      min(mg_dof_handler.get_tria().n_levels()-1,
+                      std::min(mg_dof_handler.get_tria().n_levels()-1,
                           maxlevel)),
                mg_dof_handler(&mg_dof_handler),
                level_sparsities(&level_sparsities),
@@ -76,8 +76,8 @@ void MGTransferPrebuilt::build_matrices (const MGDoFHandler<dim> &mg_dof)
 // two fields which will store the
                                   // indices of the multigrid dofs
                                   // for a cell and one of its children
-  vector<unsigned int> dof_indices_mother (dofs_per_cell);
-  vector<unsigned int> dof_indices_child (dofs_per_cell);
+  std::vector<unsigned int> dof_indices_mother (dofs_per_cell);
+  std::vector<unsigned int> dof_indices_child (dofs_per_cell);
   
                                   // for each level: first build the sparsity
                                   // pattern of the matrices and then build the
index 4737700a830f75255a7d58ae967654ae5f8e36df..0ef8efff8fd538eea0d8c59e1db94626b48aecd6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -91,7 +91,7 @@ void Assembler<dim>::assemble (const Equation<dim> &equation) {
 
 
 // get indices of dofs
-  vector<unsigned int> dofs (n_dofs);
+  std::vector<unsigned int> dofs (n_dofs);
   get_dof_indices (dofs);
 
                                   // one could use the
index b3281538f3814949314f1bef257bb7cf7a2b5eb5..83edf66f8ef15b135d9d943a6305358e05af1db0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -130,7 +130,7 @@ void ProblemBase<dim>::assemble (const Equation<dim>      &equation,
 
                                   // apply Dirichlet bc as described
                                   // in the docs
-  map<unsigned int, double> boundary_value_list;
+  std::map<unsigned int, double> boundary_value_list;
 
   for (typename FunctionMap::const_iterator dirichlet = dirichlet_bc.begin() ;
        dirichlet != dirichlet_bc.end() ; ++dirichlet)
@@ -176,7 +176,7 @@ void ProblemBase<dim>::fill_data (DataOut<dim> &out) const {
 
 
 template <int dim>
-string ProblemBase<dim>::get_solution_name () const {
+std::string ProblemBase<dim>::get_solution_name () const {
   return "solution";
 };
 
index 2efc6113487cd59eac80a38ba3059f5f7f3fa481..9d8fbdb7a1bb63d32454b2afcc99db20b82ae564 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -33,7 +33,7 @@
 template <int dof_handler_dim, int patch_dim, int patch_space_dim>
 DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::DataEntry::
 DataEntry (const Vector<double> *data,
-          const vector<string> &names) :
+          const std::vector<std::string> &names) :
                data(data),
                names(names)
 {};
@@ -90,7 +90,7 @@ attach_dof_handler (const DoFHandler<dof_handler_dim> &d)
 template <int dof_handler_dim, int patch_dim, int patch_space_dim>
 void
 DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::add_data_vector (const Vector<double> &vec,
-                                                            const vector<string> &names)
+                                                            const std::vector<std::string> &names)
 {
   Assert (dofs != 0, ExcNoDoFHandlerSelected ());
 
@@ -111,7 +111,7 @@ DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::add_data_vector (con
   for (unsigned int i=0; i<names.size(); ++i)
     Assert (names[i].find_first_not_of("abcdefghijklmnopqrstuvwxyz"
                                       "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                                      "0123456789_<>()") == string::npos,
+                                      "0123456789_<>()") == std::string::npos,
            ExcInvalidCharacter (names[i]));
   
   DataEntry new_entry (&vec, names);
@@ -131,11 +131,11 @@ DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::add_data_vector (con
 template <int dof_handler_dim, int patch_dim, int patch_space_dim>
 void
 DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::add_data_vector (const Vector<double> &vec,
-                                                            const string         &name)
+                                                            const std::string         &name)
 {
   unsigned int n_components = dofs->get_fe().n_components ();
 
-  vector<string> names;
+  std::vector<std::string> names;
                                   // if only one component or vector
                                   // is cell vector: we only need one
                                   // name
@@ -151,8 +151,8 @@ DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::add_data_vector (con
       names.resize (n_components);
       for (unsigned int i=0; i<n_components; ++i)
        {
-         ostrstream namebuf;
-         namebuf << name << '_' << i << ends;
+         std::ostrstream namebuf;
+         namebuf << name << '_' << i << std::ends;
          names[i] = namebuf.str();
        };
     };
@@ -169,7 +169,7 @@ void DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::clear_data_vect
   cell_data.erase (cell_data.begin(), cell_data.end());
 
                                   // delete patches
-  vector<DataOutBase::Patch<patch_dim,patch_space_dim> > dummy;
+  std::vector<DataOutBase::Patch<patch_dim,patch_space_dim> > dummy;
   patches.swap (dummy);
 }
 
@@ -208,23 +208,23 @@ DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::clear ()
     };
 
                                   // delete patches
-  vector<DataOutBase::Patch<patch_dim,patch_space_dim> > dummy;
+  std::vector<DataOutBase::Patch<patch_dim,patch_space_dim> > dummy;
   patches.swap (dummy);
 }
 
 
 template <int dof_handler_dim, int patch_dim, int patch_space_dim>
-vector<string>
+std::vector<std::string>
 DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::get_dataset_names () const 
 {
-  vector<string> names;
+  std::vector<std::string> names;
                                   // collect the names of dof
                                   // and cell data
-  for (typename vector<DataEntry>::const_iterator d=dof_data.begin();
+  for (typename std::vector<DataEntry>::const_iterator d=dof_data.begin();
        d!=dof_data.end(); ++d)
     for (unsigned int i=0; i<d->names.size(); ++i)
       names.push_back (d->names[i]);
-  for (typename vector<DataEntry>::const_iterator d=cell_data.begin();
+  for (typename std::vector<DataEntry>::const_iterator d=cell_data.begin();
        d!=cell_data.end(); ++d)
     {
       Assert (d->names.size() == 1, ExcInternalError());
@@ -237,7 +237,7 @@ DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::get_dataset_names ()
 
 
 template <int dof_handler_dim, int patch_dim, int patch_space_dim>
-const vector<typename DataOutBase::Patch<patch_dim, patch_space_dim> > &
+const std::vector<typename DataOutBase::Patch<patch_dim, patch_space_dim> > &
 DataOut_DoFData<dof_handler_dim,patch_dim,patch_space_dim>::get_patches () const
 {
   return patches;
@@ -275,7 +275,7 @@ void DataOut<dim>::build_some_patches (Data data)
   const unsigned int n_q_points = patch_points.n_quadrature_points;
   
   unsigned int cell_number = 0;
-  typename vector<DataOutBase::Patch<dim> >::iterator patch = patches.begin();
+  typename std::vector<DataOutBase::Patch<dim> >::iterator patch = patches.begin();
   DoFHandler<dim>::cell_iterator cell=first_cell();
 
                                   // get first cell in this thread
@@ -379,7 +379,7 @@ void DataOut<dim>::build_patches (const unsigned int n_subdivisions,
                                   // clear the patches array
   if (true)
     {
-      vector<DataOutBase::Patch<dim> > dummy;
+      std::vector<DataOutBase::Patch<dim> > dummy;
       patches.swap (dummy);
     };
   
@@ -392,7 +392,7 @@ void DataOut<dim>::build_patches (const unsigned int n_subdivisions,
        cell = next_cell(cell))
     ++n_patches;
 
-  vector<Data> thread_data(n_threads);
+  std::vector<Data> thread_data(n_threads);
 
                                   // init data for the threads
   for (unsigned int i=0;i<n_threads;++i)
index c04b828c60d42ad81a1a75f9fbadb1d6839397f4..bea1beb2a6cdc0d7b0c3321138109e2b9668b38d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -43,7 +43,7 @@ void DataOutFaces<dim>::build_some_patches (Data data)
   const unsigned int n_q_points = patch_points.n_quadrature_points;
   
   unsigned int face_number = 0;
-  typename vector<DataOutBase::Patch<dim-1,dim> >::iterator patch = patches.begin();
+  typename std::vector<DataOutBase::Patch<dim-1,dim> >::iterator patch = patches.begin();
   FaceDescriptor face=first_face();
 
                                   // get first face in this thread
@@ -149,7 +149,7 @@ void DataOutFaces<dim>::build_patches (const unsigned int n_subdivisions,
                                   // clear the patches array
   if (true)
     {
-      vector<DataOutBase::Patch<dim-1,dim> > dummy;
+      std::vector<DataOutBase::Patch<dim-1,dim> > dummy;
       patches.swap (dummy);
     };
   
@@ -162,7 +162,7 @@ void DataOutFaces<dim>::build_patches (const unsigned int n_subdivisions,
        face = next_face(face))
     ++n_patches;
 
-  vector<Data> thread_data(n_threads);
+  std::vector<Data> thread_data(n_threads);
 
                                   // init data for the threads
   for (unsigned int i=0;i<n_threads;++i)
index 12e920c151c582f6d64827782225be287bb2db4a..a48679065afc64e1e96532bc3b50f9f2dee222fc 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -58,7 +58,7 @@ void DataOutRotation<dim>::build_some_patches (Data data)
                                   // initial direction at the end
                                   // again
   const double pi = 3.14159265358979323846;
-  vector<Point<dim+1> > angle_directions (n_patches_per_circle+1);
+  std::vector<Point<dim+1> > angle_directions (n_patches_per_circle+1);
   for (unsigned int i=0; i<=n_patches_per_circle; ++i)
     {
       angle_directions[i][0] = cos(2*pi*i/n_patches_per_circle);
@@ -67,7 +67,7 @@ void DataOutRotation<dim>::build_some_patches (Data data)
   
   
   unsigned int cell_number = 0;
-  typename vector<DataOutBase::Patch<dim+1> >::iterator patch = patches.begin();
+  typename std::vector<DataOutBase::Patch<dim+1> >::iterator patch = patches.begin();
   typename DoFHandler<dim>::cell_iterator cell=first_cell();
 
                                   // get first cell in this thread
@@ -328,7 +328,7 @@ void DataOutRotation<dim>::build_patches (const unsigned int n_patches_per_circl
                                   // clear the patches array
   if (true)
     {
-      vector<DataOutBase::Patch<dim+1> > dummy;
+      std::vector<DataOutBase::Patch<dim+1> > dummy;
       patches.swap (dummy);
     };
   
@@ -347,7 +347,7 @@ void DataOutRotation<dim>::build_patches (const unsigned int n_patches_per_circl
                                   // rotation
   n_patches *= n_patches_per_circle;
 
-  vector<Data> thread_data(n_threads);
+  std::vector<Data> thread_data(n_threads);
 
                                   // init data for the threads
   for (unsigned int i=0;i<n_threads;++i)
index f3b3cbc2a5fa1118108a5a82141840b87c897d94..84a2f22b55e936ddd1cfc62961b1967ce1acdb6f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -51,11 +51,11 @@ void DataOutStack<dim>::new_parameter_value (const double p,
                                   //
                                   // this is to prevent serious waste of
                                   // memory
-  for (typename vector<DataVector>::const_iterator i=dof_data.begin();
+  for (typename std::vector<DataVector>::const_iterator i=dof_data.begin();
        i!=dof_data.end(); ++i)
     Assert (i->data.size() == 0,
            ExcDataNotCleared ());
-  for (typename vector<DataVector>::const_iterator i=cell_data.begin();
+  for (typename std::vector<DataVector>::const_iterator i=cell_data.begin();
        i!=cell_data.end(); ++i)
     Assert (i->data.size() == 0,
            ExcDataNotCleared ());
@@ -71,17 +71,17 @@ void DataOutStack<dim>::attach_dof_handler (const DoFHandler<dim> &dof)
 
 
 template <int dim>
-void DataOutStack<dim>::declare_data_vector (const string     &name,
+void DataOutStack<dim>::declare_data_vector (const std::string     &name,
                                             const VectorType  vector_type)
 {
-  vector<string> names;
+  std::vector<std::string> names;
   names.push_back (name);
   declare_data_vector (names, vector_type);
 };
 
 
 template <int dim>
-void DataOutStack<dim>::declare_data_vector (const vector<string> &names,
+void DataOutStack<dim>::declare_data_vector (const std::vector<std::string> &names,
                                             const VectorType      vector_type)
 {
                                   // make sure this function is
@@ -92,14 +92,14 @@ void DataOutStack<dim>::declare_data_vector (const vector<string> &names,
 
                                   // also make sure that no name is
                                   // used twice
-  for (vector<string>::const_iterator name=names.begin(); name!=names.end(); ++name)
+  for (std::vector<std::string>::const_iterator name=names.begin(); name!=names.end(); ++name)
     {
-      for (typename vector<DataVector>::const_iterator data_set=dof_data.begin();
+      for (typename std::vector<DataVector>::const_iterator data_set=dof_data.begin();
           data_set!=dof_data.end(); ++data_set)
        for (unsigned int i=0; i<data_set->names.size(); ++i)
          Assert (*name != data_set->names[i], ExcNameAlreadyUsed(*name));
 
-      for (typename vector<DataVector>::const_iterator data_set=cell_data.begin();
+      for (typename std::vector<DataVector>::const_iterator data_set=cell_data.begin();
           data_set!=cell_data.end(); ++data_set)
        for (unsigned int i=0; i<data_set->names.size(); ++i)
          Assert (*name != data_set->names[i], ExcNameAlreadyUsed(*name));
@@ -123,9 +123,9 @@ void DataOutStack<dim>::declare_data_vector (const vector<string> &names,
 template <int dim>
 template <typename number>
 void DataOutStack<dim>::add_data_vector (const Vector<number> &vec,
-                                        const string         &name)
+                                        const std::string         &name)
 {
-  vector<string> names;
+  std::vector<std::string> names;
   names.push_back (name);
   add_data_vector (vec, names);
 };
@@ -134,7 +134,7 @@ void DataOutStack<dim>::add_data_vector (const Vector<number> &vec,
 template <int dim>
 template <typename number>
 void DataOutStack<dim>::add_data_vector (const Vector<number> &vec,
-                                        const vector<string> &names)
+                                        const std::vector<std::string> &names)
 {
   Assert (dof_handler != 0, ExcNoDoFHandlerSelected ());
                                   // either cell data and one name,
@@ -148,17 +148,17 @@ void DataOutStack<dim>::add_data_vector (const Vector<number> &vec,
   for (unsigned int i=0; i<names.size(); ++i)
     Assert (names[i].find_first_not_of("abcdefghijklmnopqrstuvwxyz"
                                       "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                                      "0123456789_<>()") == string::npos,
+                                      "0123456789_<>()") == std::string::npos,
            ExcInvalidCharacter (names[i]));
   
   if (vec.size() == dof_handler->n_dofs())
     {
-      typename vector<DataVector>::iterator data_vector=dof_data.begin();
+      typename std::vector<DataVector>::iterator data_vector=dof_data.begin();
       for (; data_vector!=dof_data.end(); ++data_vector)
        if (data_vector->names == names)
          {
            data_vector->data.reinit (vec.size());
-           copy (vec.begin(), vec.end(),
+           std::copy (vec.begin(), vec.end(),
                  data_vector->data.begin());
            break;
          };
@@ -167,13 +167,13 @@ void DataOutStack<dim>::add_data_vector (const Vector<number> &vec,
     }
   else
     {
-      typename vector<DataVector>::iterator data_vector=cell_data.begin();
+      typename std::vector<DataVector>::iterator data_vector=cell_data.begin();
       for (; data_vector!=cell_data.end(); ++data_vector)
        if (data_vector->names == names)
          {
            data_vector->data.reinit (vec.size());
-           copy (vec.begin(), vec.end(),
-                 data_vector->data.begin());
+           std::copy (vec.begin(), vec.end(),
+                      data_vector->data.begin());
            break;
          };
       Assert (data_vector != cell_data.end(),
@@ -216,8 +216,8 @@ void DataOutStack<dim>::build_patches (const unsigned int n_subdivisions)
                                  patch_points,
                                  update_values);
   const unsigned int n_q_points = patch_points.n_quadrature_points;
-  vector<double>          patch_values (n_q_points);
-  vector<Vector<double> > patch_values_system (n_q_points,
+  std::vector<double>          patch_values (n_q_points);
+  std::vector<Vector<double> > patch_values_system (n_q_points,
                                               Vector<double>(n_components));
 
                                   // add the required number of patches
@@ -228,8 +228,9 @@ void DataOutStack<dim>::build_patches (const unsigned int n_subdivisions)
 
                                   // now loop over all cells and
                                   // actually create the patches
-  typename vector<DataOutBase::Patch<dim+1> >::iterator patch = &patches[patches.size()-n_patches];
-  unsigned int                                    cell_number = 0;
+  typename std::vector<DataOutBase::Patch<dim+1> >::iterator
+    patch = patches.begin() + (patches.size()-n_patches);
+  unsigned int cell_number = 0;
   for (typename DoFHandler<dim>::active_cell_iterator cell=dof_handler->begin_active();
        cell != dof_handler->end(); ++cell, ++patch, ++cell_number)
     {
@@ -308,11 +309,11 @@ void DataOutStack<dim>::finish_parameter_value ()
 {
                                   // release lock on dof handler
   dof_handler = 0;
-  for (typename vector<DataVector>::iterator i=dof_data.begin();
+  for (typename std::vector<DataVector>::iterator i=dof_data.begin();
        i!=dof_data.end(); ++i)
     i->data.reinit (0);
   
-  for (typename vector<DataVector>::iterator i=cell_data.begin();
+  for (typename std::vector<DataVector>::iterator i=cell_data.begin();
        i!=cell_data.end(); ++i)
     i->data.reinit (0);
 };
@@ -335,7 +336,7 @@ DataOutStack<dim>::memory_consumption () const
 
 
 template <int dim>
-const vector<DataOutBase::Patch<dim+1> > &
+const std::vector<DataOutBase::Patch<dim+1> > &
 DataOutStack<dim>::get_patches () const
 {
   return patches;
@@ -344,13 +345,13 @@ DataOutStack<dim>::get_patches () const
 
 
 template <int dim>
-vector<string> DataOutStack<dim>::get_dataset_names () const
+std::vector<std::string> DataOutStack<dim>::get_dataset_names () const
 {
-  vector<string> names;
-  for (typename vector<DataVector>::const_iterator dataset=dof_data.begin();
+  std::vector<std::string> names;
+  for (typename std::vector<DataVector>::const_iterator dataset=dof_data.begin();
        dataset!=dof_data.end(); ++dataset)
     names.insert (names.end(), dataset->names.begin(), dataset->names.end());
-  for (typename vector<DataVector>::const_iterator dataset=cell_data.begin();
+  for (typename std::vector<DataVector>::const_iterator dataset=cell_data.begin();
        dataset!=cell_data.end(); ++dataset)
     names.insert (names.end(), dataset->names.begin(), dataset->names.end());
   
@@ -361,7 +362,7 @@ vector<string> DataOutStack<dim>::get_dataset_names () const
 // explicit instantiations
 template class DataOutStack<deal_II_dimension>;
 template void DataOutStack<deal_II_dimension>::add_data_vector (const Vector<double> &vec,
-                                                               const string         &name);
+                                                               const std::string         &name);
 template void DataOutStack<deal_II_dimension>::add_data_vector (const Vector<float>  &vec,
-                                                               const string         &name);
+                                                               const std::string         &name);
 
index 2dc4e1068684296f670a15a1d34033e5fbba437f..753fc954e9d45d62e47328616e3ccec1183d4811 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -47,13 +47,13 @@ get_projected_derivative (const FEValues<dim>  &fe_values,
 {
   if (fe_values.get_fe().n_components() == 1)
     {
-      vector<ProjectedDerivative> values (1);
+      std::vector<ProjectedDerivative> values (1);
       fe_values.get_function_values (solution, values);
       return values[0];
     }
   else
     {
-      vector<Vector<double> > values
+      std::vector<Vector<double> > values
        (1, Vector<double>(fe_values.get_fe().n_components()));
       fe_values.get_function_values (solution, values);
       return values[0](component);
@@ -95,14 +95,14 @@ get_projected_derivative (const FEValues<dim>  &fe_values,
 {
   if (fe_values.get_fe().n_components() == 1)
     {
-      vector<ProjectedDerivative> values (1);
+      std::vector<ProjectedDerivative> values (1);
       fe_values.get_function_grads (solution, values);
       return values[0];
     }
   else
     {
-      vector<vector<ProjectedDerivative> > values
-       (1, vector<ProjectedDerivative>(fe_values.get_fe().n_components()));
+      std::vector<std::vector<ProjectedDerivative> > values
+       (1, std::vector<ProjectedDerivative>(fe_values.get_fe().n_components()));
       fe_values.get_function_grads (solution, values);
       return values[0][component];
     };
@@ -140,8 +140,8 @@ derivative_norm (const Derivative &d)
     = { 0.5*(d[0][0] + d[1][1] + sqrt(radicand)),
        0.5*(d[0][0] + d[1][1] - sqrt(radicand))  };
   
-  return max (fabs (eigenvalues[0]),
-             fabs (eigenvalues[1]));
+  return std::max (std::fabs (eigenvalues[0]),
+             std::fabs (eigenvalues[1]));
 };
 
 
@@ -231,7 +231,7 @@ approximate_derivative (const DoFHandler<dim> &dof_handler,
                                  dof_handler.get_tria().n_active_cells()));
 
   const unsigned int n_threads = multithread_info.n_default_threads;
-  vector<IndexInterval> index_intervals
+  std::vector<IndexInterval> index_intervals
     = Threads::split_interval (0, dof_handler.get_tria().n_active_cells(),
                               n_threads);
   Threads::ThreadManager thread_manager;
@@ -283,7 +283,7 @@ DerivativeApproximation::approximate (const DoFHandler<dim> &dof_handler,
                                   // active neighbors of a cell
                                   // reserve the maximal number of
                                   // active neighbors
-  vector<typename DoFHandler<dim>::active_cell_iterator> active_neighbors;
+  std::vector<typename DoFHandler<dim>::active_cell_iterator> active_neighbors;
   active_neighbors.reserve (GeometryInfo<dim>::faces_per_cell *
                            GeometryInfo<dim>::subfaces_per_face);
 
@@ -376,7 +376,7 @@ DerivativeApproximation::approximate (const DoFHandler<dim> &dof_handler,
                                       // now loop over all active
                                       // neighbors and collect the
                                       // data we need
-      typename vector<typename DoFHandler<dim>::active_cell_iterator>::const_iterator
+      typename std::vector<typename DoFHandler<dim>::active_cell_iterator>::const_iterator
        neighbor_ptr = active_neighbors.begin();
       for (; neighbor_ptr!=active_neighbors.end(); ++neighbor_ptr)
        {
index 4541b861e0747a1dc4a139548147c2962151d56c..af05025e2778fbff2f0c7347432685996e8b0cbc 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 76b97e668507a09ee32f9cf117fd83cf06bf6ccc..6a00f1adcd9c991def9da3984c528a7b7fd516f2 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -49,15 +49,15 @@ template <>
 KellyErrorEstimator<1>::Data::Data(const DoFHandler<1>                 &,
                                   const Quadrature<0>                 &,
                                   const FunctionMap                   &,
-                                  const vector<const Vector<double>*> &,
-                                  const vector<bool>                  &,
+                                  const std::vector<const Vector<double>*> &,
+                                  const std::vector<bool>                  &,
                                   const Function<1>                   *,
                                   const unsigned int                   ,
                                   FaceIntegrals                       &):
                dof_handler(* static_cast <const DoFHandler<1> *> (0)),
                quadrature(* static_cast <const Quadrature<0> *> (0)),
                neumann_bc(* static_cast <const FunctionMap *> (0)),
-               solutions(* static_cast <const vector<const Vector<double>*> *> (0)),
+               solutions(* static_cast <const std::vector<const Vector<double>*> *> (0)),
                face_integrals (* static_cast<FaceIntegrals*> (0))
 {
   Assert (false, ExcInternalError());
@@ -69,8 +69,8 @@ template <int dim>
 KellyErrorEstimator<dim>::Data::Data(const DoFHandler<dim>               &dof_handler,
                                     const Quadrature<dim-1>             &quadrature,
                                     const FunctionMap                   &neumann_bc,
-                                    const vector<const Vector<double>*> &solutions,
-                                    const vector<bool>                  &component_mask,
+                                    const std::vector<const Vector<double>*> &solutions,
+                                    const std::vector<bool>                  &component_mask,
                                     const Function<dim>                 *coefficients,
                                     const unsigned int                   n_threads,
                                     FaceIntegrals                       &face_integrals):
@@ -146,13 +146,13 @@ void KellyErrorEstimator<dim>::estimate (const DoFHandler<dim>   &dof_handler,
                                         const FunctionMap       &neumann_bc,
                                         const Vector<double>    &solution,
                                         Vector<float>           &error,
-                                        const vector<bool>      &component_mask,
+                                        const std::vector<bool>      &component_mask,
                                         const Function<dim>     *coefficients,
                                         unsigned int             n_threads)
 {
                                   // just pass on to the other function
-  const vector<const Vector<double>*> solutions (1, &solution);
-  vector<Vector<float>*>              errors (1, &error);
+  const std::vector<const Vector<double>*> solutions (1, &solution);
+  std::vector<Vector<float>*>              errors (1, &error);
   estimate (dof_handler, quadrature, neumann_bc, solutions, errors,
            component_mask, coefficients, n_threads);
 };
@@ -176,9 +176,9 @@ template <>
 void KellyErrorEstimator<1>::estimate (const DoFHandler<1>                 &dof_handler,
                                       const Quadrature<0>                 &,
                                       const FunctionMap                   &neumann_bc,
-                                      const vector<const Vector<double>*> &solutions,
-                                      vector<Vector<float>*>              &errors,
-                                      const vector<bool>                  &component_mask_,
+                                      const std::vector<const Vector<double>*> &solutions,
+                                      std::vector<Vector<float>*>              &errors,
+                                      const std::vector<bool>                  &component_mask_,
                                       const Function<1>                   *coefficient,
                                       const unsigned int)
 {
@@ -195,8 +195,8 @@ void KellyErrorEstimator<1>::estimate (const DoFHandler<1>                 &dof_
            ExcInvalidSolutionVector());
   
                                   // if no mask given: treat all components
-  vector<bool> component_mask ((component_mask_.size() == 0)    ?
-                              vector<bool>(n_components, true) :
+  std::vector<bool> component_mask ((component_mask_.size() == 0)    ?
+                              std::vector<bool>(n_components, true) :
                               component_mask_);
   Assert (component_mask.size() == n_components, ExcInvalidComponentMask());
   Assert (count(component_mask.begin(), component_mask.end(), true) > 0,
@@ -225,12 +225,12 @@ void KellyErrorEstimator<1>::estimate (const DoFHandler<1>                 &dof_
                                   // need several auxiliary fields,
                                   // depending on the way we get it
                                   // (see below)
-  vector<vector<vector<Tensor<1,1> > > >
+  std::vector<std::vector<std::vector<Tensor<1,1> > > >
     gradients_here (n_solution_vectors,
-                   vector<vector<Tensor<1,1> > >(2, vector<Tensor<1,1> >(n_components)));
-  vector<vector<vector<Tensor<1,1> > > >
+                   std::vector<std::vector<Tensor<1,1> > >(2, std::vector<Tensor<1,1> >(n_components)));
+  std::vector<std::vector<std::vector<Tensor<1,1> > > >
     gradients_neighbor (gradients_here);
-  vector<Vector<double> >
+  std::vector<Vector<double> >
     grad_neighbor (n_solution_vectors, Vector<double>(n_components));
 
                                   // reserve some space for
@@ -495,9 +495,9 @@ template <int dim>
 void KellyErrorEstimator<dim>::estimate (const DoFHandler<dim>               &dof_handler,
                                         const Quadrature<dim-1>             &quadrature,
                                         const FunctionMap                   &neumann_bc,
-                                        const vector<const Vector<double>*> &solutions,
-                                        vector<Vector<float>*>              &errors,
-                                        const vector<bool>                  &component_mask,
+                                        const std::vector<const Vector<double>*> &solutions,
+                                        std::vector<Vector<float>*>              &errors,
+                                        const std::vector<bool>                  &component_mask,
                                         const Function<dim>                 *coefficients,
                                         unsigned int                         n_threads)
 {
@@ -536,7 +536,7 @@ void KellyErrorEstimator<dim>::estimate (const DoFHandler<dim>               &do
                                   // in multithreaded mode. Negative
                                   // value indicates that the face
                                   // has not yet been processed.
-  vector<double> default_face_integrals (n_solution_vectors, -10e20);
+  std::vector<double> default_face_integrals (n_solution_vectors, -10e20);
   FaceIntegrals face_integrals;
   for (active_cell_iterator cell=dof_handler.begin_active(); cell!=dof_handler.end(); ++cell)
     for (unsigned int face_no=0; face_no<GeometryInfo<dim>::faces_per_cell; ++face_no)
@@ -551,14 +551,14 @@ void KellyErrorEstimator<dim>::estimate (const DoFHandler<dim>               &do
                                   // note that if no component mask
                                   // was given, then treat all
                                   // components
-  vector<Data*> data_structures (n_threads);
+  std::vector<Data*> data_structures (n_threads);
   for (unsigned int i=0; i<n_threads; ++i)
     data_structures[i] = new Data (dof_handler,
                                   quadrature,
                                   neumann_bc,
                                   solutions,
                                   ((component_mask.size() == 0)    ?
-                                   vector<bool>(dof_handler.get_fe().n_components(),
+                                   std::vector<bool>(dof_handler.get_fe().n_components(),
                                                 true) :
                                    component_mask),
                                   coefficients,
@@ -779,7 +779,7 @@ integrate_over_regular_face (Data                       &data,
                                       // function at the quadrature
                                       // points
       
-      vector<Vector<double> > g(n_q_points, Vector<double>(n_components));
+      std::vector<Vector<double> > g(n_q_points, Vector<double>(n_components));
       data.neumann_bc.find(boundary_indicator)->second
        ->vector_value_list (fe_face_values_cell.get_quadrature_points(),
                             g);
@@ -803,7 +803,7 @@ integrate_over_regular_face (Data                       &data,
   
                                   // take the square of the phi[i]
                                   // for integration, and sum up
-  vector<double> face_integral (n_solution_vectors, 0);
+  std::vector<double> face_integral (n_solution_vectors, 0);
   for (unsigned int n=0; n<n_solution_vectors; ++n)
     for (unsigned int component=0; component<n_components; ++component)
       if (data.component_mask[component] == true)
@@ -959,7 +959,7 @@ integrate_over_irregular_face (Data                       &data,
       
                                       // take the square of the phi[i]
                                       // for integration, and sum up
-      vector<double> face_integral (n_solution_vectors, 0);
+      std::vector<double> face_integral (n_solution_vectors, 0);
       for (unsigned int n=0; n<n_solution_vectors; ++n)
        for (unsigned int component=0; component<n_components; ++component)
          if (data.component_mask[component] == true)
@@ -975,7 +975,7 @@ integrate_over_irregular_face (Data                       &data,
                                   // collect the contributions of the
                                   // subfaces and store them with the
                                   // mother face
-  vector<double> sum (n_solution_vectors, 0);
+  std::vector<double> sum (n_solution_vectors, 0);
   typename DoFHandler<dim>::face_iterator face = cell->face(face_no);
   for (unsigned int subface_no=0; subface_no<GeometryInfo<dim>::subfaces_per_face;
        ++subface_no) 
index 23821c2f0f5649ccf3a70c2d7ddc6fb47db0c115..edd6d3a40745a738d3982db7bbecd435cf49d927 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -49,8 +49,8 @@ Histogram::Interval::memory_consumption () const
 
 
 template <typename number>
-void Histogram::evaluate (const vector<Vector<number> > &values,
-                         const vector<double>          &_y_values,
+void Histogram::evaluate (const std::vector<Vector<number> > &values,
+                         const std::vector<double>          &_y_values,
                          const unsigned int             n_intervals,
                          const IntervalSpacing          interval_spacing)
 {
@@ -70,25 +70,25 @@ void Histogram::evaluate (const vector<Vector<number> > &values,
   switch (interval_spacing)
     {
       case linear:
-           min_value = *min_element(values[0].begin(),
+           min_value = *std::min_element(values[0].begin(),
                                     values[0].end());
-           max_value = *max_element(values[0].begin(),
+           max_value = *std::max_element(values[0].begin(),
                                     values[0].end());
 
            for (unsigned int i=1; i<values.size(); ++i)
              {
-               min_value = min (min_value,
-                                *min_element(values[i].begin(),
+               min_value = std::min (min_value,
+                                *std::min_element(values[i].begin(),
                                              values[i].end()));
-               max_value = max (max_value,
-                                *max_element(values[i].begin(),
+               max_value = std::max (max_value,
+                                *std::max_element(values[i].begin(),
                                              values[i].end()));
              };
            
            break;
            
       case logarithmic:
-           min_value = *min_element(values[0].begin(),
+           min_value = *std::min_element(values[0].begin(),
                                     values[0].end(),
 #if (__GNUC__==2) && (__GNUC_MINOR__ < 95)
                                     &logarithmic_less<number>
@@ -97,7 +97,7 @@ void Histogram::evaluate (const vector<Vector<number> > &values,
 #endif
            );
            
-           max_value = *max_element(values[0].begin(),
+           max_value = *std::max_element(values[0].begin(),
                                     values[0].end(),
 #if (__GNUC__==2) && (__GNUC_MINOR__ < 95)
                                     &logarithmic_less<number>
@@ -109,8 +109,8 @@ void Histogram::evaluate (const vector<Vector<number> > &values,
 
            for (unsigned int i=1; i<values.size(); ++i)
              {
-               min_value = min (min_value,
-                                *min_element(values[i].begin(),
+               min_value = std::min (min_value,
+                                *std::min_element(values[i].begin(),
                                              values[i].end(),
 #if (__GNUC__==2) && (__GNUC_MINOR__ < 95)
                                              &logarithmic_less<number>
@@ -126,8 +126,8 @@ void Histogram::evaluate (const vector<Vector<number> > &values,
 #endif
                );
 
-               max_value = max (max_value,
-                                *max_element(values[i].begin(),
+               max_value = std::max (max_value,
+                                *std::max_element(values[i].begin(),
                                              values[i].end(),
 #if (__GNUC__==2) && (__GNUC_MINOR__ < 95)
                                              &logarithmic_less<number>
@@ -167,7 +167,7 @@ void Histogram::evaluate (const vector<Vector<number> > &values,
                                   // then produce all the other lists
                                   // for the other data vectors by
                                   // copying
-  intervals.push_back (vector<Interval>());
+  intervals.push_back (std::vector<Interval>());
   
   switch (interval_spacing)
     {
@@ -229,14 +229,14 @@ void Histogram::evaluate (const Vector<number>    &values,
                          const unsigned int       n_intervals,
                          const IntervalSpacing    interval_spacing) 
 {
-  vector<Vector<number> > values_list (1,
+  std::vector<Vector<number> > values_list (1,
                                       values);
-  evaluate (values_list, vector<double>(1,0.), n_intervals, interval_spacing);
+  evaluate (values_list, std::vector<double>(1,0.), n_intervals, interval_spacing);
 };
 
 
 
-void Histogram::write_gnuplot (ostream &out) const
+void Histogram::write_gnuplot (std::ostream &out) const
 {
   AssertThrow (out, ExcIO());
   Assert (intervals.size() > 0, ExcEmptyData());
@@ -249,11 +249,11 @@ void Histogram::write_gnuplot (ostream &out) const
        out << intervals[0][n].left_point
            << ' '
            << intervals[0][n].content
-           << endl
+           << std::endl
            << intervals[0][n].right_point
            << ' '
            << intervals[0][n].content
-           << endl;
+           << std::endl;
     }
   else
                                     // otherwise create a whole 3d plot
@@ -274,7 +274,7 @@ void Histogram::write_gnuplot (ostream &out) const
                  y_values[i] + (y_values[i]-y_values[i-1]))
              << ' '
              << intervals[i][n].content
-             << endl
+             << std::endl
              << intervals[i][n].right_point
              << ' '
              << (i<static_cast<int>(intervals.size())-1 ?
@@ -282,24 +282,24 @@ void Histogram::write_gnuplot (ostream &out) const
                  y_values[i] + (y_values[i]-y_values[i-1]))
              << ' '
              << intervals[i][n].content
-             << endl;
+             << std::endl;
 
-       out << endl;
+       out << std::endl;
        for (unsigned int n=0; n<intervals[i].size(); ++n)
          out << intervals[i][n].left_point
              << ' '
              << y_values[i]
              << ' '
              << intervals[i][n].content
-             << endl
+             << std::endl
              << intervals[i][n].right_point
              << ' '
              << y_values[i]
              << ' '
              << intervals[i][n].content
-             << endl;
+             << std::endl;
        
-       out << endl;
+       out << std::endl;
        
       };
 
@@ -308,7 +308,7 @@ void Histogram::write_gnuplot (ostream &out) const
 
 
 
-string Histogram::get_interval_spacing_names () 
+std::string Histogram::get_interval_spacing_names () 
 {
   return "linear|logarithmic";
 };
@@ -316,7 +316,7 @@ string Histogram::get_interval_spacing_names ()
 
 
 Histogram::IntervalSpacing
-Histogram::parse_interval_spacing (const string &name)
+Histogram::parse_interval_spacing (const std::string &name)
 {
   if (name=="linear")
     return linear;
@@ -344,8 +344,8 @@ Histogram::memory_consumption () const
 
 // explicit instantiations for float
 template
-void Histogram::evaluate (const vector<Vector<float> >  &values,
-                         const vector<double>          &y_values, 
+void Histogram::evaluate (const std::vector<Vector<float> >  &values,
+                         const std::vector<double>          &y_values, 
                          const unsigned int             n_intervals,
                          const IntervalSpacing          interval_spacing);
 template
@@ -356,8 +356,8 @@ void Histogram::evaluate (const Vector<float>   &values,
 
 // explicit instantiations for double
 template
-void Histogram::evaluate (const vector<Vector<double> >  &values,
-                         const vector<double>           &y_values, 
+void Histogram::evaluate (const std::vector<Vector<double> >  &values,
+                         const std::vector<double>           &y_values, 
                          const unsigned int              n_intervals,
                          const IntervalSpacing           interval_spacing);
 template
index 499cce06dee567f3840c9662ef64ed93a45d6999..448f6bee2b5ee5f958f141498d54414838fc52c9 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -100,7 +100,7 @@ void MatrixCreator<dim>::create_mass_matrix (const DoFHandler<dim>    &dof,
   const unsigned int dofs_per_cell = fe.dofs_per_cell;
   
   FullMatrix<double>   local_mass_matrix (dofs_per_cell, dofs_per_cell);
-  vector<unsigned int> dofs_on_this_cell (dofs_per_cell);
+  std::vector<unsigned int> dofs_on_this_cell (dofs_per_cell);
   
   DoFHandler<dim>::active_cell_iterator cell = dof.begin_active(),
                                        endc = dof.end();
@@ -125,7 +125,7 @@ void MatrixCreator<1>::create_boundary_mass_matrix (const DoFHandler<1>    &,
                                                    SparseMatrix<double>   &,
                                                    const FunctionMap      &,
                                                    Vector<double>         &,
-                                                   vector<unsigned int>   &,
+                                                   std::vector<unsigned int>   &,
                                                    const Function<1>      *)
 {
   Assert (false, ExcNotImplemented());
@@ -140,7 +140,7 @@ void MatrixCreator<dim>::create_boundary_mass_matrix (const DoFHandler<dim>    &
                                                      SparseMatrix<double>     &matrix,
                                                      const FunctionMap        &rhs,
                                                      Vector<double>           &rhs_vector,
-                                                     vector<unsigned int>     &dof_to_boundary_mapping,
+                                                     std::vector<unsigned int>     &dof_to_boundary_mapping,
                                                      const Function<dim>      *a)
 {
   const FiniteElement<dim> &fe = dof.get_fe();
@@ -160,7 +160,7 @@ void MatrixCreator<dim>::create_boundary_mass_matrix (const DoFHandler<dim>    &
   if (true)
     {
       unsigned int max_element = 0;
-      for (vector<unsigned int>::const_iterator i=dof_to_boundary_mapping.begin();
+      for (std::vector<unsigned int>::const_iterator i=dof_to_boundary_mapping.begin();
           i!=dof_to_boundary_mapping.end(); ++i)
        if ((*i != DoFHandler<dim>::invalid_dof_index) &&
            (*i > max_element))
@@ -184,17 +184,17 @@ void MatrixCreator<dim>::create_boundary_mass_matrix (const DoFHandler<dim>    &
                                   // two variables for the coefficient,
                                   // one for the two cases indicated in
                                   // the name
-  vector<double>          coefficient_values_scalar (fe_values.n_quadrature_points);
-  vector<Vector<double> > coefficient_values_system (fe_values.n_quadrature_points,
+  std::vector<double>          coefficient_values_scalar (fe_values.n_quadrature_points);
+  std::vector<Vector<double> > coefficient_values_system (fe_values.n_quadrature_points,
                                                     Vector<double>(n_components));
 
-  vector<double>          rhs_values_scalar (fe_values.n_quadrature_points);
-  vector<Vector<double> > rhs_values_system (fe_values.n_quadrature_points,
+  std::vector<double>          rhs_values_scalar (fe_values.n_quadrature_points);
+  std::vector<Vector<double> > rhs_values_system (fe_values.n_quadrature_points,
                                             Vector<double>(n_components));
 
-  vector<unsigned int> dofs (dofs_per_cell);
-  vector<unsigned int> dofs_on_face_vector (dofs_per_face);
-  set<int> dofs_on_face;
+  std::vector<unsigned int> dofs (dofs_per_cell);
+  std::vector<unsigned int> dofs_on_face_vector (dofs_per_face);
+  std::set<int> dofs_on_face;
 
   DoFHandler<dim>::active_cell_iterator cell = dof.begin_active (),
                                        endc = dof.end ();
@@ -210,7 +210,7 @@ void MatrixCreator<dim>::create_boundary_mass_matrix (const DoFHandler<dim>    &
          fe_values.reinit (cell, face);
 
          const FullMatrix<double> &values    = fe_values.get_shape_values ();
-         const vector<double>     &weights   = fe_values.get_JxW_values ();
+         const std::vector<double>     &weights   = fe_values.get_JxW_values ();
 
          if (fe_is_system)
                                             // FE has several components
@@ -519,7 +519,7 @@ void MatrixCreator<dim>::create_laplace_matrix (const DoFHandler<dim>    &dof,
 template <int dim>
 template <typename number>
 void
-MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundary_values,
+MatrixTools<dim>::apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
                                         SparseMatrix<number>  &matrix,
                                         Vector<number>   &solution,
                                         Vector<number>   &right_hand_side,
@@ -537,7 +537,7 @@ MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundar
     return;
 
 
-  map<unsigned int,double>::const_iterator  dof  = boundary_values.begin(),
+  std::map<unsigned int,double>::const_iterator  dof  = boundary_values.begin(),
                                            endd = boundary_values.end();
   const unsigned int n_dofs             = matrix.m();
   const SparsityPattern    &sparsity    = matrix.get_sparsity_pattern();
@@ -646,7 +646,7 @@ MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundar
                                               // element
                                               // (row,dof_number)
              const unsigned int *
-               p = lower_bound(&sparsity_colnums[sparsity_rowstart[row]+1],
+               p = std::lower_bound(&sparsity_colnums[sparsity_rowstart[row]+1],
                                &sparsity_colnums[sparsity_rowstart[row+1]],
                                dof_number);
 
@@ -686,7 +686,7 @@ MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundar
 
 template <int dim>
 void
-MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundary_values,
+MatrixTools<dim>::apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
                                         BlockSparseMatrix<double>  &matrix,
                                         BlockVector<double>   &solution,
                                         BlockVector<double>   &right_hand_side,
@@ -719,7 +719,7 @@ MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundar
     return;
 
 
-  map<unsigned int,double>::const_iterator  dof  = boundary_values.begin(),
+  std::map<unsigned int,double>::const_iterator  dof  = boundary_values.begin(),
                                            endd = boundary_values.end();
   const unsigned int n_dofs = matrix.m();
   const BlockSparsityPattern &
@@ -770,7 +770,7 @@ MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundar
                                       // in the block in which this
                                       // dof is located
       const unsigned int dof_number = dof->first;
-      const pair<unsigned int,unsigned int>
+      const std::pair<unsigned int,unsigned int>
        block_index = index_mapping.global_to_local (dof_number);
 
                                       // for each boundary dof:
@@ -943,14 +943,14 @@ MatrixTools<dim>::apply_boundary_values (const map<unsigned int,double> &boundar
                        p = &this_sparsity.get_column_numbers()
                            [this_sparsity.get_rowstart_indices()[row]];
                      else
-                       p = lower_bound(&this_sparsity.get_column_numbers()
+                       p = std::lower_bound(&this_sparsity.get_column_numbers()
                                        [this_sparsity.get_rowstart_indices()[row]+1],
                                        &this_sparsity.get_column_numbers()
                                        [this_sparsity.get_rowstart_indices()[row+1]],
                                        block_index.second);
                    }
                  else
-                   p = lower_bound(&this_sparsity.get_column_numbers()
+                   p = std::lower_bound(&this_sparsity.get_column_numbers()
                                    [this_sparsity.get_rowstart_indices()[row]],
                                    &this_sparsity.get_column_numbers()
                                    [this_sparsity.get_rowstart_indices()[row+1]],
@@ -1030,7 +1030,7 @@ void MassMatrix<dim>::assemble (FullMatrix<double>      &cell_matrix,
          Equation<dim>::ExcObjectNotEmpty());
   
   const FullMatrix<double> &values    = fe_values.get_shape_values ();
-  const vector<double>     &weights   = fe_values.get_JxW_values ();
+  const std::vector<double>     &weights   = fe_values.get_JxW_values ();
 
 
   if (coefficient != 0)
@@ -1038,7 +1038,7 @@ void MassMatrix<dim>::assemble (FullMatrix<double>      &cell_matrix,
       if (coefficient->n_components == 1)
                                         // scalar coefficient given
        {
-         vector<double> coefficient_values (fe_values.n_quadrature_points);
+         std::vector<double> coefficient_values (fe_values.n_quadrature_points);
          coefficient->value_list (fe_values.get_quadrature_points(),
                                   coefficient_values);
          for (unsigned int i=0; i<dofs_per_cell; ++i) 
@@ -1059,7 +1059,7 @@ void MassMatrix<dim>::assemble (FullMatrix<double>      &cell_matrix,
                                         // vectorial coefficient
                                         // given
        {
-         vector<Vector<double> > coefficient_values (fe_values.n_quadrature_points,
+         std::vector<Vector<double> > coefficient_values (fe_values.n_quadrature_points,
                                                      Vector<double>(n_components));
          coefficient->vector_value_list (fe_values.get_quadrature_points(),
                                          coefficient_values);
@@ -1127,13 +1127,13 @@ void MassMatrix<dim>::assemble (FullMatrix<double>  &cell_matrix,
          Equation<dim>::ExcObjectNotEmpty());
 
   const FullMatrix<double> &values    = fe_values.get_shape_values ();
-  const vector<double>     &weights   = fe_values.get_JxW_values ();
-  vector<double>            rhs_values (fe_values.n_quadrature_points);
+  const std::vector<double>     &weights   = fe_values.get_JxW_values ();
+  std::vector<double>            rhs_values (fe_values.n_quadrature_points);
   right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values);
 
   if (coefficient != 0)
     {
-      vector<double> coefficient_values (n_q_points);
+      std::vector<double> coefficient_values (n_q_points);
       coefficient->value_list (fe_values.get_quadrature_points(),
                               coefficient_values);
       for (unsigned int point=0; point<n_q_points; ++point)
@@ -1187,8 +1187,8 @@ void MassMatrix<dim>::assemble (Vector<double>      &rhs,
          Equation<dim>::ExcObjectNotEmpty());
 
   const FullMatrix<double> &values    = fe_values.get_shape_values ();
-  const vector<double>     &weights   = fe_values.get_JxW_values ();
-  vector<double>            rhs_values(fe_values.n_quadrature_points);
+  const std::vector<double>     &weights   = fe_values.get_JxW_values ();
+  std::vector<double>            rhs_values(fe_values.n_quadrature_points);
   right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values);
 
   for (unsigned int point=0; point<n_q_points; ++point)
@@ -1238,15 +1238,15 @@ void LaplaceMatrix<dim>::assemble (FullMatrix<double>         &cell_matrix,
   Assert (rhs.all_zero(),
          Equation<dim>::ExcObjectNotEmpty());
 
-  const vector<vector<Tensor<1,dim> > >&gradients = fe_values.get_shape_grads ();
+  const std::vector<std::vector<Tensor<1,dim> > >&gradients = fe_values.get_shape_grads ();
   const FullMatrix<double>             &values    = fe_values.get_shape_values ();
-  vector<double>        rhs_values(fe_values.n_quadrature_points);
-  const vector<double> &weights   = fe_values.get_JxW_values ();
+  std::vector<double>        rhs_values(fe_values.n_quadrature_points);
+  const std::vector<double> &weights   = fe_values.get_JxW_values ();
   right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values);
 
   if (coefficient != 0)
     {
-      vector<double> coefficient_values(n_q_points);
+      std::vector<double> coefficient_values(n_q_points);
       coefficient->value_list (fe_values.get_quadrature_points(),
                               coefficient_values);
       for (unsigned int point=0; point<n_q_points; ++point)
@@ -1302,12 +1302,12 @@ void LaplaceMatrix<dim>::assemble (FullMatrix<double>  &cell_matrix,
   Assert (cell_matrix.all_zero(),
          Equation<dim>::ExcObjectNotEmpty());
   
-  const vector<vector<Tensor<1,dim> > >&gradients = fe_values.get_shape_grads ();
-  const vector<double> &weights   = fe_values.get_JxW_values ();
+  const std::vector<std::vector<Tensor<1,dim> > >&gradients = fe_values.get_shape_grads ();
+  const std::vector<double> &weights   = fe_values.get_JxW_values ();
    
   if (coefficient != 0)
     {
-      vector<double> coefficient_values(n_q_points);
+      std::vector<double> coefficient_values(n_q_points);
       coefficient->value_list (fe_values.get_quadrature_points(),
                               coefficient_values);
       for (unsigned int point=0; point<n_q_points; ++point)
@@ -1358,8 +1358,8 @@ void LaplaceMatrix<dim>::assemble (Vector<double>      &rhs,
          Equation<dim>::ExcObjectNotEmpty());
 
   const FullMatrix<double> &values    = fe_values.get_shape_values ();
-  const vector<double>     &weights   = fe_values.get_JxW_values ();
-  vector<double>        rhs_values(fe_values.n_quadrature_points);
+  const std::vector<double>     &weights   = fe_values.get_JxW_values ();
+  std::vector<double>        rhs_values(fe_values.n_quadrature_points);
   right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values);
    
   for (unsigned int point=0; point<n_q_points; ++point)
@@ -1382,7 +1382,7 @@ template class LaplaceMatrix<deal_II_dimension>;
 template
 void
 MatrixTools<deal_II_dimension>::
-apply_boundary_values (const map<unsigned int,double> &boundary_values,
+apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
                       SparseMatrix<double>  &matrix,
                       Vector<double>   &solution,
                       Vector<double>   &right_hand_side,
@@ -1391,7 +1391,7 @@ apply_boundary_values (const map<unsigned int,double> &boundary_values,
 template
 void
 MatrixTools<deal_II_dimension>::
-apply_boundary_values (const map<unsigned int,double> &boundary_values,
+apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
                       SparseMatrix<float>  &matrix,
                       Vector<float>   &solution,
                       Vector<float>   &right_hand_side,
@@ -1400,7 +1400,7 @@ apply_boundary_values (const map<unsigned int,double> &boundary_values,
 template
 void
 MatrixTools<deal_II_dimension>::
-apply_boundary_values (const map<unsigned int,double> &,
+apply_boundary_values (const std::map<unsigned int,double> &,
                       BlockSparseMatrix<double>      &,
                       BlockVector<double>            &,
                       BlockVector<double>            &,
index 0f8930ab09d6322aa693f9710692ab2a0ef039a1..d2ece8e5a886e58ef0f0679476c5edfa68b38e2a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -65,8 +65,8 @@ void SolutionTransfer<dim, number>::prepare_for_pure_refinement()
   const unsigned int dofs_per_cell  = dof_handler->get_fe().dofs_per_cell;
   n_dofs_old=dof_handler->n_dofs();
 
-  indices_on_cell=vector<vector<unsigned int> > (n_active_cells,
-                                                vector<unsigned int> (dofs_per_cell));
+  indices_on_cell=std::vector<std::vector<unsigned int> > (n_active_cells,
+                                                std::vector<unsigned int> (dofs_per_cell));
 
   DoFHandler<dim>::cell_iterator cell = dof_handler->begin(),
                                 endc = dof_handler->end();
@@ -110,7 +110,7 @@ SolutionTransfer<dim, number>::refine_interpolate(const Vector<number> &in,
   DoFHandler<dim>::cell_iterator cell = dof_handler->begin(),
                                 endc = dof_handler->end();
 
-  vector<unsigned int> *indexptr;  
+  std::vector<unsigned int> *indexptr;  
 
   for (; cell!=endc; ++cell) 
     {
@@ -122,7 +122,7 @@ SolutionTransfer<dim, number>::refine_interpolate(const Vector<number> &in,
                                         // which is both done by one
                                         // function
        {
-         indexptr=static_cast<vector<unsigned int> *>(cell->user_pointer());
+         indexptr=static_cast<std::vector<unsigned int> *>(cell->user_pointer());
          for (unsigned int i=0; i<dofs_per_cell; ++i)
            local_values(i)=in(indexptr->operator[](i));
          cell->set_dof_values_by_interpolation(local_values, out);
@@ -146,7 +146,7 @@ void SolutionTransfer<dim, number>::refine_interpolate (Vector<number> &vec) con
 template<int dim, typename number>
 void
 SolutionTransfer<dim, number>::
-prepare_for_coarsening_and_refinement(const vector<Vector<number> > &all_in)
+prepare_for_coarsening_and_refinement(const std::vector<Vector<number> > &all_in)
 {
   Assert(prepared_for!=pure_refinement, ExcAlreadyPrepForRef());
   Assert(!prepared_for!=coarsening_and_refinement, 
@@ -192,14 +192,14 @@ prepare_for_coarsening_and_refinement(const vector<Vector<number> > &all_in)
                                         GeometryInfo<dim>::children_per_cell;
 
                                   // allocate the needed memory
-  indices_on_cell    = vector<vector<unsigned int> > (n_cells_to_stay_or_refine,
-                                                     vector<unsigned int> (dofs_per_cell));
+  indices_on_cell    = std::vector<std::vector<unsigned int> > (n_cells_to_stay_or_refine,
+                                                     std::vector<unsigned int> (dofs_per_cell));
   dof_values_on_cell
-    = vector<vector<Vector<number> > > (n_coarsen_fathers,
-                                       vector<Vector<number> > (in_size,
+    = std::vector<std::vector<Vector<number> > > (n_coarsen_fathers,
+                                       std::vector<Vector<number> > (in_size,
                                                                 Vector<number> (dofs_per_cell)));
 
-  all_pointerstructs = vector<Pointerstruct> (n_cells_to_stay_or_refine +
+  all_pointerstructs = std::vector<Pointerstruct> (n_cells_to_stay_or_refine +
                                              n_coarsen_fathers);
 
 
@@ -264,15 +264,15 @@ template<int dim, typename number>
 void
 SolutionTransfer<dim, number>::prepare_for_coarsening_and_refinement(const Vector<number> &in)
 {
-  vector<Vector<number> > all_in=vector<Vector<number> >(1, in);
+  std::vector<Vector<number> > all_in=std::vector<Vector<number> >(1, in);
   prepare_for_coarsening_and_refinement(all_in);
 }
 
 
 template<int dim, typename number>
 void SolutionTransfer<dim, number>::
-interpolate (const vector<Vector<number> > &all_in,
-            vector<Vector<number> >       &all_out) const
+interpolate (const std::vector<Vector<number> > &all_in,
+            std::vector<Vector<number> >       &all_out) const
 {
   Assert(prepared_for==coarsening_and_refinement, ExcNotPrepared());
   for (unsigned int i=0; i<all_in.size(); ++i)
@@ -283,7 +283,7 @@ interpolate (const vector<Vector<number> > &all_in,
 
                                   // resize the output vector
   if (all_out.size() != all_in.size())
-    all_out = vector<Vector<number> >(all_in.size(),
+    all_out = std::vector<Vector<number> >(all_in.size(),
                                      Vector<number>(dof_handler->n_dofs()));
   else
     {
@@ -296,10 +296,10 @@ interpolate (const vector<Vector<number> > &all_in,
   const unsigned int dofs_per_cell=dof_handler->get_fe().dofs_per_cell;  
   Vector<number> local_values(dofs_per_cell);
 
-  vector<unsigned int>    *indexptr;
+  std::vector<unsigned int>    *indexptr;
   Pointerstruct           *structptr;
-  vector<Vector<number> > *valuesptr;
-  vector<unsigned int>     dofs(dofs_per_cell);
+  std::vector<Vector<number> > *valuesptr;
+  std::vector<unsigned int>     dofs(dofs_per_cell);
 
   DoFHandler<dim>::cell_iterator cell = dof_handler->begin(),
                                 endc = dof_handler->end();
@@ -358,9 +358,9 @@ template<int dim, typename number>
 void SolutionTransfer<dim, number>::interpolate(const Vector<number> &in,
                                                Vector<number>       &out) const
 {
-  vector<Vector<number> > all_in(1);
+  std::vector<Vector<number> > all_in(1);
   all_in[0] = in;
-  vector<Vector<number> > all_out(1);
+  std::vector<Vector<number> > all_out(1);
   all_out[0] = out;
   interpolate(all_in,
              all_out);
index ab3275fc885c5ae973bb097b809a16832d6324f3..40f98aedacf07572092a4dde30d1ec109b779080 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -96,7 +96,7 @@ TimeDependent::insert_timestep (const TimeStepBase *position,
     else
       {
                                         // inner time step
-       vector<TimeStepBase*>::iterator insert_position
+       std::vector<TimeStepBase*>::iterator insert_position
          = find(timesteps.begin(), timesteps.end(), position);
        
        (*(insert_position-1))->set_next_timestep (new_timestep);
@@ -128,7 +128,7 @@ void TimeDependent::delete_timestep (const unsigned int position)
 
   timesteps[position]->unsubscribe();
   delete timesteps[position];
-  timesteps.erase (&timesteps[position]);
+  timesteps.erase (timesteps.begin() + position);
 
                                   // reset "next" pointer of previous
                                   // time step if possible
@@ -152,8 +152,8 @@ void TimeDependent::delete_timestep (const unsigned int position)
 void
 TimeDependent::solve_primal_problem () 
 {
-  do_loop (mem_fun(&TimeStepBase::init_for_primal_problem),
-          mem_fun(&TimeStepBase::solve_primal_problem),
+  do_loop (std::mem_fun(&TimeStepBase::init_for_primal_problem),
+          std::mem_fun(&TimeStepBase::solve_primal_problem),
           timestepping_data_primal,
           forward);
 };
@@ -162,8 +162,8 @@ TimeDependent::solve_primal_problem ()
 void
 TimeDependent::solve_dual_problem () 
 {
-  do_loop (mem_fun(&TimeStepBase::init_for_dual_problem),
-          mem_fun(&TimeStepBase::solve_dual_problem),
+  do_loop (std::mem_fun(&TimeStepBase::init_for_dual_problem),
+          std::mem_fun(&TimeStepBase::solve_dual_problem),
           timestepping_data_dual,
           backward);
 };
@@ -172,8 +172,8 @@ TimeDependent::solve_dual_problem ()
 void
 TimeDependent::postprocess () 
 {
-  do_loop (mem_fun(&TimeStepBase::init_for_postprocessing),
-          mem_fun(&TimeStepBase::postprocess_timestep),
+  do_loop (std::mem_fun(&TimeStepBase::init_for_postprocessing),
+          std::mem_fun(&TimeStepBase::postprocess_timestep),
           timestepping_data_postprocess,
           forward);
 };
@@ -491,8 +491,8 @@ void TimeStepBase_Tria<dim>::save_refine_flags ()
 {
                                   // for any of the non-initial grids
                                   // store the refinement flags
-  refine_flags.push_back (vector<bool>());
-  coarsen_flags.push_back (vector<bool>());
+  refine_flags.push_back (std::vector<bool>());
+  coarsen_flags.push_back (std::vector<bool>());
   tria->save_refine_flags (refine_flags.back());
   tria->save_coarsen_flags (coarsen_flags.back());
 };
@@ -758,14 +758,14 @@ void TimeStepBase_Tria<dim>::refine_grid (const RefinementData refinement_data)
       (refinement_flags.cell_number_correction_steps > 0))
     {
       sorted_criteria = criteria;
-      sort (sorted_criteria.begin(),
+      std::sort (sorted_criteria.begin(),
            sorted_criteria.end());
-      p_refinement_threshold = lower_bound (sorted_criteria.begin(),
-                                           sorted_criteria.end(),
-                                           refinement_threshold);
-      p_coarsening_threshold = upper_bound (sorted_criteria.begin(),
-                                           sorted_criteria.end(),
-                                           coarsening_threshold);
+      p_refinement_threshold = std::lower_bound (sorted_criteria.begin(),
+                                                sorted_criteria.end(),
+                                                static_cast<float>(refinement_threshold));
+      p_coarsening_threshold = std::upper_bound (sorted_criteria.begin(),
+                                                sorted_criteria.end(),
+                                                static_cast<float>(coarsening_threshold));
     };
 
 
@@ -897,7 +897,7 @@ void TimeStepBase_Tria<dim>::refine_grid (const RefinementData refinement_data)
        double delta_up = refinement_flags.cell_number_corridor_top,
             delta_down = refinement_flags.cell_number_corridor_bottom;
 
-       const vector<pair<unsigned int,double> > &relaxations
+       const std::vector<std::pair<unsigned int,double> > &relaxations
          = (sweep_no >= refinement_flags.correction_relaxations.size() ?
             refinement_flags.correction_relaxations.back() :
             refinement_flags.correction_relaxations[sweep_no]);
@@ -1158,10 +1158,10 @@ template <int dim>
 TimeStepBase_Tria<dim>::RefinementFlags::CorrectionRelaxations
 TimeStepBase_Tria<dim>::RefinementFlags::default_correction_relaxations 
   (1,    // one element, denoting the first and all subsequent sweeps
-   vector<pair<unsigned int,double> >(1,    // one element, denoting the upper bound
-                                                                      // for the following
-                                                                      // relaxation
-                                     make_pair (0, 0.)));
+   std::vector<std::pair<unsigned int,double> >(1,    // one element, denoting the upper bound
+                                                                                // for the following
+                                                                                // relaxation
+                                               std::make_pair (0, 0.)));
 
 
 template <int dim>
index 7aba0b069ef8a4c167cbb099ecbc8604f5a9c95e..1321f0c47152490a64802af4bfc3e5fda22e22e7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -18,7 +18,7 @@
 
 void
 VectorTools::subtract_mean_value(Vector<double>     &v,
-                                const vector<bool> &p_select)
+                                const std::vector<bool> &p_select)
 {
   unsigned int n = v.size();
   Assert(n == p_select.size(), ExcDimensionMismatch(n, p_select.size()));
index 0b31df47f32908d353a8952d4a58db25f9868727..ded806891a9f6f0fab44d247919e2b9632fddbcb 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -32,7 +32,7 @@
 
 #include <numeric>
 #include <algorithm>
-#include <bvector.h>
+#include <vector.h>
 #include <cmath>
 
 
@@ -77,7 +77,7 @@ void VectorTools::interpolate (const DoFHandler<dim> &dof,
                                   // avoided to evaluate
                                   // the vectorfunction multiply at
                                   // the same point on a cell.
-  vector<Point<dim> > unit_support_points (fe.dofs_per_cell);
+  std::vector<Point<dim> > unit_support_points (fe.dofs_per_cell);
   fe.get_unit_support_points(unit_support_points);
 
                                   // The following works well
@@ -180,10 +180,10 @@ void VectorTools::interpolate (const DoFHandler<dim> &dof,
                                   // the following vector collects all rep dofs.
                                   // the position of a rep dof within this vector
                                   // is called rep index.
-  vector<unsigned int> dofs_of_rep_points;
+  std::vector<unsigned int> dofs_of_rep_points;
                                   // the following table converts a dof i
                                   // to the rep index.
-  vector<unsigned int> dof_to_rep_index_table;
+  std::vector<unsigned int> dof_to_rep_index_table;
   unsigned int n_rep_points=0;
   for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
     {
@@ -215,10 +215,10 @@ void VectorTools::interpolate (const DoFHandler<dim> &dof,
   Assert(dofs_of_rep_points.size()==n_rep_points, ExcInternalError());
   Assert(dof_to_rep_index_table.size()==fe.dofs_per_cell, ExcInternalError());
 
-  vector<unsigned int> dofs_on_cell (fe.dofs_per_cell);
-  vector<Point<dim> >  support_points (fe.dofs_per_cell);
+  std::vector<unsigned int> dofs_on_cell (fe.dofs_per_cell);
+  std::vector<Point<dim> >  support_points (fe.dofs_per_cell);
 
-  vector<Point<dim> >  rep_points (n_rep_points);
+  std::vector<Point<dim> >  rep_points (n_rep_points);
 
                                   // get space for the values of the
                                   // function at the rep support points.
@@ -226,8 +226,8 @@ void VectorTools::interpolate (const DoFHandler<dim> &dof,
                                   // have two versions, one for system fe
                                   // and one for scalar ones, to take the
                                   // more efficient one respectively
-  vector<double>          function_values_scalar (n_rep_points);
-  vector<Vector<double> > function_values_system (n_rep_points,
+  std::vector<double>          function_values_scalar (n_rep_points);
+  std::vector<Vector<double> > function_values_system (n_rep_points,
                                                  Vector<double>(fe.n_components()));
 
   for (; cell!=endc; ++cell)
@@ -293,8 +293,8 @@ VectorTools::interpolate (const DoFHandler<dim>           &dof_1,
   Vector<double> cell_data_1(dof_1.get_fe().dofs_per_cell);
   Vector<double> cell_data_2(dof_2.get_fe().dofs_per_cell);
 
-  vector<short unsigned int> touch_count (dof_2.n_dofs(), 0);
-  vector<unsigned int>       local_dof_indices (dof_2.get_fe().dofs_per_cell);
+  std::vector<short unsigned int> touch_count (dof_2.n_dofs(), 0);
+  std::vector<unsigned int>       local_dof_indices (dof_2.get_fe().dofs_per_cell);
   
   DoFHandler<dim>::active_cell_iterator h = dof_1.begin_active();
   DoFHandler<dim>::active_cell_iterator l = dof_2.begin_active();
@@ -372,7 +372,7 @@ void VectorTools::project (const DoFHandler<dim>    &dof,
   const FiniteElement<dim> &fe = dof.get_fe();
 
                                   // make up boundary values
-  map<unsigned int,double> boundary_values;
+  std::map<unsigned int,double> boundary_values;
 
   if (enforce_zero_boundary == true) 
                                     // no need to project boundary values, but
@@ -381,7 +381,7 @@ void VectorTools::project (const DoFHandler<dim>    &dof,
     {
       DoFHandler<dim>::active_face_iterator face = dof.begin_active_face(),
                                            endf = dof.end_face();
-      vector<unsigned int> face_dof_indices (fe.dofs_per_face);
+      std::vector<unsigned int> face_dof_indices (fe.dofs_per_face);
       for (; face!=endf; ++face)
        if (face->at_boundary())
          {
@@ -405,7 +405,7 @@ void VectorTools::project (const DoFHandler<dim>    &dof,
                                         // the different boundary parts. We want the
                                         // @p{function} to hold on all parts of the
                                         // boundary
-       map<unsigned char,const Function<dim>*> boundary_functions;
+       std::map<unsigned char,const Function<dim>*> boundary_functions;
        for (unsigned char c=0; c<255; ++c)
          boundary_functions[c] = &function;
        project_boundary_values (dof, boundary_functions, q_boundary,
@@ -482,7 +482,7 @@ void VectorTools::create_right_hand_side (const DoFHandler<dim>    &dof_handler,
                     n_q_points    = fe_values.n_quadrature_points,
                     n_components  = fe.n_components();
   
-  vector<unsigned int> dofs (dofs_per_cell);
+  std::vector<unsigned int> dofs (dofs_per_cell);
   Vector<double> cell_vector (dofs_per_cell);
 
   DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
@@ -490,14 +490,14 @@ void VectorTools::create_right_hand_side (const DoFHandler<dim>    &dof_handler,
 
   if (n_components==1)
     {
-      vector<double> rhs_values(n_q_points);
+      std::vector<double> rhs_values(n_q_points);
       
       for (; cell!=endc; ++cell) 
        {
          fe_values.reinit(cell);
          
          const FullMatrix<double> &values    = fe_values.get_shape_values ();
-         const vector<double>     &weights   = fe_values.get_JxW_values ();
+         const std::vector<double>     &weights   = fe_values.get_JxW_values ();
          rhs_function.value_list (fe_values.get_quadrature_points(), rhs_values);
          
          cell_vector.clear();
@@ -516,14 +516,14 @@ void VectorTools::create_right_hand_side (const DoFHandler<dim>    &dof_handler,
     }
   else
     {
-      vector<Vector<double> > rhs_values(n_q_points, Vector<double>(n_components));
+      std::vector<Vector<double> > rhs_values(n_q_points, Vector<double>(n_components));
       
       for (; cell!=endc; ++cell) 
        {
          fe_values.reinit(cell);
          
          const FullMatrix<double> &values    = fe_values.get_shape_values ();
-         const vector<double>     &weights   = fe_values.get_JxW_values ();
+         const std::vector<double>     &weights   = fe_values.get_JxW_values ();
          rhs_function.vector_value_list (fe_values.get_quadrature_points(), rhs_values);
          
          cell_vector.clear();
@@ -555,8 +555,8 @@ void
 VectorTools::interpolate_boundary_values (const DoFHandler<1>      &dof,
                                          const unsigned char       boundary_component,
                                          const Function<1>        &boundary_function,
-                                         map<unsigned int,double> &boundary_values,
-                                         const vector<bool>       &component_mask_)
+                                         std::map<unsigned int,double> &boundary_values,
+                                         const std::vector<bool>       &component_mask_)
 {
   Assert (boundary_component != 255,
          ExcInvalidBoundaryIndicator());
@@ -568,8 +568,8 @@ VectorTools::interpolate_boundary_values (const DoFHandler<1>      &dof,
                                   // set the component mask to either
                                   // the original value or a vector
                                   // of @p{true}s
-  const vector<bool> component_mask ((component_mask_.size() == 0) ?
-                                    vector<bool> (fe.n_components(), true) :
+  const std::vector<bool> component_mask ((component_mask_.size() == 0) ?
+                                    std::vector<bool> (fe.n_components(), true) :
                                     component_mask_);
   Assert (count(component_mask.begin(), component_mask.end(), true) > 0,
          ExcComponentMismatch());
@@ -630,8 +630,8 @@ void
 VectorTools::interpolate_boundary_values (const DoFHandler<dim>    &dof,
                                          const unsigned char       boundary_component,
                                          const Function<dim>      &boundary_function,
-                                         map<unsigned int,double> &boundary_values,
-                                         const vector<bool>       &component_mask_)
+                                         std::map<unsigned int,double> &boundary_values,
+                                         const std::vector<bool>       &component_mask_)
 {
   Assert (boundary_component != 255,
          ExcInvalidBoundaryIndicator());
@@ -646,23 +646,23 @@ VectorTools::interpolate_boundary_values (const DoFHandler<dim>    &dof,
                                   // set the component mask to either
                                   // the original value or a vector
                                   // of @p{true}s
-  const vector<bool> component_mask ((component_mask_.size() == 0) ?
-                                    vector<bool> (fe.n_components(), true) :
+  const std::vector<bool> component_mask ((component_mask_.size() == 0) ?
+                                    std::vector<bool> (fe.n_components(), true) :
                                     component_mask_);
   Assert (count(component_mask.begin(), component_mask.end(), true) > 0,
          ExcComponentMismatch());
 
                                   // field to store the indices of dofs
-  vector<unsigned int> face_dofs (fe.dofs_per_face, -1);
-  vector<Point<dim> >  dof_locations (face_dofs.size(), Point<dim>());
+  std::vector<unsigned int> face_dofs (fe.dofs_per_face, -1);
+  std::vector<Point<dim> >  dof_locations (face_dofs.size(), Point<dim>());
                                   // array to store the values of
                                   // the boundary function at the
                                   // boundary points. have to arrays
                                   // for scalar and vector functions
                                   // to use the more efficient one
                                   // respectively
-  vector<double>          dof_values_scalar (fe.dofs_per_face);
-  vector<Vector<double> > dof_values_system (fe.dofs_per_face,
+  std::vector<double>          dof_values_scalar (fe.dofs_per_face);
+  std::vector<Vector<double> > dof_values_system (fe.dofs_per_face,
                                             Vector<double>(fe.n_components()));
        
   DoFHandler<dim>::active_face_iterator face = dof.begin_active_face(),
@@ -711,16 +711,16 @@ VectorTools::interpolate_boundary_values (const DoFHandler<dim>    &dof,
 template <int dim>
 void
 VectorTools::project_boundary_values (const DoFHandler<dim>    &dof,
-                                     const map<unsigned char,const Function<dim>*> &boundary_functions,
+                                     const std::map<unsigned char,const Function<dim>*> &boundary_functions,
                                      const Quadrature<dim-1>  &q,
-                                     map<unsigned int,double> &boundary_values)
+                                     std::map<unsigned int,double> &boundary_values)
 {
   Assert (dof.get_fe().n_components() == boundary_functions.begin()->second->n_components,
          ExcComponentMismatch());
   
-  vector<unsigned int> dof_to_boundary_mapping;
-  set<unsigned char> selected_boundary_components;
-  for (typename map<unsigned char,const Function<dim>*>::const_iterator
+  std::vector<unsigned int> dof_to_boundary_mapping;
+  std::set<unsigned char> selected_boundary_components;
+  for (typename std::map<unsigned char,const Function<dim>*>::const_iterator
         i=boundary_functions.begin();
        i!=boundary_functions.end(); ++i)
     selected_boundary_components.insert (i->first);
@@ -832,23 +832,23 @@ VectorTools::integrate_difference (const DoFHandler<dim>    &dof,
   
   FEValues<dim> fe_values(fe, q, update_flags);
 
-  vector< Vector<double> >        function_values (n_q_points,
+  std::vector< Vector<double> >        function_values (n_q_points,
                                                   Vector<double>(n_components));
-  vector<vector<Tensor<1,dim> > > function_grads (n_q_points,
-                                                 vector<Tensor<1,dim> >(n_components));
-  vector<double> weight_values (n_q_points);
-  vector<Vector<double> > weight_vectors (n_q_points, n_components);
+  std::vector<std::vector<Tensor<1,dim> > > function_grads (n_q_points,
+                                                 std::vector<Tensor<1,dim> >(n_components));
+  std::vector<double> weight_values (n_q_points);
+  std::vector<Vector<double> > weight_vectors (n_q_points, n_components);
   
-  vector<Vector<double> >         psi_values (n_q_points,
+  std::vector<Vector<double> >         psi_values (n_q_points,
                                              Vector<double>(n_components));
-  vector<vector<Tensor<1,dim> > > psi_grads (n_q_points,
-                                            vector<Tensor<1,dim> >(n_components));
-  vector<double> psi_scalar (n_q_points);
+  std::vector<std::vector<Tensor<1,dim> > > psi_grads (n_q_points,
+                                            std::vector<Tensor<1,dim> >(n_components));
+  std::vector<double> psi_scalar (n_q_points);
                                   // tmp vector when we use the
                                   // Function<dim> functions for
                                   // scalar functions
-  vector<double>         tmp_values (fe_values.n_quadrature_points);
-  vector<Tensor<1,dim> > tmp_gradients (fe_values.n_quadrature_points);
+  std::vector<double>         tmp_values (fe_values.n_quadrature_points);
+  std::vector<Tensor<1,dim> > tmp_gradients (fe_values.n_quadrature_points);
   
                                   // loop over all cells
   DoFHandler<dim>::active_cell_iterator cell = dof.begin_active(),
@@ -937,9 +937,9 @@ VectorTools::integrate_difference (const DoFHandler<dim>    &dof,
                          }
 
                                                       // Integration on one cell
-                     diff = inner_product (psi_scalar.begin(), psi_scalar.end(),
-                                           fe_values.get_JxW_values().begin(),
-                                           0.0);
+                     diff = std::inner_product (psi_scalar.begin(), psi_scalar.end(),
+                                                fe_values.get_JxW_values().begin(),
+                                                0.0);
                      break;
                                                       // Compute (weighted) squares
                                                       // in each quadrature point
@@ -1031,7 +1031,7 @@ VectorTools::integrate_difference (const DoFHandler<dim>    &dof,
                          psi_scalar[q] = psi_values[q].linfty_norm();
 
                                                       // Maximum on one cell
-                     diff = *max_element (psi_scalar.begin(), psi_scalar.end());
+                     diff = *std::max_element (psi_scalar.begin(), psi_scalar.end());
                      break;
                default:
                      Assert (false, ExcNotImplemented());
@@ -1142,7 +1142,7 @@ VectorTools::compute_mean_value (const DoFHandler<dim> &dof,
                               | update_values));
 
   DoFHandler<dim>::active_cell_iterator c;
-  vector<Vector<double> > values(quadrature.n_quadrature_points,
+  std::vector<Vector<double> > values(quadrature.n_quadrature_points,
                                 Vector<double> (dof.get_fe().n_components()));
   
   double mean = 0.;
@@ -1176,9 +1176,9 @@ void VectorTools::integrate_difference (const DoFHandler<deal_II_dimension> &,
                                        const Function<deal_II_dimension>   *);
 template
 void VectorTools::project_boundary_values (const DoFHandler<deal_II_dimension>  &,
-                                          const map<unsigned char,const Function<deal_II_dimension>*>&,
+                                          const std::map<unsigned char,const Function<deal_II_dimension>*>&,
                                           const Quadrature<deal_II_dimension-1>&,
-                                          map<unsigned int,double>        &);
+                                          std::map<unsigned int,double>        &);
 
 template
 void VectorTools::create_right_hand_side (const DoFHandler<deal_II_dimension> &,
@@ -1212,8 +1212,8 @@ template
 void VectorTools::interpolate_boundary_values (const DoFHandler<deal_II_dimension> &,
                                               const unsigned char,
                                               const Function<deal_II_dimension>   &,
-                                              map<unsigned int,double>       &,
-                                              const vector<bool>    &);
+                                              std::map<unsigned int,double>       &,
+                                              const std::vector<bool>    &);
 template
 void VectorTools::project (const DoFHandler<deal_II_dimension>   &,
                           const ConstraintMatrix                &,
index d07d5c5ef7bf35a08e5828a0b2cc3149f4bd921e..e2ea6d9ad935ab383a460b626720b053a905d2be 100644 (file)
@@ -72,7 +72,7 @@ void first_grid ()
                                    // Now we want to write it to some
                                    // output, here in postscript
                                    // format
-  ofstream out ("grid-1.eps");
+  std::ofstream out ("grid-1.eps");
   GridOut grid_out;
   grid_out.write_eps (triangulation, out);
 };
@@ -194,7 +194,7 @@ void second_grid ()
                                    // Now we want to write it to some
                                    // output, here in postscript
                                    // format
-  ofstream out ("grid-2.eps");
+  std::ofstream out ("grid-2.eps");
   GridOut grid_out;
   grid_out.write_eps (triangulation, out);
 
index 181571a7bca76f2ff61af62bae8cc2d898cb7f9d..9cec48bc60a42be93b921c4643951780400ddf81 100644 (file)
@@ -235,7 +235,7 @@ void distribute_dofs (DoFHandler<2> &dof_handler)
   sparsity_pattern.compress ();
 
                                   // Now write the results to a file
-  ofstream out ("sparsity_pattern.1");
+  std::ofstream out ("sparsity_pattern.1");
   sparsity_pattern.print_gnuplot (out);
                                   // The result is in GNUPLOT format,
                                   // where in each line of the output
@@ -315,7 +315,7 @@ void renumber_dofs (DoFHandler<2> &dof_handler)
   DoFTools::make_sparsity_pattern (dof_handler, sparsity_pattern);
   sparsity_pattern.compress ();
                                   // ...and output the result:
-  ofstream out ("sparsity_pattern.2");
+  std::ofstream out ("sparsity_pattern.2");
   sparsity_pattern.print_gnuplot (out);
                                   // Again, the output is shown
                                   // below. Note that the nonzero
index 385f7c94f7b2d73a330310f53d314584ed115a61..9c6fdc2d4b4093a297fb816a012c15cc2f609f53 100644 (file)
@@ -182,9 +182,9 @@ void LaplaceProblem::make_grid_and_dofs ()
                                   // of terminal cells. By terminal
                                   // we mean the cells on the finest
                                   // grid.
-  cout << "Number of active cells: "
-       << triangulation.n_active_cells()
-       << endl;
+  std::cout << "Number of active cells: "
+           << triangulation.n_active_cells()
+           << std::endl;
                                   // We stress the adjective
                                   // `terminal' or `active', since
                                   // there are more cells, namely the
@@ -198,9 +198,9 @@ void LaplaceProblem::make_grid_and_dofs ()
                                   // i.e. 256, then 64, 16, 4, and
                                   // 1. We can get the total number
                                   // of cells like this:
-  cout << "Total number of cells: "
-       << triangulation.n_cells()
-       << endl;
+  std::cout << "Total number of cells: "
+           << triangulation.n_cells()
+           << std::endl;
                                   // Note the distinction between
                                   // n_active_cells() and n_cells().
   
@@ -218,9 +218,9 @@ void LaplaceProblem::make_grid_and_dofs ()
                                   // Now that we have the degrees of
                                   // freedom, we can take a look at
                                   // how many there are:
-  cout << "Number of degrees of freedom: "
-       << dof_handler.n_dofs()
-       << endl;
+  std::cout << "Number of degrees of freedom: "
+           << dof_handler.n_dofs()
+           << std::endl;
                                   // There should be one DoF for each
                                   // vertex. Since we have a 32 times
                                   // 32 grid, the number of DoFs
@@ -431,7 +431,7 @@ void LaplaceProblem::assemble_system ()
                                   // them, we need a scratch
                                   // (temporary) array for these
                                   // numbers:
-  vector<unsigned int> local_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices (dofs_per_cell);
 
                                   // Now for the loop over all
                                   // cells. You have seen before how
@@ -649,7 +649,7 @@ void LaplaceProblem::assemble_system ()
                                   // mapping of DoF numbers to
                                   // boundary values is done by the
                                   // `map' class.
-  map<unsigned int,double> boundary_values;
+  std::map<unsigned int,double> boundary_values;
   VectorTools::interpolate_boundary_values (dof_handler,
                                            0,
                                            ZeroFunction<2>(),
@@ -799,7 +799,7 @@ void LaplaceProblem::output_results () const
                                   // are other functions which write
                                   // their data in postscript, AVS,
                                   // GMV, or some other format):
-  ofstream output ("solution.gpl");
+  std::ofstream output ("solution.gpl");
   data_out.write_gnuplot (output);
 };
 
index 94d1e2e1ac002dbd77d2ded18811b5bc1e495c0d..8566ce580dd60ecb450aee961e4e02bf91db758f 100644 (file)
@@ -250,18 +250,18 @@ void LaplaceProblem<dim>::make_grid_and_dofs ()
   GridGenerator::hyper_cube (triangulation, -1, 1);
   triangulation.refine_global (4);
   
-  cout << "   Number of active cells: "
-       << triangulation.n_active_cells()
-       << endl
-       << "   Total number of cells: "
-       << triangulation.n_cells()
-       << endl;
+  std::cout << "   Number of active cells: "
+           << triangulation.n_active_cells()
+           << std::endl
+           << "   Total number of cells: "
+           << triangulation.n_cells()
+           << std::endl;
 
   dof_handler.distribute_dofs (fe);
 
-  cout << "   Number of degrees of freedom: "
-       << dof_handler.n_dofs()
-       << endl;
+  std::cout << "   Number of degrees of freedom: "
+           << dof_handler.n_dofs()
+           << std::endl;
 
   sparsity_pattern.reinit (dof_handler.n_dofs(),
                           dof_handler.n_dofs(),
@@ -358,7 +358,7 @@ void LaplaceProblem<dim>::assemble_system ()
   FullMatrix<double>   cell_matrix (dofs_per_cell, dofs_per_cell);
   Vector<double>       cell_rhs (dofs_per_cell);
 
-  vector<unsigned int> local_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices (dofs_per_cell);
 
                                   // Note here, that a cell is a
                                   // quadrilateral in two space
@@ -446,7 +446,7 @@ void LaplaceProblem<dim>::assemble_system ()
                                   // would like to use (i.e. the
                                   // BoundaryValues class declared
                                   // above):
-  map<unsigned int,double> boundary_values;
+  std::map<unsigned int,double> boundary_values;
   VectorTools::interpolate_boundary_values (dof_handler,
                                            0,
                                            BoundaryValues<dim>(),
@@ -479,9 +479,9 @@ void LaplaceProblem<dim>::solve ()
                                   // from the linear solvers, we have
                                   // to print the number of
                                   // iterations by hand.
-  cout << "   " << solver_control.last_step()
-       << " CG iterations needed to obtain convergence."
-       << endl;
+  std::cout << "   " << solver_control.last_step()
+           << " CG iterations needed to obtain convergence."
+           << std::endl;
 };
 
 
@@ -511,9 +511,9 @@ void LaplaceProblem<dim>::output_results () const
                                   // other values than 2 or 3, but we
                                   // neglect this here for the sake
                                   // of brevity).
-  ofstream output (dim == 2 ?
-                  "solution-2d.gmv" :
-                  "solution-3d.gmv");
+  std::ofstream output (dim == 2 ?
+                       "solution-2d.gmv" :
+                       "solution-3d.gmv");
   data_out.write_gmv (output);
 };
 
@@ -527,7 +527,7 @@ void LaplaceProblem<dim>::output_results () const
 template <int dim>
 void LaplaceProblem<dim>::run () 
 {
-  cout << "Solving problem in " << dim << " space dimensions." << endl;
+  std::cout << "Solving problem in " << dim << " space dimensions." << std::endl;
   
   make_grid_and_dofs();
   assemble_system ();
index 71951736fabe7a9e9747a224d2e4ae1e320c2a0f..5477e710f346375df58955815891ca47461c9f1a 100644 (file)
@@ -105,9 +105,9 @@ class Coefficient : public Function<dim>
     virtual double value (const Point<dim>   &p,
                          const unsigned int  component = 0) const;
     
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 };
 
 
@@ -136,9 +136,9 @@ double Coefficient<dim>::value (const Point<dim> &p,
                                 // values are the same as if we would
                                 // ask the ``value'' function.
 template <int dim>
-void Coefficient<dim>::value_list (const vector<Point<dim> > &points,
-                                  vector<double>            &values,
-                                  const unsigned int component) const 
+void Coefficient<dim>::value_list (const std::vector<Point<dim> > &points,
+                                  std::vector<double>            &values,
+                                  const unsigned int              component) const 
 {
                                   // Use n_q_points as an
                                   // abbreviation for the number of
@@ -272,9 +272,9 @@ void LaplaceProblem<dim>::setup_system ()
 {
   dof_handler.distribute_dofs (fe);
 
-  cout << "   Number of degrees of freedom: "
-       << dof_handler.n_dofs()
-       << endl;
+  std::cout << "   Number of degrees of freedom: "
+           << dof_handler.n_dofs()
+           << std::endl;
 
   sparsity_pattern.reinit (dof_handler.n_dofs(),
                           dof_handler.n_dofs(),
@@ -341,7 +341,7 @@ void LaplaceProblem<dim>::assemble_system ()
   FullMatrix<double>   cell_matrix (dofs_per_cell, dofs_per_cell);
   Vector<double>       cell_rhs (dofs_per_cell);
 
-  vector<unsigned int> local_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices (dofs_per_cell);
 
                                   // Below, we will ask the
                                   // Coefficient class to compute the
@@ -351,7 +351,7 @@ void LaplaceProblem<dim>::assemble_system ()
                                   // space to store the values in,
                                   // which we use the following
                                   // variable for:
-  vector<double>     coefficient_values (n_q_points);
+  std::vector<double>     coefficient_values (n_q_points);
 
   DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
                                        endc = dof_handler.end();
@@ -409,7 +409,7 @@ void LaplaceProblem<dim>::assemble_system ()
                                       // in the FEValues class. The
                                       // gradient are accessed as
                                       // follows:
-      const vector<vector<Tensor<1,dim> > >
+      const std::vector<std::vector<Tensor<1,dim> > >
        & shape_grads  = fe_values.get_shape_grads();
                                       // The data type looks a bit
                                       // unwieldy, since each entry
@@ -426,9 +426,9 @@ void LaplaceProblem<dim>::assemble_system ()
                                       // respective quadrature points
                                       // are stored, can be obtained
                                       // like this:
-      const vector<double>
+      const std::vector<double>
        & JxW_values   = fe_values.get_JxW_values();
-      const vector<Point<dim> >
+      const std::vector<Point<dim> >
        & q_points     = fe_values.get_quadrature_points();
                                       // Admittedly, the declarations
                                       // above are not easily
@@ -558,7 +558,7 @@ void LaplaceProblem<dim>::assemble_system ()
     };
 
                                   // Again use zero boundary values:
-  map<unsigned int,double> boundary_values;
+  std::map<unsigned int,double> boundary_values;
   VectorTools::interpolate_boundary_values (dof_handler,
                                            0,
                                            ZeroFunction<dim>(),
@@ -625,9 +625,9 @@ void LaplaceProblem<dim>::solve ()
   cg.solve (system_matrix, solution, system_rhs,
            preconditioner);
 
-  cout << "   " << solver_control.last_step()
-       << " CG iterations needed to obtain convergence."
-       << endl;
+  std::cout << "   " << solver_control.last_step()
+           << " CG iterations needed to obtain convergence."
+           << std::endl;
 };
 
 
@@ -741,20 +741,20 @@ void LaplaceProblem<dim>::output_results (const unsigned int cycle) const
                                   // could as well give stream
                                   // modifiers such as ``setf'',
                                   // ``setprecision'', and so on.
-  ostrstream filename;
+  std::ostrstream filename;
   filename << "solution-"
           << cycle
           << ".eps";
                                   // In order to append the final
                                   // '\0', we have to put an ``ends''
                                   // to the end of the string:
-  filename << ends;
+  filename << std::ends;
   
                                   // We can get whatever we wrote to
                                   // the stream using the ``str()''
                                   // function. Use that as filename
                                   // for the output stream:
-  ofstream output (filename.str());
+  std::ofstream output (filename.str());
                                   // And then write the data to the
                                   // file.
   data_out.write_eps (output);
@@ -767,7 +767,7 @@ void LaplaceProblem<dim>::run ()
 {
   for (unsigned int cycle=0; cycle<6; ++cycle)
     {
-      cout << "Cycle " << cycle << ':' << endl;
+      std::cout << "Cycle " << cycle << ':' << std::endl;
 
                                       // If this is the first round,
                                       // then we have no grid yet,
@@ -799,7 +799,7 @@ void LaplaceProblem<dim>::run ()
        {
          GridIn<dim> grid_in;
          grid_in.attach_triangulation (triangulation);
-         ifstream input_file("circle-grid.inp");
+         std::ifstream input_file("circle-grid.inp");
                                           // We would now like to
                                           // read the file. However,
                                           // the input file is only
@@ -902,12 +902,12 @@ void LaplaceProblem<dim>::run ()
                                       // the things that we have
                                       // already seen in the previous
                                       // examples.
-      cout << "   Number of active cells: "
-          << triangulation.n_active_cells()
-          << endl
-          << "   Total number of cells: "
-          << triangulation.n_cells()
-          << endl;
+      std::cout << "   Number of active cells: "
+               << triangulation.n_active_cells()
+               << std::endl
+               << "   Total number of cells: "
+               << triangulation.n_cells()
+               << std::endl;
 
       setup_system ();
       assemble_system ();
@@ -948,8 +948,8 @@ int main ()
                                   // lines.
 /*  
   Coefficient<2>    coefficient;
-  vector<Point<2> > points (2);
-  vector<double>    coefficient_values (1);
+  std::vector<Point<2> > points (2);
+  std::vector<double>    coefficient_values (1);
   coefficient.value_list (points, coefficient_values);
 */
   
index 42e56590b047978aecfc674dc6cc94d5d5567e8a..f617d9843e784976ad37203bba979969f45f9650 100644 (file)
@@ -145,9 +145,9 @@ class Coefficient : public Function<dim>
     virtual double value (const Point<dim>   &p,
                          const unsigned int  component = 0) const;
     
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 };
 
 
@@ -165,9 +165,9 @@ double Coefficient<dim>::value (const Point<dim> &p,
 
 
 template <int dim>
-void Coefficient<dim>::value_list (const vector<Point<dim> > &points,
-                                  vector<double>            &values,
-                                  const unsigned int component) const 
+void Coefficient<dim>::value_list (const std::vector<Point<dim> > &points,
+                                  std::vector<double>            &values,
+                                  const unsigned int              component) const 
 {
   const unsigned int n_points = points.size();
 
@@ -465,9 +465,9 @@ void LaplaceProblem<dim>::assemble_system ()
   FullMatrix<double>   cell_matrix (dofs_per_cell, dofs_per_cell);
   Vector<double>       cell_rhs (dofs_per_cell);
 
-  vector<unsigned int> local_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices (dofs_per_cell);
 
-  vector<double>       coefficient_values (n_q_points);
+  std::vector<double>       coefficient_values (n_q_points);
 
                                   // We can now go on with assembling
                                   // the matrix and right hand
@@ -493,11 +493,11 @@ void LaplaceProblem<dim>::assemble_system ()
       fe_values.reinit (cell);
       const FullMatrix<double> 
        & shape_values = fe_values.get_shape_values();
-      const vector<vector<Tensor<1,dim> > >
+      const std::vector<std::vector<Tensor<1,dim> > >
        & shape_grads  = fe_values.get_shape_grads();
-      const vector<double>
+      const std::vector<double>
        & JxW_values   = fe_values.get_JxW_values();
-      const vector<Point<dim> >
+      const std::vector<Point<dim> >
        & q_points     = fe_values.get_quadrature_points();
 
       coefficient.value_list (q_points, coefficient_values);
@@ -564,7 +564,7 @@ void LaplaceProblem<dim>::assemble_system ()
                                   // from the system of equations
                                   // happens *after* the elimination
                                   // of hanging nodes.
-  map<unsigned int,double> boundary_values;
+  std::map<unsigned int,double> boundary_values;
   VectorTools::interpolate_boundary_values (dof_handler,
                                            0,
                                            ZeroFunction<dim>(),
@@ -817,12 +817,12 @@ void LaplaceProblem<dim>::output_results (const unsigned int cycle) const
                                   // this will only work if the cycle
                                   // number is less than ten, which
                                   // we check by an assertion.
-  string filename = "grid-";
+  std::string filename = "grid-";
   filename += ('0' + cycle);
   Assert (cycle < 10, ExcInternalError());
   
   filename += ".eps";
-  ofstream output (filename.c_str());
+  std::ofstream output (filename.c_str());
 
                                   // Using this filename, we write
                                   // each grid as a postscript file.
@@ -837,7 +837,7 @@ void LaplaceProblem<dim>::run ()
 {
   for (unsigned int cycle=0; cycle<8; ++cycle)
     {
-      cout << "Cycle " << cycle << ':' << endl;
+      std::cout << "Cycle " << cycle << ':' << std::endl;
 
       if (cycle == 0)
        {
@@ -889,15 +889,15 @@ void LaplaceProblem<dim>::run ()
        };
       
 
-      cout << "   Number of active cells:       "
-          << triangulation.n_active_cells()
-          << endl;
+      std::cout << "   Number of active cells:       "
+               << triangulation.n_active_cells()
+               << std::endl;
 
       setup_system ();
 
-      cout << "   Number of degrees of freedom: "
-          << dof_handler.n_dofs()
-          << endl;
+      std::cout << "   Number of degrees of freedom: "
+               << dof_handler.n_dofs()
+               << std::endl;
       
       assemble_system ();
       solve ();
@@ -922,7 +922,7 @@ void LaplaceProblem<dim>::run ()
   data_out.add_data_vector (solution, "solution");
   data_out.build_patches ();
   
-  ofstream output ("final-solution.eps");
+  std::ofstream output ("final-solution.eps");
   data_out.write_eps (output);
 };
 
@@ -1007,16 +1007,16 @@ int main ()
                                   // other information. This is also
                                   // what would be printed in the
                                   // following.
-  catch (exception &exc)
+  catch (std::exception &exc)
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Exception on processing: " << endl
-          << exc.what() << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+               << exc.what() << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
                                       // We can't do much more than
                                       // printing as much information
                                       // as we can get to, so abort
@@ -1032,13 +1032,13 @@ int main ()
                                   // message and exit.
   catch (...) 
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Unknown exception!" << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
       return 1;
     };
 
index 819a6f7ec3a6940ef475123d11f9747140ccb239..0bf34a46edd3dba3c24e7d6354a0fa4f3c92fa0d 100644 (file)
@@ -792,12 +792,12 @@ void LaplaceProblem<dim>::assemble_system ()
                                   // of the degrees of freedom on a
                                   // cell.
   RightHandSide<dim>   right_hand_side;
-  vector<double>       rhs_values (n_q_points);
+  std::vector<double>       rhs_values (n_q_points);
 
   FullMatrix<double>   cell_matrix (dofs_per_cell, dofs_per_cell);
   Vector<double>       cell_rhs (dofs_per_cell);
 
-  vector<unsigned int> local_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices (dofs_per_cell);
 
                                   // Then we define an object
                                   // denoting the exact solution
@@ -831,11 +831,11 @@ void LaplaceProblem<dim>::assemble_system ()
       fe_values.reinit (cell);
       const FullMatrix<double> 
        & shape_values = fe_values.get_shape_values();
-      const vector<vector<Tensor<1,dim> > >
+      const std::vector<std::vector<Tensor<1,dim> > >
        & shape_grads  = fe_values.get_shape_grads();
-      const vector<double>
+      const std::vector<double>
        & JxW_values   = fe_values.get_JxW_values();
-      const vector<Point<dim> >
+      const std::vector<Point<dim> >
        & q_points     = fe_values.get_quadrature_points();
 
       right_hand_side.value_list (q_points, rhs_values);
@@ -924,11 +924,11 @@ void LaplaceProblem<dim>::assemble_system ()
                                             // local variables:
            const FullMatrix<double> 
              & face_shape_values   = fe_face_values.get_shape_values();
-           const vector<double>
+           const std::vector<double>
              & face_JxW_values     = fe_face_values.get_JxW_values();
-           const vector<Point<dim> >
+           const std::vector<Point<dim> >
              & face_q_points       = fe_face_values.get_quadrature_points();
-           const vector<Point<dim> >
+           const std::vector<Point<dim> >
              & face_normal_vectors = fe_face_values.get_normal_vectors ();
 
                                             // And we can then
@@ -1007,7 +1007,7 @@ void LaplaceProblem<dim>::assemble_system ()
                                   // belong to Gamma1 are therefore
                                   // excluded from the interpolation
                                   // of boundary values.
-  map<unsigned int,double> boundary_values;
+  std::map<unsigned int,double> boundary_values;
   VectorTools::interpolate_boundary_values (dof_handler,
                                            0,
                                            Solution<dim>(),
@@ -1215,14 +1215,14 @@ void LaplaceProblem<dim>::process_solution (const unsigned int cycle)
   const unsigned int n_active_cells=triangulation.n_active_cells();
   const unsigned int n_dofs=dof_handler.n_dofs();
   
-  cout << "Cycle " << cycle << ':' 
-       << endl
-       << "   Number of active cells:       "
-       << n_active_cells
-       << endl
-       << "   Number of degrees of freedom: "
-       << n_dofs
-       << endl;
+  std::cout << "Cycle " << cycle << ':' 
+           << std::endl
+           << "   Number of active cells:       "
+           << n_active_cells
+           << std::endl
+           << "   Number of degrees of freedom: "
+           << n_dofs
+           << std::endl;
 
                                   // Add the important data to the
                                   // ``TableHandler'' by giving the key
@@ -1427,7 +1427,7 @@ void LaplaceProblem<dim>::run ()
                                   // statements which you have
                                   // already seen in previous
                                   // examples:
-  string filename;
+  std::string filename;
   switch (refinement_mode)
     {
       case global_refinement:
@@ -1475,7 +1475,7 @@ void LaplaceProblem<dim>::run ()
     
   filename += ".gmv";
            
-  ofstream output (filename.c_str());
+  std::ofstream output (filename.c_str());
 
 
   DataOut<dim> data_out;
@@ -1560,12 +1560,12 @@ void LaplaceProblem<dim>::run ()
                                   // In each cycle values were added
                                   // to the TableHandler. Now write
                                   // the table to the standard output
-                                  // stream cout. Note, that the
+                                  // stream `std::cout'. Note, that the
                                   // output in text format is a quite
                                   // simple one and the captions may
                                   // not be printed directly above
                                   // the specific columns.
-  convergence_table.write_text(cout);
+  convergence_table.write_text(std::cout);
                                   // The table can also be written
                                   // into a Tex file.  The (nicely)
                                   // formatted table can be viewed at
@@ -1577,7 +1577,7 @@ void LaplaceProblem<dim>::run ()
                                   // refinement mode, as above
   if (true)
     {
-      string filename = "error";
+      std::string filename = "error";
       switch (refinement_mode)
        {
          case global_refinement:
@@ -1598,7 +1598,7 @@ void LaplaceProblem<dim>::run ()
          Assert (false, ExcInternalError());
       filename += ".tex";
       
-      ofstream table_file(filename.c_str());
+      std::ofstream table_file(filename.c_str());
       convergence_table.write_tex(table_file);
       table_file.close();
     }
@@ -1618,7 +1618,7 @@ void LaplaceProblem<dim>::run ()
                                   // by adding the columns or the
                                   // supercolumns to a new string
                                   // vector.
-  vector<string> new_order;
+  std::vector<std::string> new_order;
   new_order.push_back("n cells");
   new_order.push_back("H1");
   new_order.push_back("L2");
@@ -1669,11 +1669,11 @@ void LaplaceProblem<dim>::run ()
                                   // Finally, the convergence chart
                                   // is written. The filename is
                                   // again constructed as above.
-  convergence_table.write_text(cout);
+  convergence_table.write_text(std::cout);
 
   if (true)
     {
-      string filename = "convergence";
+      std::string filename = "convergence";
       switch (refinement_mode)
        {
          case global_refinement:
@@ -1694,7 +1694,7 @@ void LaplaceProblem<dim>::run ()
          Assert (false, ExcInternalError());
       filename += ".tex";
 
-      ofstream table_file(filename.c_str());
+      std::ofstream table_file(filename.c_str());
       convergence_table.write_tex(table_file);
       table_file.close();
     }
@@ -1725,63 +1725,63 @@ int main ()
                                       // before we go to the next
                                       // run.
       {
-       cout << "Solving with Q1 elements, adaptive refinement" << endl
-            << "=============================================" << endl
-            << endl;
+       std::cout << "Solving with Q1 elements, adaptive refinement" << std::endl
+                 << "=============================================" << std::endl
+                 << std::endl;
        
        FEQ1<2> fe;
        LaplaceProblem<2> laplace_problem_2d (fe, LaplaceProblem<2>::adaptive_refinement);
        laplace_problem_2d.run ();
 
-       cout << endl;
+       std::cout << std::endl;
       };
        
       {
-       cout << "Solving with Q1 elements, global refinement" << endl
-            << "===========================================" << endl
-            << endl;
+       std::cout << "Solving with Q1 elements, global refinement" << std::endl
+                 << "===========================================" << std::endl
+                 << std::endl;
        
        FEQ1<2> fe;
        LaplaceProblem<2> laplace_problem_2d (fe, LaplaceProblem<2>::global_refinement);
        laplace_problem_2d.run ();
 
-       cout << endl;
+       std::cout << std::endl;
       };
        
       {
-       cout << "Solving with Q2 elements, global refinement" << endl
-            << "===========================================" << endl
-            << endl;
+       std::cout << "Solving with Q2 elements, global refinement" << std::endl
+                 << "===========================================" << std::endl
+                 << std::endl;
        
        FEQ2<2> fe;
        LaplaceProblem<2> laplace_problem_2d (fe, LaplaceProblem<2>::global_refinement);
        laplace_problem_2d.run ();
 
-       cout << endl;
+       std::cout << std::endl;
       };
        
     }
-  catch (exception &exc)
+  catch (std::exception &exc)
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Exception on processing: " << endl
-          << exc.what() << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+               << exc.what() << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
       return 1;
     }
   catch (...) 
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Unknown exception!" << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
       return 1;
     };
 
index 264a93a8bb3712bdd0b8b16f328fe94d707f9256..fb4dcbeeede4e7176754c95310237e34c3a9a107 100644 (file)
@@ -140,8 +140,8 @@ class RightHandSide :  public Function<dim>
                                     // returns the values of the
                                     // vector-valued function at
                                     // several points at once:
-    virtual void vector_value_list (const vector<Point<dim> > &points,
-                                   vector<Vector<double> >   &value_list) const;
+    virtual void vector_value_list (const std::vector<Point<dim> > &points,
+                                   std::vector<Vector<double> >   &value_list) const;
 };
 
 
@@ -236,8 +236,8 @@ void RightHandSide<dim>::vector_value (const Point<dim> &p,
                                 // the values at several points at
                                 // once.
 template <int dim>
-void RightHandSide<dim>::vector_value_list (const vector<Point<dim> > &points,
-                                           vector<Vector<double> >   &value_list) const 
+void RightHandSide<dim>::vector_value_list (const std::vector<Point<dim> > &points,
+                                           std::vector<Vector<double> >   &value_list) const 
 {
                                   // First we define an abbreviation
                                   // for the number of points which
@@ -460,7 +460,7 @@ void ElasticProblem<dim>::assemble_system ()
   FullMatrix<double>   cell_matrix (dofs_per_cell, dofs_per_cell);
   Vector<double>       cell_rhs (dofs_per_cell);
 
-  vector<unsigned int> local_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices (dofs_per_cell);
 
                                   // As was shown in previous
                                   // examples as well, we need a
@@ -469,8 +469,8 @@ void ElasticProblem<dim>::assemble_system ()
                                   // quadrature points on a cell. In
                                   // the present situation, we have
                                   // two coefficients, lambda and mu.
-  vector<double>     lambda_values (n_q_points);
-  vector<double>     mu_values (n_q_points);
+  std::vector<double>     lambda_values (n_q_points);
+  std::vector<double>     mu_values (n_q_points);
 
                                   // Well, we could as well have
                                   // omitted the above two arrays
@@ -499,8 +499,8 @@ void ElasticProblem<dim>::assemble_system ()
                                   // which is a ``Vector<double>''
                                   // with ``dim'' elements.
   RightHandSide<dim>      right_hand_side;
-  vector<Vector<double> > rhs_values (n_q_points,
-                                     Vector<double>(dim));
+  std::vector<Vector<double> > rhs_values (n_q_points,
+                                          Vector<double>(dim));
 
 
                                   // Now we can begin with the loop
@@ -521,11 +521,11 @@ void ElasticProblem<dim>::assemble_system ()
                                       // offers:
       const FullMatrix<double> 
        & shape_values = fe_values.get_shape_values();
-      const vector<vector<Tensor<1,dim> > >
+      const std::vector<std::vector<Tensor<1,dim> > >
        & shape_grads  = fe_values.get_shape_grads();
-      const vector<double>
+      const std::vector<double>
        & JxW_values   = fe_values.get_JxW_values();
-      const vector<Point<dim> >
+      const std::vector<Point<dim> >
        & q_points     = fe_values.get_quadrature_points();
       
                                       // Next we get the values of
@@ -562,7 +562,7 @@ void ElasticProblem<dim>::assemble_system ()
                                           // that there is more in
                                           // it. In fact, the
                                           // function returns a
-                                          // ``pair<unsigned int,
+                                          // ``std::pair<unsigned int,
                                           // unsigned int>'', of
                                           // which the first element
                                           // is ``comp(i)'' and the
@@ -730,7 +730,7 @@ void ElasticProblem<dim>::assemble_system ()
                                   // we need to pass ``dim'' as
                                   // number of components to the zero
                                   // function as well.
-  map<unsigned int,double> boundary_values;
+  std::map<unsigned int,double> boundary_values;
   VectorTools::interpolate_boundary_values (dof_handler,
                                            0,
                                            ZeroFunction<dim>(dim),
@@ -813,20 +813,20 @@ void ElasticProblem<dim>::refine_grid ()
                                 // been shown in previous examples
                                 // already. The only difference is
                                 // not that the solution function is
-                                // vector values. The ``DataOut''
+                                // std::vector values. The ``DataOut''
                                 // class takes care of this
                                 // automatically, but we have to give
                                 // each component of the solution
-                                // vector a different name.
+                                // std::vector a different name.
 template <int dim>
 void ElasticProblem<dim>::output_results (const unsigned int cycle) const
 {
-  string filename = "solution-";
+  std::string filename = "solution-";
   filename += ('0' + cycle);
   Assert (cycle < 10, ExcInternalError());
   
   filename += ".gmv";
-  ofstream output (filename.c_str());
+  std::ofstream output (filename.c_str());
 
   DataOut<dim> data_out;
   data_out.attach_dof_handler (dof_handler);
@@ -859,7 +859,7 @@ void ElasticProblem<dim>::output_results (const unsigned int cycle) const
                                   // library will throw an exception
                                   // otherwise, at least if in debug
                                   // mode.
-  vector<string> solution_names;
+  std::vector<std::string> solution_names;
   switch (dim)
     {
       case 1:
@@ -925,7 +925,7 @@ void ElasticProblem<dim>::run ()
 {
   for (unsigned int cycle=0; cycle<8; ++cycle)
     {
-      cout << "Cycle " << cycle << ':' << endl;
+      std::cout << "Cycle " << cycle << ':' << std::endl;
 
       if (cycle == 0)
        {
@@ -1039,15 +1039,15 @@ void ElasticProblem<dim>::run ()
       else
        refine_grid ();
 
-      cout << "   Number of active cells:       "
-          << triangulation.n_active_cells()
-          << endl;
+      std::cout << "   Number of active cells:       "
+               << triangulation.n_active_cells()
+               << std::endl;
 
       setup_system ();
 
-      cout << "   Number of degrees of freedom: "
-          << dof_handler.n_dofs()
-          << endl;
+      std::cout << "   Number of degrees of freedom: "
+               << dof_handler.n_dofs()
+               << std::endl;
       
       assemble_system ();
       solve ();
@@ -1068,28 +1068,28 @@ int main ()
       ElasticProblem<2> elastic_problem_2d;
       elastic_problem_2d.run ();
     }
-  catch (exception &exc)
+  catch (std::exception &exc)
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Exception on processing: " << endl
-          << exc.what() << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
-
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+               << exc.what() << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      
       return 1;
     }
   catch (...) 
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Unknown exception!" << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
       return 1;
     };
 
index 7e4eae0a6ce56e096a85219bf6e33f6e8d3bda1c..39d3f6a777e4129071ccd91ed884424f6770cbdc 100644 (file)
@@ -231,8 +231,8 @@ class AdvectionField : public TensorFunction<1,dim>
   public:
     virtual Tensor<1,dim> value (const Point<dim> &p) const;
     
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<Tensor<1,dim> >    &values) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<Tensor<1,dim> >    &values) const;
 
                                     // In previous examples, we have
                                     // used assertions that throw
@@ -243,7 +243,7 @@ class AdvectionField : public TensorFunction<1,dim>
                                     // follows:
     DeclException2 (ExcDimensionMismatch,
                    unsigned int, unsigned int,
-                   << "The vector has size " << arg1 << " but should have "
+                   << "The std::vector has size " << arg1 << " but should have "
                    << arg2 << " elements.");
                                     // The syntax may look a little
                                     // strange, but is
@@ -266,7 +266,7 @@ class AdvectionField : public TensorFunction<1,dim>
                                     // types of the parameters. The
                                     // last argument is a sequence of
                                     // output directives that will be
-                                    // piped into the ``cerr''
+                                    // piped into the ``std::cerr''
                                     // object, thus the strange
                                     // format with the leading ``<<''
                                     // operator and the like. Note
@@ -332,8 +332,8 @@ AdvectionField<dim>::value (const Point<dim> &p) const
 
 template <int dim>
 void
-AdvectionField<dim>::value_list (const vector<Point<dim> > &points,
-                                vector<Tensor<1,dim> >    &values) const 
+AdvectionField<dim>::value_list (const std::vector<Point<dim> > &points,
+                                std::vector<Tensor<1,dim> >    &values) const 
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch (values.size(), points.size()));
@@ -372,9 +372,9 @@ class RightHandSide : public Function<dim>
     virtual double value (const Point<dim>   &p,
                          const unsigned int  component = 0) const;
     
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
     
   private:
     static const Point<dim> center_point;
@@ -428,9 +428,9 @@ RightHandSide<dim>::value (const Point<dim>   &p,
 
 template <int dim>
 void
-RightHandSide<dim>::value_list (const vector<Point<dim> > &points,
-                               vector<double>            &values,
-                               const unsigned int         component) const 
+RightHandSide<dim>::value_list (const std::vector<Point<dim> > &points,
+                               std::vector<double>            &values,
+                               const unsigned int              component) const 
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch (values.size(), points.size()));
@@ -452,9 +452,9 @@ class BoundaryValues : public Function<dim>
     virtual double value (const Point<dim>   &p,
                          const unsigned int  component = 0) const;
     
-    virtual void value_list (const vector<Point<dim> > &points,
-                            vector<double>            &values,
-                            const unsigned int         component = 0) const;
+    virtual void value_list (const std::vector<Point<dim> > &points,
+                            std::vector<double>            &values,
+                            const unsigned int              component = 0) const;
 };
 
 
@@ -475,9 +475,9 @@ BoundaryValues<dim>::value (const Point<dim>   &p,
 
 template <int dim>
 void
-BoundaryValues<dim>::value_list (const vector<Point<dim> > &points,
-                                vector<double>            &values,
-                                const unsigned int         component) const 
+BoundaryValues<dim>::value_list (const std::vector<Point<dim> > &points,
+                                std::vector<double>            &values,
+                                const unsigned int              component) const 
 {
   Assert (values.size() == points.size(),
          ExcDimensionMismatch (values.size(), points.size()));
@@ -603,7 +603,7 @@ class GradientEstimation
     DeclException0 (ExcInsufficientDirections);
 
   private:
-    typedef pair<unsigned int,unsigned int> IndexInterval;
+    typedef std::pair<unsigned int,unsigned int> IndexInterval;
 
     template <int dim>
     static void estimate_interval (const DoFHandler<dim> &dof,
@@ -768,7 +768,7 @@ void AdvectionProblem<dim>::assemble_system ()
                                   // only for a range of cell
                                   // iterators, but for iterators in
                                   // general, so you could use for
-                                  // ``vector<T>::iterator'' or usual
+                                  // ``std::vector<T>::iterator'' or usual
                                   // pointers as well.
                                   //
                                   // The function returns a vector of
@@ -800,7 +800,7 @@ void AdvectionProblem<dim>::assemble_system ()
                                   // first typedef this data type to
                                   // an alias.
   typedef typename DoFHandler<dim>::active_cell_iterator active_cell_iterator;
-  vector<pair<active_cell_iterator,active_cell_iterator> >
+  std::vector<std::pair<active_cell_iterator,active_cell_iterator> >
     thread_ranges 
     = Threads::split_range<active_cell_iterator> (dof_handler.begin_active (),
                                                  dof_handler.end (),
@@ -964,7 +964,7 @@ assemble_system_interval (const DoFHandler<dim>::active_cell_iterator &begin,
                                   // indices of the degrees of
                                   // freedom of the cell on which we
                                   // are presently working...
-  vector<unsigned int> local_dof_indices (dofs_per_cell);
+  std::vector<unsigned int> local_dof_indices (dofs_per_cell);
 
                                   // ... and array in which the
                                   // values of right hand side,
@@ -972,10 +972,10 @@ assemble_system_interval (const DoFHandler<dim>::active_cell_iterator &begin,
                                   // boundary values will be stored,
                                   // for cell and face integrals
                                   // respectively:
-  vector<double>         rhs_values (n_q_points);
-  vector<Tensor<1,dim> > advection_directions (n_q_points);
-  vector<double>         face_boundary_values (n_face_q_points);
-  vector<Tensor<1,dim> > face_advection_directions (n_face_q_points);
+  std::vector<double>         rhs_values (n_q_points);
+  std::vector<Tensor<1,dim> > advection_directions (n_q_points);
+  std::vector<double>         face_boundary_values (n_face_q_points);
+  std::vector<Tensor<1,dim> > face_advection_directions (n_face_q_points);
 
                                   // Then we start the main loop over
                                   // the cells:
@@ -994,11 +994,11 @@ assemble_system_interval (const DoFHandler<dim>::active_cell_iterator &begin,
       fe_values.reinit (cell);
       const FullMatrix<double> 
        & shape_values = fe_values.get_shape_values();
-      const vector<vector<Tensor<1,dim> > >
+      const std::vector<std::vector<Tensor<1,dim> > >
        & shape_grads  = fe_values.get_shape_grads();
-      const vector<double>
+      const std::vector<double>
        & JxW_values   = fe_values.get_JxW_values();
-      const vector<Point<dim> >
+      const std::vector<Point<dim> >
        & q_points     = fe_values.get_quadrature_points();
 
                                       // ... obtain the values of
@@ -1092,11 +1092,11 @@ assemble_system_interval (const DoFHandler<dim>::active_cell_iterator &begin,
            
            const FullMatrix<double> 
              & face_shape_values = fe_face_values.get_shape_values();
-           const vector<double>
+           const std::vector<double>
              & face_JxW_values   = fe_face_values.get_JxW_values();
-           const vector<Point<dim> >
+           const std::vector<Point<dim> >
              & face_q_points     = fe_face_values.get_quadrature_points();
-           const vector<Point<dim> >
+           const std::vector<Point<dim> >
              & normal_vectors    = fe_face_values.get_normal_vectors();
            
                                             // For the quadrature
@@ -1345,12 +1345,12 @@ void AdvectionProblem<dim>::refine_grid ()
 template <int dim>
 void AdvectionProblem<dim>::output_results (const unsigned int cycle) const
 {
-  string filename = "grid-";
+  std::string filename = "grid-";
   filename += ('0' + cycle);
   Assert (cycle < 10, ExcInternalError());
   
   filename += ".eps";
-  ofstream output (filename.c_str());
+  std::ofstream output (filename.c_str());
 
   GridOut grid_out;
   grid_out.write_eps (triangulation, output);
@@ -1364,7 +1364,7 @@ void AdvectionProblem<dim>::run ()
 {
   for (unsigned int cycle=0; cycle<6; ++cycle)
     {
-      cout << "Cycle " << cycle << ':' << endl;
+      std::cout << "Cycle " << cycle << ':' << std::endl;
 
       if (cycle == 0)
        {
@@ -1377,15 +1377,15 @@ void AdvectionProblem<dim>::run ()
        };
       
 
-      cout << "   Number of active cells:       "
-          << triangulation.n_active_cells()
-          << endl;
+      std::cout << "   Number of active cells:       "
+               << triangulation.n_active_cells()
+               << std::endl;
 
       setup_system ();
 
-      cout << "   Number of degrees of freedom: "
-          << dof_handler.n_dofs()
-          << endl;
+      std::cout << "   Number of degrees of freedom: "
+               << dof_handler.n_dofs()
+               << std::endl;
       
       assemble_system ();
       solve ();
@@ -1397,7 +1397,7 @@ void AdvectionProblem<dim>::run ()
   data_out.add_data_vector (solution, "solution");
   data_out.build_patches ();
   
-  ofstream output ("final-solution.gmv");
+  std::ofstream output ("final-solution.gmv");
   data_out.write_gmv (output);
 };
 
@@ -1445,7 +1445,7 @@ GradientEstimation::estimate (const DoFHandler<dim> &dof_handler,
                                   // larger interval. This is used
                                   // here:
   const unsigned int n_threads = multithread_info.n_default_threads;
-  vector<IndexInterval> index_intervals
+  std::vector<IndexInterval> index_intervals
     = Threads::split_interval (0, dof_handler.get_tria().n_active_cells(),
                               n_threads);
 
@@ -1598,7 +1598,7 @@ GradientEstimation::estimate_interval (const DoFHandler<dim> &dof_handler,
                                   // later reallocations. Note how
                                   // this maximal number of active
                                   // neighbors is computed here.
-  vector<typename DoFHandler<dim>::active_cell_iterator> active_neighbors;
+  std::vector<typename DoFHandler<dim>::active_cell_iterator> active_neighbors;
   active_neighbors.reserve (GeometryInfo<dim>::faces_per_cell *
                            GeometryInfo<dim>::subfaces_per_face);
 
@@ -1863,14 +1863,14 @@ GradientEstimation::estimate_interval (const DoFHandler<dim> &dof_handler,
                                       // in real space.
       const Point<dim> this_center = fe_midpoint_value.quadrature_point(0);
 
-      vector<double> this_midpoint_value(1);
+      std::vector<double> this_midpoint_value(1);
       fe_midpoint_value.get_function_values (solution, this_midpoint_value);
                
 
                                       // Now loop over all active
                                       // neighbors and collect the
                                       // data we need.
-      typename vector<DoFHandler<dim>::active_cell_iterator>::const_iterator
+      typename std::vector<DoFHandler<dim>::active_cell_iterator>::const_iterator
        neighbor_ptr = active_neighbors.begin();
       for (; neighbor_ptr!=active_neighbors.end(); ++neighbor_ptr)
        {
@@ -1893,7 +1893,7 @@ GradientEstimation::estimate_interval (const DoFHandler<dim> &dof_handler,
          fe_midpoint_value.reinit (neighbor);
          const Point<dim> neighbor_center = fe_midpoint_value.quadrature_point(0);
 
-         vector<double> neighbor_midpoint_value(1);
+         std::vector<double> neighbor_midpoint_value(1);
          fe_midpoint_value.get_function_values (solution, this_midpoint_value);
 
                                           // Compute the vector ``y''
@@ -2014,27 +2014,27 @@ int main ()
       AdvectionProblem<2> advection_problem_2d;
       advection_problem_2d.run ();
     }
-  catch (exception &exc)
+  catch (std::exception &exc)
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Exception on processing: " << endl
-          << exc.what() << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+               << exc.what() << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
       return 1;
     }
   catch (...) 
     {
-      cerr << endl << endl
-          << "----------------------------------------------------"
-          << endl;
-      cerr << "Unknown exception!" << endl
-          << "Aborting!" << endl
-          << "----------------------------------------------------"
-          << endl;
+      std::cerr << std::endl << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+               << "Aborting!" << std::endl
+               << "----------------------------------------------------"
+               << std::endl;
       return 1;
     };
 
index 6869bb1b4b12405f3eb18dc3f8882cadef1814c3..c24528f541b32cc591282dfb5558b3ef20317472 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -46,7 +46,7 @@ class BlockIndices
                                      * number of blocks will be the
                                      * size of the vector
                                      */
-    BlockIndices (const vector<unsigned int> &n);
+    BlockIndices (const std::vector<unsigned int> &n);
 
                                     /**
                                      * Reinitialize the number of
@@ -65,7 +65,7 @@ class BlockIndices
                                      * of block @p{i} is set to
                                      * @p{n[i]}.
                                      */
-    void reinit (const vector<unsigned int> &n);
+    void reinit (const std::vector<unsigned int> &n);
     
                                     /**
                                      * Return the block and the
@@ -75,7 +75,7 @@ class BlockIndices
                                      * the block, the second the
                                      * index within it.
                                      */
-    pair<unsigned int,unsigned int>
+    std::pair<unsigned int,unsigned int>
     global_to_local (const unsigned int i) const;
 
                                     /**
@@ -139,7 +139,7 @@ class BlockIndices
                                      * value is the total number of
                                      * entries.
                                      */
-    vector<unsigned int> start_indices;
+    std::vector<unsigned int> start_indices;
 };
 
 
@@ -158,7 +158,7 @@ BlockIndices::BlockIndices (unsigned int n_blocks)
 
 
 inline
-BlockIndices::BlockIndices (const vector<unsigned int> &n)
+BlockIndices::BlockIndices (const std::vector<unsigned int> &n)
   : n_blocks(n.size()),
     start_indices(n.size()+1)
 {
@@ -172,7 +172,7 @@ void
 BlockIndices::reinit (const unsigned int n_blocks,
                      const unsigned int n_elements_per_block)
 {
-  const vector<unsigned int> v(n_blocks, n_elements_per_block);
+  const std::vector<unsigned int> v(n_blocks, n_elements_per_block);
   reinit (v);
 };
 
@@ -180,7 +180,7 @@ BlockIndices::reinit (const unsigned int n_blocks,
 
 inline
 void
-BlockIndices::reinit (const vector<unsigned int> &n)
+BlockIndices::reinit (const std::vector<unsigned int> &n)
 {
   if (start_indices.size() != n.size()+1)
     {
@@ -195,7 +195,7 @@ BlockIndices::reinit (const vector<unsigned int> &n)
 
 
 inline
-pair<unsigned int,unsigned int>
+std::pair<unsigned int,unsigned int>
 BlockIndices::global_to_local (const unsigned int i) const
 {
   Assert (i<total_size(), ExcIndexRange(i, 0, total_size()));
@@ -204,7 +204,7 @@ BlockIndices::global_to_local (const unsigned int i) const
   while (i < start_indices[block])
     --block;
 
-  return make_pair<unsigned int>(block, i-start_indices[block]);
+  return std::make_pair<unsigned int>(block, i-start_indices[block]);
 };
 
 
index ac4c7fc99f4b64351a9573fa886f737770254a7d..651a813fb667dbf93ac57dcd7b48fdffe06f1b76 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index c58032e848cf71b3f6f7450e44451065abf281eb..c18e070be7af907d5fac844e5af1f30ce95c4933 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -511,7 +511,7 @@ class BlockSparseMatrix : public Subscriptor
                                     /**
                                      * Array of sub-matrices.
                                      */
-    vector<vector<SmartPointer<SparseMatrix<number> > > > sub_objects;
+    std::vector<std::vector<SmartPointer<SparseMatrix<number> > > > sub_objects;
 };
 
 
@@ -575,7 +575,7 @@ BlockSparseMatrix<number>::set (const unsigned int i,
                                const unsigned int j,
                                const number value)
 {
-  const pair<unsigned int,unsigned int>
+  const std::pair<unsigned int,unsigned int>
     row_index = sparsity_pattern->row_indices.global_to_local (i),
     col_index = sparsity_pattern->column_indices.global_to_local (j);
   block(row_index.first,col_index.first).set (row_index.second,
@@ -592,7 +592,7 @@ BlockSparseMatrix<number>::add (const unsigned int i,
                                const unsigned int j,
                                const number value)
 {
-  const pair<unsigned int,unsigned int>
+  const std::pair<unsigned int,unsigned int>
     row_index = sparsity_pattern->row_indices.global_to_local (i),
     col_index = sparsity_pattern->column_indices.global_to_local (j);
   block(row_index.first,col_index.first).add (row_index.second,
@@ -608,7 +608,7 @@ number
 BlockSparseMatrix<number>::operator () (const unsigned int i,
                                        const unsigned int j) const
 {
-  const pair<unsigned int,unsigned int>
+  const std::pair<unsigned int,unsigned int>
     row_index = sparsity_pattern->row_indices.global_to_local (i),
     col_index = sparsity_pattern->column_indices.global_to_local (j);
   return block(row_index.first,col_index.first) (row_index.second,
index 672c1c3e6b3224c5d1740b9aab702b68fc176bc4..728e992844084205e8a54b3eaa62d88934487ceb 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -106,8 +106,8 @@ reinit (const BlockSparsityPattern &sparsity)
   sparsity_pattern = &sparsity;
   rows = sparsity.n_block_rows();
   columns = sparsity.n_block_cols();
-  sub_objects = vector<vector<SmartPointer<SparseMatrix<number> > > >
-               (rows, vector<SmartPointer<SparseMatrix<number> > > (columns, 0));
+  sub_objects = std::vector<std::vector<SmartPointer<SparseMatrix<number> > > >
+               (rows, std::vector<SmartPointer<SparseMatrix<number> > > (columns, 0));
 
                                   // and reinitialize the blocks
   for (unsigned int r=0; r<rows; ++r)
index 49ba448a9eae8d52ad780033fc6cadf75e3a9c09..d1b47475233fa9ebb876cd8118281f22e8fc91c8 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -361,7 +361,7 @@ class BlockSparsityPattern : public Subscriptor
                                     /**
                                      * Array of sparsity patterns.
                                      */
-    vector<vector<SmartPointer<SparsityPattern> > > sub_objects;
+    std::vector<std::vector<SmartPointer<SparsityPattern> > > sub_objects;
 
                                     /**
                                      * Object storing and managing
@@ -441,7 +441,7 @@ BlockSparsityPattern::add (const unsigned int i,
                                   // if you get an error here, are
                                   // you sure you called
                                   // @p{collect_sizes()} before?
-  const pair<unsigned int,unsigned int>
+  const std::pair<unsigned int,unsigned int>
     row_index = row_indices.global_to_local (i),
     col_index = column_indices.global_to_local (j);
   sub_objects[row_index.first][col_index.first]->add (row_index.second,
index b9b6b6071b526d2f50925cf868bff1f97b874180..962c99b34a3d55df1ef84ff1fd7fdc94ebea10bd 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -123,7 +123,7 @@ class BlockVector
                                      * initialize each block with
                                      * @p{n[i]} zero elements.
                                      */
-    BlockVector (const vector<unsigned int> &n);
+    BlockVector (const std::vector<unsigned int> &n);
 
                                      /**
                                      * Destructor. Clears memory
@@ -163,8 +163,8 @@ class BlockVector
                                      * If @p{fast==false}, the vector
                                      * is filled with zeros.
                                      */ 
-    void reinit (const vector<unsigned int> &N,
-                const bool                  fast=false);
+    void reinit (const std::vector<unsigned int> &N,
+                const bool                       fast=false);
     
                                     /**
                                      * Change the dimension to that of the
@@ -176,7 +176,7 @@ class BlockVector
                                      * @p{reinit (V.size(), fast)}.
                                      */
     void reinit (const BlockVector<Number> &V,
-                const bool                          fast=false);
+                const bool                 fast=false);
     
                                     /**
                                      * Set all entries to zero. Equivalent to
@@ -449,11 +449,11 @@ class BlockVector
 
                                     /**
                                      * Print to a stream.
-                                     * 
                                      */
-    void print (ostream &, unsigned int precision = 3,
-               bool scientific = true,
-               bool across = true) const;
+    void print (std::ostream       &out,
+               const unsigned int  precision = 3,
+               const bool          scientific = true,
+               const bool          across = true) const;
 
                                     /**
                                      * Write the vector en bloc to a file. This
@@ -463,7 +463,7 @@ class BlockVector
                                      * a different operating system of number
                                      * format.
                                      */
-    void block_write (ostream &out) const;
+    void block_write (std::ostream &out) const;
 
                                     /**
                                      * Read a vector en block from a file. This
@@ -480,7 +480,7 @@ class BlockVector
                                      * data as a vector stored bitwise to a
                                      * file, but not more.
                                      */
-    void block_read (istream &in);
+    void block_read (std::istream &in);
 
                                     /**
                                      * Determine an estimate for the
@@ -495,7 +495,7 @@ class BlockVector
                                     /**
                                      * Pointer to the array of components.
                                      */
-    vector<Vector<Number> > components;
+    std::vector<Vector<Number> > components;
 
                                     /**
                                      * Object managing the
@@ -540,7 +540,7 @@ template <typename Number>
 inline
 Number BlockVector<Number>::operator() (const unsigned int i) const
 {
-  const pair<unsigned int,unsigned int> local_index
+  const std::pair<unsigned int,unsigned int> local_index
     = block_indices.global_to_local (i);
   return components[local_index.first](local_index.second);
 }
@@ -551,7 +551,7 @@ template <typename Number>
 inline
 Number& BlockVector<Number>::operator() (const unsigned int i)
 {
-  const pair<unsigned int,unsigned int> local_index
+  const std::pair<unsigned int,unsigned int> local_index
     = block_indices.global_to_local (i);
   return components[local_index.first](local_index.second);
 }
index 47434977c7fe20d54b683849e1877f2a8cb32be1..53addc50c7f3539de63a07b65786d21a592afcc4 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -30,7 +30,7 @@ BlockVector<Number>::BlockVector (unsigned int n_blocks,
 
 
 template <typename Number>
-BlockVector<Number>::BlockVector (const vector<unsigned int> &n)
+BlockVector<Number>::BlockVector (const std::vector<unsigned int> &n)
 {
   reinit (n, false);
 }
@@ -70,14 +70,14 @@ void BlockVector<Number>::reinit (const unsigned int n_bl,
                                  const unsigned int bl_sz,
                                  const bool                  fast)
 {
-  vector<unsigned int> n(n_bl, bl_sz);
+  std::vector<unsigned int> n(n_bl, bl_sz);
   reinit(n, fast);
 }
 
 
 template <typename Number>
-void BlockVector<Number>::reinit (const vector<unsigned int> &n,
-                                 const bool                  fast)
+void BlockVector<Number>::reinit (const std::vector<unsigned int> &n,
+                                 const bool                       fast)
 {
   block_indices.reinit (n);
   num_blocks = n.size();
@@ -451,17 +451,17 @@ BlockVector<Number>::operator = (const BlockVector< Number2>& v)
 
 
 template <typename Number>
-void BlockVector<Number>::print (ostream &out,
-                                unsigned int precision,
-                                bool scientific,
-                                bool across) const
+void BlockVector<Number>::print (std::ostream       &out,
+                                const unsigned int  precision,
+                                const bool          scientific,
+                                const bool          across) const
 {
   for (unsigned int i=0;i<num_blocks;++i)
     {
       if (across)
        out << 'C' << i << ':';
       else
-       out << "Component " << i << endl;
+       out << "Component " << i << std::endl;
       components[i].print(out, precision, scientific, across);
     }
 }
@@ -469,7 +469,7 @@ void BlockVector<Number>::print (ostream &out,
 
 
 template <typename Number>
-void BlockVector<Number>::block_write (ostream &out) const
+void BlockVector<Number>::block_write (std::ostream &out) const
 {
   for (unsigned int i=0;i<num_blocks;++i)
     {
@@ -480,7 +480,7 @@ void BlockVector<Number>::block_write (ostream &out) const
 
 
 template <typename Number>
-void BlockVector<Number>::block_read (istream &in)
+void BlockVector<Number>::block_read (std::istream &in)
 {
   for (unsigned int i=0;i<num_blocks;++i)
     {
index a2aee20d999a750b64a34388b71261309496d72e..c25a284510cd45705718f3e93074d41086c082f9 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 63d46318f9e3ed40591133529046b9d47e76fe67..34d67b6c1468758244d7f1ca475ca9c6a1494860 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -534,7 +534,9 @@ class FullMatrix : public Subscriptor
                                     /**
                                      * Output of the matrix in user-defined format.
                                      */
-    void print (ostream& s, int width=5, int precision=2) const;
+    void print (std::ostream       &s,
+               const unsigned int  width=5,
+               const unsigned int  precision=2) const;
 
                                     /**
                                      * Print the matrix in the usual format,
@@ -559,7 +561,7 @@ class FullMatrix : public Subscriptor
                                      * output if applied to a large matrix!
                                      * Be careful with it.
                                      */
-    void print_formatted (ostream &out,
+    void print_formatted (std::ostream      &out,
                          const unsigned int presicion=3) const;
     
                                     /**
index c819b10efb1af4d8da0a71f5ac8db940b4b61e8e..280b570874b4872311528a487f3af51fc63d341f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -57,8 +57,8 @@ FullMatrix<number>::FullMatrix (const FullMatrix &m) :
 {
   reinit (m.dim_image, m.dim_range);
   if (dim_range*dim_image != 0)
-    copy (&m.val[0], &m.val[dim_image*dim_range],
-         &val[0]);
+    std::copy (&m.val[0], &m.val[dim_image*dim_range],
+              &val[0]);
 };
 
 
@@ -405,8 +405,8 @@ FullMatrix<number>::operator = (const FullMatrix<number>& m)
 {
   reinit (m);
   if (dim_range*dim_image != 0)
-    copy (&m.val[0], &m.val[dim_image*dim_range],
-         &val[0]);
+    std::copy (&m.val[0], &m.val[dim_image*dim_range],
+              &val[0]);
   
   return *this;
 }
@@ -674,15 +674,17 @@ number FullMatrix<number>::linfty_norm () const
 
 template <typename number>
 void
-FullMatrix<number>::print (ostream& s, int w, int p) const
+FullMatrix<number>::print (std::ostream       &s,
+                          const unsigned int  w,
+                          const unsigned int  p) const
 {
   Assert (val != 0, ExcEmptyMatrix());
   
-  unsigned int i,j;
-  for (i=0;i<m();i++)
+  for (unsigned int i=0; i<m(); ++i)
     {
-      for (j=0;j<n();j++) s << setw(w) << setprecision(p) << el(i,j);
-      s << endl;
+      for (unsigned int j=0; j<n(); ++j)
+       s << std::setw(w) << std::setprecision(p) << el(i,j);
+      s << std::endl;
     }
 }
 
@@ -1068,8 +1070,8 @@ FullMatrix<number>::operator == (const FullMatrix<number> &m) const
   return ( ((val==0) && (m.val==0)) ||
           ((dim_range==m.dim_range) &&
            (dim_image==m.dim_image) &&
-           equal (&val[0], &val[dim_range*dim_image],
-                  &m.val[0])));
+           std::equal (&val[0], &val[dim_range*dim_image],
+                       &m.val[0])));
 };
 
 
@@ -1139,7 +1141,7 @@ template <typename number>
 void FullMatrix<number>::clear ()
 {
   if (val != 0)
-    fill_n (&val[0], n()*m(), 0);
+    std::fill_n (&val[0], n()*m(), 0);
 };
 
 
@@ -1304,33 +1306,35 @@ FullMatrix<number>::invert (const FullMatrix<number> &M)
 
 template <typename number>
 void
-FullMatrix<number>::print_formatted (ostream &out, const unsigned int precision) const
+FullMatrix<number>::print_formatted (std::ostream       &out,
+                                    const unsigned int  precision) const
 {
   Assert (val != 0, ExcEmptyMatrix());
-  
+
+                                  // set output format, but store old
+                                  // state
+  std::ios::fmtflags old_flags = out.flags();
   out.precision (precision);
-  out.setf (ios::scientific, ios::floatfield);   // set output format
+  out.setf (std::ios::scientific, std::ios::floatfield);   
   
   for (unsigned int i=0; i<m(); ++i) 
     {
       for (unsigned int j=0; j<n(); ++j)
        if (el(i,j) != 0)
-         out << setw(precision+7)
+         out << std::setw(precision+7)
              << el(i,j) << ' ';
        else
-         out << setw(precision+8) << " ";
-      out << endl;
+         out << std::setw(precision+8) << " ";
+      out << std::endl;
     };
 
   AssertThrow (out, ExcIO());
   
-  out.setf (0, ios::floatfield);                 // reset output format
+                                  // reset output format
+  out.flags (old_flags);
 };
 
 
-// Gauss-Jordan-Algorithmus
-// cf. Stoer I (4th Edition) p. 153
-
 template <typename number>
 void
 FullMatrix<number>::gauss_jordan()
@@ -1338,7 +1342,9 @@ FullMatrix<number>::gauss_jordan()
   Assert (val != 0, ExcEmptyMatrix());  
   Assert (dim_range == dim_image, ExcNotQuadratic());
   
-  vector<unsigned int> p(n());
+                                  // Gauss-Jordan-Algorithmus
+                                  // cf. Stoer I (4th Edition) p. 153
+  std::vector<unsigned int> p(n());
 
   for (unsigned int i=0; i<n(); ++i)
     p[i] = i;
@@ -1361,9 +1367,9 @@ FullMatrix<number>::gauss_jordan()
       if (r>j)
        {
          for (unsigned int k=0; k<n(); ++k)
-           swap (el(j,k), el(r,k));
+           std::swap (el(j,k), el(r,k));
 
-         swap (p[j], p[r]);
+         std::swap (p[j], p[r]);
        }
 
                                       // transformation
@@ -1386,7 +1392,7 @@ FullMatrix<number>::gauss_jordan()
       el(j,j) = hr;
     }
                                   // columninterchange
-  vector<number> hv(n());
+  std::vector<number> hv(n());
   for (unsigned int i=0; i<n(); ++i)
     {
       for (unsigned int k=0; k<n(); ++k)
index d8dab482c15bb4415b68262a0b9a12e5d8e9b59a..320da0ddb25ac4950e7a439ca701914a606310b4 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index d8ba3d0e54078b6cccf966b6357cdd79c2c144b1..a82a4b4a32ec6f5522944d2c72184905d2841bb1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -267,7 +267,7 @@ class PreconditionBlock
                                      * memory in comparison with
                                      * @p{inverse_type=double}.
                                      */
-    vector<FullMatrix<inverse_type> > var_inverse;
+    std::vector<FullMatrix<inverse_type> > var_inverse;
 
                                     /**
                                      * Storage of the original diagonal blocks.
@@ -276,7 +276,7 @@ class PreconditionBlock
                                      *
                                      * Used by the blocked SSOR method.
                                      */
-    vector<FullMatrix<inverse_type> > var_diagonal;
+    std::vector<FullMatrix<inverse_type> > var_diagonal;
                                      
                                     /**
                                      * Flag for diagonal compression.
index 52effedff9838acb94833453b7b4db9760454df9..c8c1c5ce38ae1ed87246b8b4aaa06efdb31d9fe8 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -172,14 +172,20 @@ void PreconditionBlock<number,inverse_type>::invert_diagblocks()
                                       // avoids copying
       if (store_diagonals)
        {
-         vector<FullMatrix<inverse_type> > tmp(n_cells,
-                                               FullMatrix<inverse_type>(blocksize));
+         std::vector<FullMatrix<inverse_type> >
+           tmp(n_cells, FullMatrix<inverse_type>(blocksize));
          var_diagonal.swap (tmp);
        }
-      
-      vector<FullMatrix<inverse_type> > tmp(n_cells,
-                                           FullMatrix<inverse_type>(blocksize));
-      var_inverse.swap (tmp);
+
+      if (true)
+       {
+         std::vector<FullMatrix<inverse_type> >
+           tmp(n_cells, FullMatrix<inverse_type>(blocksize));
+         var_inverse.swap (tmp);
+                                          // make sure the tmp object
+                                          // goes out of scope as
+                                          // soon as possible
+       };
 
       M_cell.clear ();
       
index c325cca30a3720e5e2e604bd8f7c51b50757ba84..cc1677b76169b84b595adf463011cb92bad97881 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -89,7 +89,7 @@ class PreconditionSelector : public Subscriptor
                                      * the damping parameter of
                                      * the preconditioning.
                                      */
-    PreconditionSelector(const string preconditioning,
+    PreconditionSelector(const std::string                 &preconditioning,
                         const typename Vector::value_type &omega=1.);
     
                                     /**
@@ -116,7 +116,7 @@ class PreconditionSelector : public Subscriptor
                                      * Get the names of all implemented
                                      * preconditionings.
                                      */
-    static string get_precondition_names();
+    static std::string get_precondition_names();
 
                                     /**
                                      * Exception.
@@ -130,7 +130,7 @@ class PreconditionSelector : public Subscriptor
                                      * Stores the name of the
                                      * preconditioning.
                                      */
-    string preconditioning;
+    std::string preconditioning;
 
   private:
                                     /**
@@ -153,7 +153,7 @@ class PreconditionSelector : public Subscriptor
 
 template <class Matrix, class Vector>
 PreconditionSelector<Matrix,Vector>
-::PreconditionSelector(string preconditioning,
+::PreconditionSelector(std::string                       &preconditioning,
                       const typename Vector::value_type &omega) :
                preconditioning(preconditioning),
                omega(omega)  {}
@@ -204,7 +204,7 @@ void PreconditionSelector<Matrix,Vector>::vmult (Vector &dst,
 
 
 template <class Matrix, class Vector>
-string PreconditionSelector<Matrix,Vector>::get_precondition_names()
+std::string PreconditionSelector<Matrix,Vector>::get_precondition_names()
 {
   return "none|jacobi|sor|ssor";
 }
index 9f783b3669ca6e9257851677e6bb21334e75ef75..0a48074bad35a5a5b93cf231d33284bd6a5b79a7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index c01f19051b4c156d9fb89801f373a7055f9fda13..1335bb297e870b35d1cd15f3d5170c9a6885e370 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index d6c8aeae32dfd2ba3b621caec2bbdf769897e34d..1ddb2ca00d2171240c140ed5cfeba7cfc303c3c7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index df2c4b784b6d207e76f4a1c4e953b36ea48f16da..fc750da7f8061dd73ac865cb599e7cb54f1f5546 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index fd77abd2a5429f0550bca9ec01d9b96122b3c1f0..7596c4cc6fad42b71f3298435f1e8604d41557e2 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -226,7 +226,7 @@ SolverGMRES<VECTOR>::solve (const MATRIX& A,
                                   // This is really bad since vectors
                                   // should only be allocated if
                                   // really needed. (GK)
-  vector<VECTOR*> tmp_vectors (n_tmp_vectors, 0);
+  std::vector<VECTOR*> tmp_vectors (n_tmp_vectors, 0);
   for (unsigned int tmp=0; tmp<n_tmp_vectors; ++tmp)
     {
       tmp_vectors[tmp] = memory.alloc();
index 58ba84785fa44613a1033e35a013f0b4a578ba0e..163121e4b33e21a79b906ae37bc4a97fd0cba2aa 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 3376d6263fbef1f71f31bba740be05d3dda34ff4..e819d206f32eace2e22825d7d63d466fedeeb0e6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -249,7 +249,7 @@ SolverQMRS<VECTOR>::solve (const MATRIX &A,
   do 
     {
       if (step)
-       deallog << "Restart step " << step << endl;
+       deallog << "Restart step " << step << std::endl;
       state = iterate(A, precondition);
     }
   while (state == breakdown);
@@ -316,9 +316,9 @@ SolverQMRS<VECTOR>::iterate(const MATRIX& A,
   precondition.vmult(q,p);
  
   tau = v.norm_sqr();
-  //deallog << "tau:" << tau << endl;
+  //deallog << "tau:" << tau << std::endl;
   rho = q*v;
-  //deallog << "rho:" << rho << endl;
+  //deallog << "rho:" << rho << std::endl;
 
 
 while (state == SolverControl::iterate)
@@ -335,7 +335,7 @@ while (state == SolverControl::iterate)
        return breakdown;
                                       // Step 3
       alpha = rho/sigma;
-      //deallog << "alpha:" << alpha << endl;
+      //deallog << "alpha:" << alpha << std::endl;
 
       v.add(-alpha,t);
                                       // Step 4
@@ -344,9 +344,9 @@ while (state == SolverControl::iterate)
       psi = 1./(1.+theta);
       tau *= theta*psi;
 
-      //deallog << "psi:" << psi << endl;
-      //deallog << "theta:" << theta << endl;
-      //deallog << "tau:" << tau << endl;
+      //deallog << "psi:" << psi << std::endl;
+      //deallog << "theta:" << theta << std::endl;
+      //deallog << "tau:" << tau << std::endl;
 
       d.sadd(psi*theta_old, psi*alpha, p);
       x.add(d);
index 4ad356a1b85cceaab9e03fe4fcf8f8ab5c8b36a2..7850c5c4036cb0a90cada11d476ad507eee4e619 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 30d94dfc5b9e82142bd79dae6327fd56db9fa375..be805096f7360e009f75bdf075d1912b2807e5a2 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -94,9 +94,9 @@ class SolverSelector : public Subscriptor
                                      * the @p{SolverControl} and the 
                                      * @p{VectorMemory} as argument.
                                      */
-    SolverSelector(const string solvername,
-                  SolverControl &control,
-                  VectorMemory<Vector> &vectorm);
+    SolverSelector (const std::string    &solvername,
+                   SolverControl        &control,
+                   VectorMemory<Vector> &vectorm);
   
                                     /**
                                      * Destructor
@@ -148,20 +148,20 @@ class SolverSelector : public Subscriptor
                                      * Get the names of all implemented
                                      * solvers.
                                      */
-    static string get_solver_names ();
+    static std::string get_solver_names ();
 
                                     /**
                                      * Exception.
                                      */
     DeclException1 (ExcSolverDoesNotExist,
-                   string, << "Solver " << arg1 << " does not exist. Use one of "
-                   << endl << get_solver_names());
+                   std::string, << "Solver " << arg1 << " does not exist. Use one of "
+                   << std::endl << get_solver_names());
 
   protected:
                                     /**
                                      * Stores the Name of the solver.
                                      */
-    string solver_name;
+    std::string solver_name;
     
                                     /**
                                      * Stores the @p{SolverControl} that
@@ -204,8 +204,8 @@ class SolverSelector : public Subscriptor
 
 
 template <class Vector>
-SolverSelector<Vector>::SolverSelector(string solver_name,
-                                      SolverControl &control,
+SolverSelector<Vector>::SolverSelector(const std::string    &solver_name,
+                                      SolverControl        &control,
                                       VectorMemory<Vector> &vector_memory) :
                solver_name(solver_name),
                control(&control),
@@ -258,7 +258,7 @@ SolverSelector<Vector>::solve(const Matrix &A,
 
 
 template <class Vector>
-string SolverSelector<Vector>::get_solver_names()
+std::string SolverSelector<Vector>::get_solver_names()
 {
   return "richardson|cg|bicgstab|gmres";
 };
index e87efffec74eb476f3b272ba390c5fd23737d0ec..15f1d3990e0768fccb2a547916415dc92821c4d5 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index e32255de437dea0fda34b3a19c1423f683588dea..753f3b40934aca9c0b233ec906182a90574bf680 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -73,9 +73,9 @@ void SparseILU<number>::decompose (const SparseMatrix<somenumber> &matrix,
   if (true)
     {
                                       // preset the elements
-      fill_n (&global_entry(0),
-             n_nonzero_elements(),
-             0);
+      std::fill_n (&global_entry(0),
+                  n_nonzero_elements(),
+                  0);
 
                                       // note: pointers to the sparsity
                                       // pattern of the old matrix!
@@ -159,9 +159,9 @@ void SparseILU<number>::decompose (const SparseMatrix<somenumber> &matrix,
       const unsigned int * first_of_row
        = &column_numbers[rowstart_indices[row]+1];
       const unsigned int * first_after_diagonal
-       = lower_bound (&column_numbers[rowstart_indices[row]+1],
-                      &column_numbers[rowstart_indices[row+1]],
-                      row);
+       = std::lower_bound (&column_numbers[rowstart_indices[row]+1],
+                           &column_numbers[rowstart_indices[row+1]],
+                           row);
 
                                       // k := *col_ptr
       for (const unsigned int * col_ptr = first_of_row; col_ptr!=first_after_diagonal; ++col_ptr)
@@ -301,9 +301,9 @@ void SparseILU<number>::apply_decomposition (Vector<somenumber>       &dst,
                                       // find the position where the part
                                       // right of the diagonal starts
       const unsigned int * const first_after_diagonal
-       = lower_bound (rowstart,
-                      &column_numbers[rowstart_indices[row+1]],
-                      row);
+       = std::lower_bound (rowstart,
+                           &column_numbers[rowstart_indices[row+1]],
+                           row);
       
       for (const unsigned int * col=rowstart; col!=first_after_diagonal; ++col)
        dst(row) -= global_entry (col-column_numbers) * dst(*col);
@@ -324,9 +324,9 @@ void SparseILU<number>::apply_decomposition (Vector<somenumber>       &dst,
                                       // find the position where the part
                                       // right of the diagonal starts
       const unsigned int * const first_after_diagonal
-       = lower_bound (&column_numbers[rowstart_indices[row]+1],
-                      &column_numbers[rowstart_indices[row+1]],
-                      static_cast<unsigned int>(row));
+       = std::lower_bound (&column_numbers[rowstart_indices[row]+1],
+                           &column_numbers[rowstart_indices[row+1]],
+                           static_cast<unsigned int>(row));
       
       for (const unsigned int * col=first_after_diagonal; col!=rowend; ++col)
        dst(row) -= global_entry (col-column_numbers) * dst(*col);
index 09d9ad660aa6ae92a05cd5011a3659646df1a95e..5715830ad8bdfe75cba02d87c42095baa96c31a7 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -672,7 +672,7 @@ class SparseMatrix : public Subscriptor
                                      * nonzero entry of the matrix
                                      * per line.
                                      */
-    void print (ostream &out) const;
+    void print (std::ostream &out) const;
 
                                     /**
                                      * Print the matrix in the usual
@@ -714,7 +714,7 @@ class SparseMatrix : public Subscriptor
                                      * output if applied to a large matrix!
                                      * Be careful with it.
                                      */
-    void print_formatted (ostream            &out,
+    void print_formatted (std::ostream       &out,
                          const unsigned int  precision   = 3,
                          const bool          scientific  = true,
                          const unsigned int  width       = 0,
@@ -873,7 +873,7 @@ class SparseMatrix : public Subscriptor
     void threaded_residual (Vector<somenumber>       &dst,
                            const Vector<somenumber> &u,
                            const Vector<somenumber> &b,
-                           const pair<unsigned int,unsigned int> interval,
+                           const std::pair<unsigned int,unsigned int> interval,
                            somenumber               *partial_norm) const;
 
 
index 4bf1714ddeb327e3500c598c805025fba1cdfaf9..fd2153f3e792d99863babf1ad5e43aa558f55ac3 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -114,7 +114,7 @@ SparseMatrix<number>::reinit ()
     };
 
   if (val)
-    fill_n (&val[0], N, 0);
+    std::fill_n (&val[0], N, 0);
 }
 
 
@@ -168,8 +168,8 @@ unsigned int
 SparseMatrix<number>::n_actually_nonzero_elements () const
 {
   Assert (cols != 0, ExcMatrixNotInitialized());
-  return count_if(&val[0], &val[n_nonzero_elements ()],
-                 bind2nd(not_equal_to<double>(), 0));
+  return std::count_if(&val[0], &val[n_nonzero_elements ()],
+                      std::bind2nd(std::not_equal_to<double>(), 0));
 };
 
 
@@ -220,8 +220,8 @@ SparseMatrix<number>::copy_from (const SparseMatrix<somenumber> &matrix)
   Assert (val != 0, ExcMatrixNotInitialized());
   Assert (cols == matrix.cols, ExcDifferentSparsityPatterns());
 
-  copy (&matrix.val[0], &matrix.val[cols->n_nonzero_elements()],
-       &val[0]);
+  std::copy (&matrix.val[0], &matrix.val[cols->n_nonzero_elements()],
+            &val[0]);
   
   return *this;
 };
@@ -414,7 +414,7 @@ SparseMatrix<number>::matrix_norm_square (const Vector<somenumber>& v) const
 
                                       // space for the norms of
                                       // the different parts
-      vector<somenumber> partial_sums (n_threads, 0);
+      std::vector<somenumber> partial_sums (n_threads, 0);
       Threads::ThreadManager thread_manager;
                                       // spawn some jobs...
       for (unsigned int i=0; i<n_threads; ++i)
@@ -507,7 +507,7 @@ SparseMatrix<number>::matrix_scalar_product (const Vector<somenumber>& u,
 
                                       // space for the norms of
                                       // the different parts
-      vector<somenumber> partial_sums (n_threads, 0);
+      std::vector<somenumber> partial_sums (n_threads, 0);
       Threads::ThreadManager thread_manager;
                                       // spawn some jobs...
       for (unsigned int i=0; i<n_threads; ++i)
@@ -644,7 +644,7 @@ SparseMatrix<number>::residual (Vector<somenumber>       &dst,
  
                                       // space for the square norms of
                                       // the different parts
-      vector<somenumber> partial_norms (n_threads, 0);
+      std::vector<somenumber> partial_norms (n_threads, 0);
       Threads::ThreadManager thread_manager;
       for (unsigned int i=0; i<n_threads; ++i)
        Threads::spawn (thread_manager,
@@ -688,7 +688,7 @@ void
 SparseMatrix<number>::threaded_residual (Vector<somenumber>       &dst,
                                         const Vector<somenumber> &u,
                                         const Vector<somenumber> &b,
-                                        const pair<unsigned int, unsigned int> interval,
+                                        const std::pair<unsigned int, unsigned int> interval,
                                         somenumber               *partial_norm) const
 {
   const unsigned int begin_row = interval.first,
@@ -774,9 +774,10 @@ SparseMatrix<number>::precondition_SSOR (Vector<somenumber>& dst,
                                       // line denotes the diagonal element,
                                       // which we need not check.
       const unsigned int first_right_of_diagonal_index
-       = (lower_bound (&cols->colnums[*rowstart_ptr+1],
-                       &cols->colnums[*(rowstart_ptr+1)],
-                       row) -
+       = (std::lower_bound (&cols->colnums[*rowstart_ptr+1],
+                            &cols->colnums[*(rowstart_ptr+1)],
+                            row)
+          -
           &cols->colnums[0]);
                                       
       for (unsigned int j=(*rowstart_ptr)+1; j<first_right_of_diagonal_index; ++j)
@@ -797,9 +798,9 @@ SparseMatrix<number>::precondition_SSOR (Vector<somenumber>& dst,
   for (int row=n-1; row>=0; --row, --rowstart_ptr, --dst_ptr)
     {
       const unsigned int first_right_of_diagonal_index
-       = (lower_bound (&cols->colnums[*rowstart_ptr+1],
-                       &cols->colnums[*(rowstart_ptr+1)],
-                       static_cast<unsigned int>(row)) -
+       = (std::lower_bound (&cols->colnums[*rowstart_ptr+1],
+                            &cols->colnums[*(rowstart_ptr+1)],
+                            static_cast<unsigned int>(row)) -
           &cols->colnums[0]);
       for (unsigned int j=first_right_of_diagonal_index; j<*(rowstart_ptr+1); ++j)
        if (cols->colnums[j] > static_cast<unsigned int>(row))
@@ -990,6 +991,7 @@ SparseMatrix<number>::SSOR (Vector<somenumber>& dst, const number om) const
 }
 
 
+
 template <typename number>
 const SparsityPattern &
 SparseMatrix<number>::get_sparsity_pattern () const
@@ -999,21 +1001,23 @@ SparseMatrix<number>::get_sparsity_pattern () const
 };
 
 
+
 template <typename number>
-void SparseMatrix<number>::print (ostream &out) const {
+void SparseMatrix<number>::print (std::ostream &out) const
+{
   Assert (cols != 0, ExcMatrixNotInitialized());
   Assert (val != 0, ExcMatrixNotInitialized());
 
   for (unsigned int i=0; i<cols->rows; ++i)
     for (unsigned int j=cols->rowstart[i]; j<cols->rowstart[i+1]; ++j)
-      out << "(" << i << "," << cols->colnums[j] << ") " << val[j] << endl;
+      out << "(" << i << "," << cols->colnums[j] << ") " << val[j] << std::endl;
 
   AssertThrow (out, ExcIO());
 };
 
 
 template <typename number>
-void SparseMatrix<number>::print_formatted (ostream &out,
+void SparseMatrix<number>::print_formatted (std::ostream &out,
                                            const unsigned int precision,
                                            bool scientific,
                                            unsigned int width,
@@ -1026,11 +1030,11 @@ void SparseMatrix<number>::print_formatted (ostream &out,
   out.precision (precision);
   if (scientific)
     {
-      out.setf (ios::scientific, ios::floatfield);
+      out.setf (std::ios::scientific, std::ios::floatfield);
       if (!width)
        width = precision+7;
     } else {
-      out.setf (ios::fixed, ios::floatfield);
+      out.setf (std::ios::fixed, std::ios::floatfield);
       if (!width)
        width = precision+2;
     }
@@ -1039,17 +1043,17 @@ void SparseMatrix<number>::print_formatted (ostream &out,
     {
       for (unsigned int j=0; j<n(); ++j)
        if ((*cols)(i,j) != SparsityPattern::invalid_entry)
-         out << setw(width)
+         out << std::setw(width)
              << val[cols->operator()(i,j)] * denominator << ' ';
        else
-         out << setw(width) << zero_string << ' ';
-      out << endl;
+         out << std::setw(width) << zero_string << ' ';
+      out << std::endl;
     };
   AssertThrow (out, ExcIO());
 
 // see above
 
-//  out.setf (0, ios::floatfield);                 // reset output format
+//  out.setf (0, std::ios::floatfield);                 // reset output format
 };
 
 
index af1907743c19e4bdedada05c9f101e5c13c96949..b13b58b1c0d55a815f2c2d6859fcede620bc40e0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -14,7 +14,6 @@
 #define __deal2__sparse_vanka_h
 
 
-/* Copyright Guido Kanschat, Wolfgang Bangerth 1999, 2000 */
 
 
 #include <base/smartpointer.h>
@@ -186,7 +185,7 @@ class SparseVanka
                                      * @p{multithread_info.n_default_threads}.
                                      */
     SparseVanka(const SparseMatrix<number> &M,
-               const vector<bool>         &selected,
+               const std::vector<bool>    &selected,
                const bool                  conserve_memory = false,
                const unsigned int          n_threads       = multithread_info.n_default_threads);
     
@@ -261,9 +260,9 @@ class SparseVanka
                                      * with a null pointer
                                      */
     template<typename number2>
-    void apply_preconditioner (Vector<number2>       &dst,
-                              const Vector<number2> &src,
-                              const vector<bool>    *dof_mask = 0) const;    
+    void apply_preconditioner (Vector<number2>         &dst,
+                              const Vector<number2>   &src,
+                              const std::vector<bool> *dof_mask = 0) const;    
 
                                     /**
                                      * Determine an estimate for the
@@ -287,7 +286,7 @@ class SparseVanka
                                      * Indices of those degrees of
                                      * freedom that we shall work on.
                                      */
-    const vector<bool> &selected;
+    const std::vector<bool> &selected;
 
                                     /**
                                      * Number of threads to be used
@@ -303,7 +302,7 @@ class SparseVanka
                                      * Only those elements will be used
                                      * that are tagged in @p{selected}.
                                      */
-    mutable vector<SmartPointer<FullMatrix<float> > > inverses;
+    mutable std::vector<SmartPointer<FullMatrix<float> > > inverses;
 
                                     /**
                                      * Compute the inverses of all
@@ -339,8 +338,8 @@ class SparseVanka
                                      * the case where this function
                                      * re-creates it each time.
                                      */
-    void compute_inverse (const unsigned int    row,
-                         vector<unsigned int> &local_indices);
+    void compute_inverse (const unsigned int         row,
+                         std::vector<unsigned int> &local_indices);
 
 };
 
@@ -513,7 +512,7 @@ class SparseBlockVanka : public SparseVanka<number>
                                      * @p{n_blocks} to the base class.
                                      */
     SparseBlockVanka (const SparseMatrix<number> &M,
-                     const vector<bool>         &selected,
+                     const std::vector<bool>    &selected,
                      const unsigned int          n_blocks,
                      const BlockingStrategy      blocking_strategy,
                      const bool                  conserve_memory = false,
@@ -553,7 +552,7 @@ class SparseBlockVanka : public SparseVanka<number>
                                      * recomputing each time the
                                      * preconditioner is called.
                                      */
-    vector<vector<bool> > dof_masks;
+    std::vector<std::vector<bool> > dof_masks;
 
                                     /**
                                      * Compute the contents of the
@@ -562,7 +561,7 @@ class SparseBlockVanka : public SparseVanka<number>
                                      * constructor.
                                      */
     void compute_dof_masks (const SparseMatrix<number> &M,
-                           const vector<bool>         &selected,
+                           const std::vector<bool>    &selected,
                            const BlockingStrategy      blocking_strategy);
 };
 
index ff6f398ff64286a2d763210a34f03914c92ccd4d..d26274897441850d87bfaf71fd44748451093eac 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -30,7 +30,7 @@
 
 template<typename number>
 SparseVanka<number>::SparseVanka(const SparseMatrix<number> &M,
-                                const vector<bool>         &selected,
+                                const std::vector<bool>    &selected,
                                 const bool                  conserve_mem,
                                 const unsigned int          n_threads)
                :
@@ -51,7 +51,7 @@ SparseVanka<number>::SparseVanka(const SparseMatrix<number> &M,
 template<typename number>
 SparseVanka<number>::~SparseVanka()
 {
-  vector<SmartPointer<FullMatrix<float> > >::iterator i;
+  std::vector<SmartPointer<FullMatrix<float> > >::iterator i;
   for(i=inverses.begin(); i!=inverses.end(); ++i)
     {
       FullMatrix<float> *p = *i;
@@ -87,7 +87,7 @@ SparseVanka<number>::compute_inverses ()
                                   // consecutive, with other
                                   // consecutive regions where we do
                                   // not have to do something
-  vector<pair<unsigned int, unsigned int> > blocking (n_threads);
+  std::vector<std::pair<unsigned int, unsigned int> > blocking (n_threads);
 
   unsigned int c       = 0;
   unsigned int thread  = 0;
@@ -134,7 +134,7 @@ SparseVanka<number>::compute_inverses (const unsigned int begin,
                                   // set-up the vector that will be used
                                   // by the functions which we call
                                   // below.
-  vector<unsigned int> local_indices;
+  std::vector<unsigned int> local_indices;
 
                                   // traverse all rows of the matrix
                                   // which are selected
@@ -147,8 +147,8 @@ SparseVanka<number>::compute_inverses (const unsigned int begin,
 
 template <typename number>
 void
-SparseVanka<number>::compute_inverse (const unsigned int    row,
-                                     vector<unsigned int> &local_indices) 
+SparseVanka<number>::compute_inverse (const unsigned int         row,
+                                     std::vector<unsigned int> &local_indices) 
 {
                                   // first define an alias to the sparsity
                                   // pattern of the matrix, since this
@@ -207,9 +207,9 @@ SparseVanka<number>::vmult (Vector<number2>       &dst,
 template<typename number>
 template<typename number2>
 void
-SparseVanka<number>::apply_preconditioner (Vector<number2>       &dst,
-                                          const Vector<number2> &src,
-                                          const vector<bool>    *const dof_mask) const
+SparseVanka<number>::apply_preconditioner (Vector<number2>         &dst,
+                                          const Vector<number2>   &src,
+                                          const std::vector<bool> *const dof_mask) const
 {
   Assert (dst.size() == src.size(),
          ExcInvalidVectorSize(dst.size(), src.size()));
@@ -241,7 +241,7 @@ SparseVanka<number>::apply_preconditioner (Vector<number2>       &dst,
   Vector<float> b (structure.max_entries_per_row());
   Vector<float> x (structure.max_entries_per_row());
   
-  map<unsigned int, unsigned int> local_index;
+  std::map<unsigned int, unsigned int> local_index;
 
                                   // traverse all rows of the matrix
                                   // which are selected
@@ -280,11 +280,11 @@ SparseVanka<number>::apply_preconditioner (Vector<number2>       &dst,
                                         // couple with @p{row}.
        local_index.clear ();
        for (unsigned int i=0; i<row_length; ++i)
-         local_index.insert(pair<unsigned int, unsigned int>
+         local_index.insert(std::pair<unsigned int, unsigned int>
                             (structure.column_number(row, i), i));
        
                                         // Build local matrix and rhs
-       for (map<unsigned int, unsigned int>::const_iterator is=local_index.begin();
+       for (std::map<unsigned int, unsigned int>::const_iterator is=local_index.begin();
             is!=local_index.end(); ++is)
          {
                                             // irow loops over all DoFs that
@@ -313,7 +313,7 @@ SparseVanka<number>::apply_preconditioner (Vector<number2>       &dst,
                                                 // which itself couples with
                                                 // @p{row}) also couples with
                                                 // @p{row}.
-               const map<unsigned int, unsigned int>::const_iterator js
+               const std::map<unsigned int, unsigned int>::const_iterator js
                  = local_index.find(col);
                                                 // if not, then still use
                                                 // this dof to modify the rhs
@@ -342,7 +342,7 @@ SparseVanka<number>::apply_preconditioner (Vector<number2>       &dst,
        inverses[row]->vmult(x,b);
        
                                         // Distribute new values
-       for (map<unsigned int, unsigned int>::const_iterator is=local_index.begin();
+       for (std::map<unsigned int, unsigned int>::const_iterator is=local_index.begin();
             is!=local_index.end(); ++is)
          {
            const unsigned int irow = is->first;
@@ -382,7 +382,7 @@ SparseVanka<number>::memory_consumption () const
 
 template <typename number>
 SparseBlockVanka<number>::SparseBlockVanka (const SparseMatrix<number> &M,
-                                           const vector<bool>         &selected,
+                                           const std::vector<bool>    &selected,
                                            const unsigned int          n_blocks,
                                            const BlockingStrategy      blocking_strategy,
                                            const bool                  conserve_memory,
@@ -391,7 +391,7 @@ SparseBlockVanka<number>::SparseBlockVanka (const SparseMatrix<number> &M,
                SparseVanka<number> (M, selected, conserve_memory, n_threads),
                 n_blocks (n_blocks),
                 dof_masks (n_blocks,
-                          vector<bool>(M.m(), false))
+                          std::vector<bool>(M.m(), false))
 {
   compute_dof_masks (M, selected, blocking_strategy);
 };
@@ -400,7 +400,7 @@ SparseBlockVanka<number>::SparseBlockVanka (const SparseMatrix<number> &M,
 template <typename number>
 void
 SparseBlockVanka<number>::compute_dof_masks (const SparseMatrix<number> &M,
-                                            const vector<bool>         &selected,
+                                            const std::vector<bool>    &selected,
                                             const BlockingStrategy      blocking_strategy) 
 {
   Assert (n_blocks > 0, ExcInternalError());
@@ -409,11 +409,10 @@ SparseBlockVanka<number>::compute_dof_masks (const SparseMatrix<number> &M,
                                         selected.end(),
                                         true);
   
-  const unsigned int n_inverses_per_block = max(n_inverses / n_blocks,
-                                               1U);
+  const unsigned int n_inverses_per_block = std::max(n_inverses / n_blocks, 1U);
   
                                   // precompute the splitting points
-  vector<pair<unsigned int, unsigned int> > intervals (n_blocks);
+  std::vector<std::pair<unsigned int, unsigned int> > intervals (n_blocks);
     
                                   // set up start and end index for
                                   // each of the blocks. note that
@@ -483,14 +482,14 @@ SparseBlockVanka<number>::compute_dof_masks (const SparseMatrix<number> &M,
                                         // Lagrange dofs of each
                                         // block access the different
                                         // dofs
-       vector<vector<unsigned int> > access_count (n_blocks,
-                                                   vector<unsigned int>(M.m(), 0));
+       std::vector<std::vector<unsigned int> >
+         access_count (n_blocks, std::vector<unsigned int>(M.m(), 0));
        
                                         // set-up the map that will
                                         // be used to store the
                                         // indices each Lagrange dof
                                         // accesses
-       map<unsigned int, unsigned int> local_index;
+       std::map<unsigned int, unsigned int> local_index;
        const SparsityPattern &structure = M.get_sparsity_pattern();
 
        for (unsigned int row=0; row<M.m(); ++row)
index c29fe1110bbde6500d9828fc2629b3608838c5e6..34caa5f12ffa452154c8e42c7ee7b4669f626ba1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -184,9 +184,9 @@ class SparsityPattern : public Subscriptor
                                      * row is given by the
                                      * @p{row_lengths} array.
                                      */
-    SparsityPattern (const unsigned int          m,
-                    const unsigned int          n,
-                    const vector<unsigned int> &row_lengths);
+    SparsityPattern (const unsigned int               m,
+                    const unsigned int               n,
+                    const std::vector<unsigned int> &row_lengths);
     
                                     /**
                                      * Initialize a square matrix of dimension
@@ -204,8 +204,8 @@ class SparsityPattern : public Subscriptor
                                      * row is given by the
                                      * @p{row_lengths} array.
                                      */
-    SparsityPattern (const unsigned int          m,
-                    const vector<unsigned int> &row_lengths);
+    SparsityPattern (const unsigned int               m,
+                    const std::vector<unsigned int> &row_lengths);
 
                                     /**
                                      * Copy operator. For this the same holds
@@ -290,9 +290,9 @@ class SparsityPattern : public Subscriptor
                                      * to save time and to avoid fragmentation
                                      * of the heap.
                                      */
-    void reinit (const unsigned int          m,
-                const unsigned int          n,
-                const vector<unsigned int> &row_lengths);
+    void reinit (const unsigned int               m,
+                const unsigned int               n,
+                const std::vector<unsigned int> &row_lengths);
     
                                     /**
                                      * This function compresses the sparsity
@@ -402,7 +402,7 @@ class SparsityPattern : public Subscriptor
                                      * to dots or points and use the
                                      * @p{plot} command.
                                      */
-    void print_gnuplot (ostream &out) const;
+    void print_gnuplot (std::ostream &out) const;
 
                                     /**
                                      * Return number of rows of this
@@ -540,7 +540,7 @@ class SparsityPattern : public Subscriptor
     DeclException2 (ExcNotEnoughSpace,
                    int, int,
                    << "Upon entering a new entry to row " << arg1
-                   << ": there was no free entry any more. " << endl
+                   << ": there was no free entry any more. " << std::endl
                    << "(Maximum number of entries for this row: "
                    << arg2 << "; maybe the matrix is already compressed?)");
                                     /**
index d8e172ed5127b7d53d462e3c25396acdca1abeab..540a2f408cc280610118062e9df27fdd2d08947a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -117,7 +117,7 @@ class SwappableVector : public Vector<number>
                                      * has previously been called,
                                      * then that is deleted first.
                                      */
-    void swap_out (const string &filename);
+    void swap_out (const std::string &filename);
 
                                     /**
                                      * Reload the data of this vector
@@ -219,7 +219,7 @@ class SwappableVector : public Vector<number>
                                      * the filename is an empty
                                      * string.
                                      */
-    const string & get_filename () const;
+    const std::string & get_filename () const;
    
                                     /**
                                      * Determine an estimate for the
@@ -240,7 +240,7 @@ class SwappableVector : public Vector<number>
                                      * Exception.
                                      */ 
     DeclException1 (ExcInvalidFilename,
-                   string,
+                   std::string,
                    << "The filename <" << arg1
                    << "> is not a valid one here.");
                                     /**
@@ -259,7 +259,7 @@ class SwappableVector : public Vector<number>
                                      * empty, indicating no ownership
                                      * of files.
                                      */
-    string filename;
+    std::string filename;
 
                                     /**
                                      * If in multithread mode, then
index 94f14e652baee778a7f64d3ebc5743441176b012..964da1c14f7025b89feca3e3e87ca9425cb24683 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -93,7 +93,7 @@ SwappableVector<number>::operator= (const SwappableVector<number> &v)
 
 
 template <typename number>
-void SwappableVector<number>::swap_out (const string &name)
+void SwappableVector<number>::swap_out (const std::string &name)
 {
                                   // if the vector was stored in
                                   // another file previously, and
@@ -118,7 +118,7 @@ void SwappableVector<number>::swap_out (const string &name)
                                   //  @p{reload} function
   Assert (data_is_preloaded == false, ExcInternalError());
   
-  ofstream tmp_out(filename.c_str());
+  std::ofstream tmp_out(filename.c_str());
   block_write (tmp_out);
   tmp_out.close ();
        
@@ -203,7 +203,7 @@ void SwappableVector<number>::reload_vector (const bool set_flag)
   Assert (filename != "", ExcInvalidFilename (filename));
   Assert (size() == 0, ExcSizeNonzero());
   
-  ifstream tmp_in(filename.c_str());
+  std::ifstream tmp_in(filename.c_str());
   block_read (tmp_in);
   tmp_in.close ();
 
@@ -255,7 +255,7 @@ void SwappableVector<number>::kill_file ()
 
 
 template <typename number>
-const string &
+const std::string &
 SwappableVector<number>::get_filename () const 
 {
   return filename;
index dc8f79a22e9cd2457b3afc16f9ed859ceda5bf8a..b168a51b40c3331c6846119a8513cb82b66db036 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -43,7 +43,8 @@
  * @author Guido Kanschat, Franz-Theo Suttmeier, Wolfgang Bangerth
  */
 template <typename Number>
-class Vector {
+class Vector
+{
   public:
                                     /**
                                      * Declare standard types used in all
@@ -418,9 +419,10 @@ class Vector {
                                      * Print to a stream.
                                      * 
                                      */
-    void print (ostream &, unsigned int precision = 3,
-               bool scientific = true,
-               bool across = true) const;
+    void print (std::ostream       &out,
+               const unsigned int  precision = 3,
+               const bool          scientific = true,
+               const bool          across = true) const;
 
                                     /**
                                      * Write the vector en bloc to a file. This
@@ -430,7 +432,7 @@ class Vector {
                                      * a different operating system of number
                                      * format.
                                      */
-    void block_write (ostream &out) const;
+    void block_write (std::ostream &out) const;
 
                                     /**
                                      * Read a vector en block from a file. This
@@ -447,7 +449,7 @@ class Vector {
                                      * data as a vector stored bitwise to a
                                      * file, but not more.
                                      */
-    void block_read (istream &in);
+    void block_read (std::istream &in);
 
                                     /**
                                      * Determine an estimate for the
index 4ef8a4a25c6af7f84eae9c80a3b8c2e56a1167b5..86ea6db1bf9f268f29e311fbe0d96b680ea2ab34 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -21,7 +21,8 @@
 
 
 template <typename Number>
-static inline Number sqr (const Number x) {
+static inline Number sqr (const Number x)
+{
   return x*x;
 };
 
@@ -54,7 +55,7 @@ Vector<Number>::Vector (const Vector<Number>& v) :
     {
       val = new Number[maxdim];
       Assert (val != 0, ExcOutOfMemory());
-      copy (v.begin(), v.end(), begin());
+      std::copy (v.begin(), v.end(), begin());
     }
 }
 
@@ -119,7 +120,7 @@ template <typename Number>
 void Vector<Number>::clear ()
 {
   if (dim>0)
-    fill (begin(), end(), 0.);
+    std::fill (begin(), end(), 0.);
 }
 
 
@@ -302,8 +303,8 @@ Number Vector<Number>::linfty_norm () const {
     if (max0<fabs(val[i]))
       max0 = fabs(val[i]);
 
-  return max (max(max0, max1),
-             max(max2, max3));
+  return std::max (std::max(max0, max1),
+                  std::max(max2, max3));
 };
 
 
@@ -516,7 +517,7 @@ template <typename Number>
 Vector<Number>& Vector<Number>::operator = (const Number s)
 {
   Assert (dim!=0, ExcEmptyVector());
-  fill (begin(), end(), s);
+  std::fill (begin(), end(), s);
   return *this;
 }
 
@@ -529,7 +530,7 @@ Vector<Number>::operator = (const Vector<Number>& v)
   if (v.dim != dim)
     reinit (v.dim, true);
   if (dim!=0)
-    copy (v.begin(), v.end(), begin());
+    std::copy (v.begin(), v.end(), begin());
   
   return *this;
 }
@@ -544,7 +545,7 @@ Vector<Number>::operator = (const Vector<Number2>& v)
   if (v.size() != dim)
     reinit (v.size(), true);
   if (dim!=0)
-    copy (v.begin(), v.end(), begin());
+    std::copy (v.begin(), v.end(), begin());
   
   return *this;
 }
@@ -576,19 +577,19 @@ void Vector<Number>::print (const char* format) const
 
 
 template <typename Number>
-void Vector<Number>::print (ostream &out,
-                           unsigned int precision,
-                           bool scientific,
-                           bool across) const
+void Vector<Number>::print (std::ostream      &out,
+                           const unsigned int precision,
+                           const bool         scientific,
+                           const bool         across) const
 {
   Assert (dim!=0, ExcEmptyVector());
 
   out.precision (precision);
   if (scientific)
     {
-      out.setf (ios::scientific, ios::floatfield);
+      out.setf (std::ios::scientific, std::ios::floatfield);
     } else {
-      out.setf (ios::fixed, ios::floatfield);
+      out.setf (std::ios::fixed, std::ios::floatfield);
     }
 
   if (across)
@@ -596,8 +597,8 @@ void Vector<Number>::print (ostream &out,
       out << val[i] << ' ';
   else
     for (unsigned int i=0; i<size(); ++i)
-      out << val[i] << endl;
-  out << endl;
+      out << val[i] << std::endl;
+  out << std::endl;
   
   AssertThrow (out, ExcIO());
 };
@@ -605,12 +606,12 @@ void Vector<Number>::print (ostream &out,
 
 
 template <typename Number>
-void Vector<Number>::block_write (ostream &out) const
+void Vector<Number>::block_write (std::ostream &out) const
 {
   AssertThrow (out, ExcIO());
 
                                   // other version of the following
-                                  //  out << size() << endl << '[';
+                                  //  out << size() << std::endl << '[';
                                   // reason: operator<< seems to use
                                   // some resources that lead to
                                   // problems in a multithreaded
@@ -636,7 +637,7 @@ void Vector<Number>::block_write (ostream &out) const
 
 
 template <typename Number>
-void Vector<Number>::block_read (istream &in)
+void Vector<Number>::block_read (std::istream &in)
 {
   AssertThrow (in, ExcIO());
 
@@ -657,7 +658,7 @@ void Vector<Number>::block_read (istream &in)
   in.read (&c, 1);
   AssertThrow (c=='[', ExcIO());
   
-  in.read (reinterpret_cast<void*>(begin()),
+  in.read (reinterpret_cast<char*>(begin()),
           reinterpret_cast<const char*>(end())
           - reinterpret_cast<const char*>(begin()));
   
index daca93e7e2ffcacb9242c3da51ada2dcf6b46ad9..896ea377135a5fc37977130a470d12b16c8ac0c0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -151,12 +151,12 @@ class GrowingVectorMemory : public VectorMemory<Vector>
                                      * vector is used, second the
                                      * vector itself.
                                      */
-    typedef pair<bool, Vector* > entry_type;
+    typedef std::pair<bool, Vector* > entry_type;
 
                                     /**
                                      * Array of allocated vectors.
                                      */
-    vector<entry_type> pool;
+    std::vector<entry_type> pool;
     
                                     /**
                                      * Overall number of allocations.
@@ -172,7 +172,7 @@ template<typename Vector>
 GrowingVectorMemory<Vector>::GrowingVectorMemory(const unsigned int initial_size)
                : pool(initial_size)
 {
-  for (typename vector<entry_type>::iterator i=pool.begin();
+  for (typename std::vector<entry_type>::iterator i=pool.begin();
        i != pool.end();
        ++i)
     {
@@ -188,7 +188,7 @@ template<typename Vector>
 GrowingVectorMemory<Vector>::~GrowingVectorMemory()
 {
   unsigned int n = 0;
-  for (typename vector<entry_type>::iterator i=pool.begin();
+  for (typename std::vector<entry_type>::iterator i=pool.begin();
        i != pool.end();
        ++i)
     {
@@ -197,12 +197,12 @@ GrowingVectorMemory<Vector>::~GrowingVectorMemory()
       delete i->second;
     }
   deallog << "GrowingVectorMemory:Overall allocated vectors: "
-         << n_alloc << endl;
+         << n_alloc << std::endl;
   deallog << "GrowingVectorMemory:Maximum allocated vectors: "
-         << pool.size() << endl;
+         << pool.size() << std::endl;
   if (n!=0)
     deallog << "GrowingVectorMemory:Vectors not deallocated: "
-           << n << " Memory leak!" << endl;
+           << n << " Memory leak!" << std::endl;
 }
 
 
@@ -212,7 +212,7 @@ Vector*
 GrowingVectorMemory<Vector>::alloc()
 {
   ++n_alloc;
-  for (typename vector<entry_type>::iterator i=pool.begin();
+  for (typename std::vector<entry_type>::iterator i=pool.begin();
        i != pool.end();
        ++i)
     {
@@ -235,7 +235,7 @@ template<typename Vector>
 void
 GrowingVectorMemory<Vector>::free(const Vector* const v)
 {
-  for (typename vector<entry_type>::iterator i=pool.begin();i != pool.end() ;++i)
+  for (typename std::vector<entry_type>::iterator i=pool.begin();i != pool.end() ;++i)
     {
       if (v == (i->second))
        {
index 6be484a4333a08435763983436b1302f4e53e961..3dd7348ed18a490757916e0187e2ed3092c37ad8 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 2ffe42ef26b60d5fdc3b2cc2d986dcce01b558ee..3ffa3bb07a4d7ec8724a92d3bec6613f5b91371b 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -60,7 +60,7 @@ BlockSparsityPattern::reinit (const unsigned int r,
                                   // set new sizes
   rows = r;
   columns = c;
-  sub_objects.resize (rows, vector<SmartPointer<SparsityPattern> > (columns));
+  sub_objects.resize (rows, std::vector<SmartPointer<SparsityPattern> > (columns));
 
                                   // allocate new objects
   for (unsigned int i=0; i<rows; ++i)
@@ -91,8 +91,8 @@ BlockSparsityPattern::operator = (const BlockSparsityPattern &bsp)
 void
 BlockSparsityPattern::collect_sizes ()
 {
-  vector<unsigned int> row_sizes (rows);
-  vector<unsigned int> col_sizes (columns);
+  std::vector<unsigned int> row_sizes (rows);
+  std::vector<unsigned int> col_sizes (columns);
 
                                   // first find out the row sizes
                                   // from the first block column
index 0fc335ad698b1ec43e3361c5efde4a25a5b40e31..a085184bb63eeddc975faebe8b982bc0e7e1ca7a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index c55dc1760e993b1e19a6060582e4fa8e9cc7d28c..199a68311a0dfdcdb94c73b8a7ef58d64701b74c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -125,9 +125,9 @@ FullMatrix<double>::invert (const FullMatrix<double> &M)
 //  double condition = s[0]/s[dim_range-1];
   
   if (info!=0)
-    deallog << "inverting error " << info << ' ' << erg << endl;
+    deallog << "inverting error " << info << ' ' << erg << std::endl;
   if (rank<(int)dim_range)
-    deallog << "rank deficiency " << rank << endl;
+    deallog << "rank deficiency " << rank << std::endl;
   delete[] work;
   delete[] s;
   delete[] matrix;
index e5d88d8a9f135780610b6618b7adca8d5d4b1bc0..3ad09c4b2980829b32db40f46c97acfc32495404 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 0427e542e8a7f00decdd9674c2c664f2527b1e6d..193c67f049d2a54cbcf3c943f76ec4fc43475e46 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index e56f9951ed3684b0475260bc1eb53c0dda07a102..e8e48ea025d824356d5cb7c9532047f5036efe4a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -88,7 +88,7 @@ SolverControl::check (const unsigned int step,
     {
       if (_log_result)
        deallog << "Convergence step " << step
-               << " value " << check_value << endl;      
+               << " value " << check_value << endl;
       return success;
     }
   
index 3aa33b6997ce8962f9b80d3f363404a7297e749f..c15b4f43b64a22f9776a35a56fdd0f2ecbba07bd 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 69ca4421c0534bd93db7f77ed1bddb7287260759..da61ded2aaa7dbfcbb15f0aad82b2d0959eb349d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index b2395269120c4ac9b2e623ccad51e4228280887a..4825be0df8d7fca9980f7b90cbc777efa878bd92 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 50a8cadfb38cdde8e4933e334878caa6599c00dc..055c8423ed9f0ac650c90cf6bdc729d84f14f27c 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 9828eea8ddb3717e28014411fef01dee1d46df08..c61cf045a2c1d24acc878a4767c100e154101076 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index d8752837686bc8cc68b70848f97cbabf8a99d8eb..cb90d282645531ff473f7f0171b3841a441dc069 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -67,9 +67,9 @@ SparsityPattern::SparsityPattern (const unsigned int m,
 
 
 
-SparsityPattern::SparsityPattern (const unsigned int          m,
-                                 const unsigned int          n,
-                                 const vector<unsigned int> &row_lengths) 
+SparsityPattern::SparsityPattern (const unsigned int               m,
+                                 const unsigned int               n,
+                                 const std::vector<unsigned int> &row_lengths) 
                : max_dim(0),
                  max_vec_len(0),
                  rowstart(0),
@@ -92,8 +92,8 @@ SparsityPattern::SparsityPattern (const unsigned int n,
 
 
 
-SparsityPattern::SparsityPattern (const unsigned int          m,
-                                 const vector<unsigned int> &row_lengths) 
+SparsityPattern::SparsityPattern (const unsigned int               m,
+                                 const std::vector<unsigned int> &row_lengths) 
                : max_dim(0),
                  max_vec_len(0),
                  rowstart(0),
@@ -156,17 +156,17 @@ SparsityPattern::SparsityPattern (const SparsityPattern &original,
       const unsigned int * const
        original_last_before_side_diagonals
        = (row > extra_off_diagonals ?
-          lower_bound (original_row_start,
-                       original_row_end,
-                       row-extra_off_diagonals) :
+          std::lower_bound (original_row_start,
+                            original_row_end,
+                            row-extra_off_diagonals) :
           original_row_start);
       
       const unsigned int * const
        original_first_after_side_diagonals
        = (row < rows-extra_off_diagonals-1 ?
-          upper_bound (original_row_start,
-                       original_row_end,
-                       row+extra_off_diagonals) :
+          std::upper_bound (original_row_start,
+                            original_row_end,
+                            row+extra_off_diagonals) :
           original_row_end);
 
                                       // find first free slot. the
@@ -175,22 +175,22 @@ SparsityPattern::SparsityPattern (const SparsityPattern &original,
       unsigned int * next_free_slot = &colnums[rowstart[row]] + 1;
 
                                       // copy elements before side-diagonals
-      next_free_slot = copy (original_row_start,
-                            original_last_before_side_diagonals,
-                            next_free_slot);
+      next_free_slot = std::copy (original_row_start,
+                                 original_last_before_side_diagonals,
+                                 next_free_slot);
 
                                       // insert left and right side-diagonals
-      for (unsigned int i=1; i<=min(row,extra_off_diagonals);
+      for (unsigned int i=1; i<=std::min(row,extra_off_diagonals);
           ++i, ++next_free_slot)
        *next_free_slot = row-i;
-      for (unsigned int i=1; i<=min(extra_off_diagonals, rows-row-1);
+      for (unsigned int i=1; i<=std::min(extra_off_diagonals, rows-row-1);
           ++i, ++next_free_slot)
        *next_free_slot = row+i;
 
                                       // copy rest
-      next_free_slot = copy (original_first_after_side_diagonals,
-                            original_row_end,
-                            next_free_slot);
+      next_free_slot = std::copy (original_first_after_side_diagonals,
+                                 original_row_end,
+                                 next_free_slot);
 
                                       // this error may happen if the
                                       // sum of previous elements per row
@@ -238,16 +238,16 @@ SparsityPattern::reinit (const unsigned int m,
 {
                                   // simply map this function to the
                                   // other @p{reinit} function
-  const vector<unsigned int> row_lengths (m, max_per_row);
+  const std::vector<unsigned int> row_lengths (m, max_per_row);
   reinit (m, n, row_lengths);
 };
 
 
 
 void
-SparsityPattern::reinit (const unsigned int m,
-                        const unsigned int n,
-                        const vector<unsigned int> &row_lengths)
+SparsityPattern::reinit (const unsigned int               m,
+                        const unsigned int               n,
+                        const std::vector<unsigned int> &row_lengths)
 {
   Assert (((m==0) && (n==0)) || (*max_element(row_lengths.begin(), row_lengths.end()) > 0),
          ExcInvalidNumber(*max_element(row_lengths.begin(), row_lengths.end())));
@@ -282,12 +282,12 @@ SparsityPattern::reinit (const unsigned int m,
                                   // columns
   unsigned int vec_len = 0;
   for (unsigned int i=0; i<m; ++i)
-    vec_len += min(row_lengths[i], n);
+    vec_len += std::min(row_lengths[i], n);
 
   max_row_length = (row_lengths.size() == 0 ?
                    0 :
-                   min (*max_element(row_lengths.begin(), row_lengths.end()),
-                        n));
+                   std::min (*std::max_element(row_lengths.begin(), row_lengths.end()),
+                             n));
 
 
                                   // allocate memory for the rowstart
@@ -311,13 +311,13 @@ SparsityPattern::reinit (const unsigned int m,
                                   // set the rowstart array 
   rowstart[0] = 0;
   for (unsigned int i=1; i<=rows; ++i)
-    rowstart[i] = rowstart[i-1]+min(row_lengths[i-1],n);
+    rowstart[i] = rowstart[i-1]+std::min(row_lengths[i-1],n);
   Assert (rowstart[rows]==vec_len, ExcInternalError());
 
                                   // preset the column numbers by a
                                   // value indicating it is not in
                                   // use
-  fill_n (&colnums[0], vec_len, invalid_entry);
+  std::fill_n (&colnums[0], vec_len, invalid_entry);
 
                                   // if the matrix is square: let the
                                   // first entry in each row be the
@@ -348,17 +348,17 @@ SparsityPattern::compress ()
                                   // elements there are, in order to
                                   // allocate the right amount of
                                   // memory
-  const unsigned int
-    nonzero_elements = count_if (&colnums[rowstart[0]],
-                                &colnums[rowstart[rows]],
-                                bind2nd(not_equal_to<unsigned int>(), invalid_entry));
+  const unsigned int nonzero_elements
+    = std::count_if (&colnums[rowstart[0]],
+                    &colnums[rowstart[rows]],
+                    std::bind2nd(std::not_equal_to<unsigned int>(), invalid_entry));
                                   // now allocate the respective memory
   unsigned int *new_colnums = new unsigned int[nonzero_elements];
 
 
                                   // reserve temporary storage to
                                   // store the entries of one row
-  vector<unsigned int> tmp_entries (max_row_length);
+  std::vector<unsigned int> tmp_entries (max_row_length);
   
                                   // Traverse all rows
   for (unsigned int line=0; line<rows; ++line)
@@ -381,8 +381,8 @@ SparsityPattern::compress ()
                                       // this case only sort the
                                       // remaining entries, otherwise
                                       // sort all
-      sort ((rows==cols) ? &tmp_entries[1] : &tmp_entries[0],
-           &tmp_entries[row_length]);
+      std::sort ((rows==cols) ? &tmp_entries[1] : &tmp_entries[0],
+                &tmp_entries[row_length]);
 
                                       // insert column numbers
                                       // into the new field
@@ -411,15 +411,15 @@ SparsityPattern::compress ()
                                       // entries at all
       Assert ((rowstart[line] == next_row_start)
              ||
-             (find (&new_colnums[rowstart[line]+1],
-                    &new_colnums[next_row_start],
-                    new_colnums[rowstart[line]]) ==
+             (std::find (&new_colnums[rowstart[line]+1],
+                         &new_colnums[next_row_start],
+                         new_colnums[rowstart[line]]) ==
               &new_colnums[next_row_start]),
              ExcInternalError());
       Assert ((rowstart[line] == next_row_start)
              ||
-             (adjacent_find(&new_colnums[rowstart[line]+1],
-                            &new_colnums[next_row_start]) ==
+             (std::adjacent_find(&new_colnums[rowstart[line]+1],
+                                 &new_colnums[next_row_start]) ==
               &new_colnums[next_row_start]),
              ExcInternalError());
     };
@@ -489,7 +489,7 @@ SparsityPattern::max_entries_per_row () const
                                   // gives us a sharp bound
   unsigned int m = 0;
   for (unsigned int i=1; i<rows; ++i)
-    m = max (m, rowstart[i]-rowstart[i-1]);
+    m = std::max (m, rowstart[i]-rowstart[i-1]);
 
   return m;
 };
@@ -529,9 +529,9 @@ SparsityPattern::operator () (const unsigned int i,
                                   // at the top of this function, so it
                                   // may not be called for noncompressed
                                   // structures.
-  const unsigned int * const p = lower_bound (&colnums[rowstart[i]+1],
-                                             &colnums[rowstart[i+1]],
-                                             j);
+  const unsigned int * const p = std::lower_bound (&colnums[rowstart[i]+1],
+                                                  &colnums[rowstart[i+1]],
+                                                  j);
   if ((*p == j) &&
       (p != &colnums[rowstart[i+1]]))
     return (p - &colnums[0]);
@@ -607,7 +607,7 @@ SparsityPattern::symmetrize ()
 
 
 void
-SparsityPattern::print_gnuplot (ostream &out) const
+SparsityPattern::print_gnuplot (std::ostream &out) const
 {
   Assert ((rowstart!=0) && (colnums!=0), ExcEmptyObject());  
   for (unsigned int i=0; i<rows; ++i)
@@ -620,7 +620,7 @@ SparsityPattern::print_gnuplot (ostream &out) const
                                         // is x-y, that is we have to
                                         // exchange the order of
                                         // output
-       out << colnums[j] << " " << -static_cast<signed int>(i) << endl;
+       out << colnums[j] << " " << -static_cast<signed int>(i) << std::endl;
 
   AssertThrow (out, ExcIO());
 }
index cf197881b0b45a7563ee4654c0ee0dd2f479c859..d0883b43f6e93db6eb3bc26f8400ed9afe146c31 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
index 79bc6a33bb20665139128db2b5c9998025bb4ea5..2ff0e2217fca6db31d217b05281597662dd823f1 100644 (file)
@@ -1,15 +1,15 @@
-//----------------------------  vector.cc  ---------------------------
+//----------------------------  std::vector.cc  ---------------------------
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 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.
 //
-//----------------------------  vector.cc  ---------------------------
+//----------------------------  std::vector.cc  ---------------------------
 
 
 #include <lac/vector.templates.h>
index 7e49c8ce2676f1cb225d814c4cf0ceb7cc68068a..86b8d0096907a9d84a7ca7b35bb581f972a8bade 100644 (file)
@@ -1,15 +1,15 @@
-//----------------------------  vector.long_double.cc  ---------------------------
+//----------------------------  std::vector.long_double.cc  ---------------------------
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 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.
 //
-//----------------------------  vector.long_double.cc  ---------------------------
+//----------------------------  std::vector.long_double.cc  ---------------------------
 
 
 #include <lac/vector.templates.h>

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.