From 94f9f8aed09eb303b382d3c21746e23fd58cbad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Klinkovsk=C3=BD?= <klinkjak@fjfi.cvut.cz> Date: Mon, 21 Nov 2016 23:07:20 +0100 Subject: [PATCH] Renamed tnlDefaultBuildConfigTag and FastBuildConfig --- .../tnl-direct-eikonal-solver.h | 2 +- src/TNL/Solvers/BuildConfigTags.h | 2 +- src/TNL/Solvers/FastBuildConfigTag.h | 32 +++++++++---------- src/TNL/Solvers/SolverConfig_impl.h | 1 + 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/TNL/Experimental/Hamilton-Jacobi/Solvers/hamilton-jacobi/tnl-direct-eikonal-solver.h b/src/TNL/Experimental/Hamilton-Jacobi/Solvers/hamilton-jacobi/tnl-direct-eikonal-solver.h index 225ce04b98..c4055d95df 100644 --- a/src/TNL/Experimental/Hamilton-Jacobi/Solvers/hamilton-jacobi/tnl-direct-eikonal-solver.h +++ b/src/TNL/Experimental/Hamilton-Jacobi/Solvers/hamilton-jacobi/tnl-direct-eikonal-solver.h @@ -24,7 +24,7 @@ using namespace TNL; //typedef tnlDefaultBuildMeshConfig BuildConfig; -typedef Solvers::FastBuildConfig BuildConfig; +typedef Solvers::FastBuildConfigTag BuildConfig; template< typename MeshConfig > class tnlDirectEikonalSolverConfig diff --git a/src/TNL/Solvers/BuildConfigTags.h b/src/TNL/Solvers/BuildConfigTags.h index e89aa9d925..080dfb2744 100644 --- a/src/TNL/Solvers/BuildConfigTags.h +++ b/src/TNL/Solvers/BuildConfigTags.h @@ -26,7 +26,7 @@ namespace TNL { namespace Solvers { -class DefaultBuildConfigTag{}; +class DefaultBuildConfigTag {}; /**** * All devices are enabled by default. Those which are not available diff --git a/src/TNL/Solvers/FastBuildConfigTag.h b/src/TNL/Solvers/FastBuildConfigTag.h index 45ab71b8d8..211e316fcc 100644 --- a/src/TNL/Solvers/FastBuildConfigTag.h +++ b/src/TNL/Solvers/FastBuildConfigTag.h @@ -15,46 +15,46 @@ namespace TNL { namespace Solvers { -class FastBuildConfig +class FastBuildConfigTag { public: - static void print() { std::cerr << "FastBuildConfig" << std::endl; } + static void print() { std::cerr << "FastBuildConfigTag" << std::endl; } }; /**** * Turn off support for float and long double. */ -template<> struct ConfigTagReal< FastBuildConfig, float > { enum { enabled = false }; }; -template<> struct ConfigTagReal< FastBuildConfig, long double > { enum { enabled = false }; }; +template<> struct ConfigTagReal< FastBuildConfigTag, float > { enum { enabled = false }; }; +template<> struct ConfigTagReal< FastBuildConfigTag, long double > { enum { enabled = false }; }; /**** * Turn off support for short int and long int indexing. */ -template<> struct ConfigTagIndex< FastBuildConfig, short int >{ enum { enabled = false }; }; -template<> struct ConfigTagIndex< FastBuildConfig, long int >{ enum { enabled = false }; }; +template<> struct ConfigTagIndex< FastBuildConfigTag, short int >{ enum { enabled = false }; }; +template<> struct ConfigTagIndex< FastBuildConfigTag, long int >{ enum { enabled = false }; }; /**** * Use of Grid is enabled for allowed dimensions and Real, Device and Index types. */ -template< int Dimension, typename Real, typename Device, typename Index > - struct ConfigTagMesh< FastBuildConfig, Meshes::Grid< Dimension, Real, Device, Index > > - { enum { enabled = ConfigTagDimension< FastBuildConfig, Dimension >::enabled && - ConfigTagReal< FastBuildConfig, Real >::enabled && - ConfigTagDevice< FastBuildConfig, Device >::enabled && - ConfigTagIndex< FastBuildConfig, Index >::enabled }; }; +template< int Dimensions, typename Real, typename Device, typename Index > + struct ConfigTagMesh< FastBuildConfigTag, Meshes::Grid< Dimensions, Real, Device, Index > > + { enum { enabled = ConfigTagDimensions< FastBuildConfigTag, Dimensions >::enabled && + ConfigTagReal< FastBuildConfigTag, Real >::enabled && + ConfigTagDevice< FastBuildConfigTag, Device >::enabled && + ConfigTagIndex< FastBuildConfigTag, Index >::enabled }; }; /**** * Please, chose your preferred time discretisation here. */ -template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, ExplicitTimeDiscretisationTag >{ enum { enabled = true }; }; -template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, SemiImplicitTimeDiscretisationTag >{ enum { enabled = true }; }; -template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, ImplicitTimeDiscretisationTag >{ enum { enabled = false }; }; +template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, ExplicitTimeDiscretisationTag >{ enum { enabled = true }; }; +template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, SemiImplicitTimeDiscretisationTag >{ enum { enabled = true }; }; +template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, ImplicitTimeDiscretisationTag >{ enum { enabled = false }; }; /**** * Only the Runge-Kutta-Merson solver is enabled by default. */ -//template<> struct ConfigTagExplicitSolver< FastBuildConfig, ExplicitEulerSolverTag >{ enum { enabled = false }; }; +//template<> struct ConfigTagExplicitSolver< FastBuildConfigTag, ExplicitEulerSolverTag >{ enum { enabled = false }; }; } // namespace Solvers } // namespace TNL diff --git a/src/TNL/Solvers/SolverConfig_impl.h b/src/TNL/Solvers/SolverConfig_impl.h index 69b895b501..9da689521d 100644 --- a/src/TNL/Solvers/SolverConfig_impl.h +++ b/src/TNL/Solvers/SolverConfig_impl.h @@ -11,6 +11,7 @@ #pragma once #include <TNL/tnlConfig.h> +#include <TNL/Solvers/SolverConfig.h> #include <TNL/Solvers/BuildConfigTags.h> #include <TNL/Solvers/DummyProblem.h> #include <TNL/Solvers/PDE/ExplicitTimeStepper.h> -- GitLab