From 653a04b3c096e44e14fb93509fb341bd4c8f1b11 Mon Sep 17 00:00:00 2001 From: wolf Date: Thu, 17 May 2001 16:07:15 +0000 Subject: [PATCH] Avoid the use of member templates when spawning, as this confuses compilers. git-svn-id: https://svn.dealii.org/trunk@4659 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/dofs/dof_tools.cc | 16 ++++++++++++++-- .../source/numerics/derivative_approximation.cc | 11 ++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/deal.II/deal.II/source/dofs/dof_tools.cc b/deal.II/deal.II/source/dofs/dof_tools.cc index f11ce7eedb..d43032d5af 100644 --- a/deal.II/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/deal.II/source/dofs/dof_tools.cc @@ -1139,9 +1139,12 @@ DoFTools::count_dofs_per_component (const DoFHandler &dof_handler, Threads::ThreadManager thread_manager; for (unsigned int i=0; i &, + const std::vector &, + std::vector &) = &DoFTools::template extract_dofs; component_select[i][i] = true; Threads::spawn (thread_manager, - Threads::encapsulate (&DoFTools::template extract_dofs) + Threads::encapsulate (fun_ptr) .collect_args (dof_handler, component_select[i], dofs_in_component[i])); }; @@ -1739,9 +1742,18 @@ DoFTools::compute_intergrid_weights_2 (const DoFHandler &coars multithread_info.n_default_threads); Threads::ThreadManager thread_manager; + void (*fun_ptr) (const DoFHandler &, + const unsigned int , + const InterGridMap &, + const std::vector > &, + const std::vector &, + std::vector > &, + const typename DoFHandler::active_cell_iterator &, + const typename DoFHandler::active_cell_iterator &) + = &DoFTools::template compute_intergrid_weights_3; for (unsigned int i=0; i) + Threads::encapsulate (fun_ptr) .collect_args (coarse_grid, coarse_component, coarse_to_fine_grid_map, parameter_dofs, weight_mapping, weights, diff --git a/deal.II/deal.II/source/numerics/derivative_approximation.cc b/deal.II/deal.II/source/numerics/derivative_approximation.cc index 053ad80c8d..ee006ca738 100644 --- a/deal.II/deal.II/source/numerics/derivative_approximation.cc +++ b/deal.II/deal.II/source/numerics/derivative_approximation.cc @@ -471,11 +471,16 @@ approximate_derivative (const Mapping &mapping, = Threads::split_interval (0, dof_handler.get_tria().n_active_cells(), n_threads); Threads::ThreadManager thread_manager; + void (*fun_ptr) (const Mapping &, + const DoFHandler &, + const Vector &, + const unsigned int , + const IndexInterval &, + Vector &) + = &DerivativeApproximation::template approximate; for (unsigned int i=0; i) + Threads::encapsulate(fun_ptr) .collect_args (mapping, dof_handler, solution, component, index_intervals[i], derivative_norm)); -- 2.39.5