Loading src/CMakeLists.txt +1 −1 Original line number Diff line number Diff line ADD_SUBDIRECTORY( Python ) #ADD_SUBDIRECTORY( Python ) ADD_SUBDIRECTORY( TNL ) ADD_SUBDIRECTORY( Tools ) ADD_SUBDIRECTORY( UnitTests ) src/Tools/tnl-diff.cpp +4 −13 Original line number Diff line number Diff line Loading @@ -67,23 +67,14 @@ int main( int argc, char* argv[] ) { int dimensions = atoi( parsedMeshType[ 1 ].getString() ); if( dimensions == 1 ) { typedef Meshes::Grid< 1, double, Devices::Host, int > MeshType; if( ! processFiles< MeshType >( parameters ) ) if( ! resolveGridRealType< 1 >( parsedMeshType, parameters ) ) return EXIT_FAILURE; } if( dimensions == 2 ) { typedef Meshes::Grid< 2, double, Devices::Host, int > MeshType; if( ! processFiles< MeshType >( parameters ) ) if( ! resolveGridRealType< 2 >( parsedMeshType, parameters ) ) return EXIT_FAILURE; } if( dimensions == 3 ) { typedef Meshes::Grid< 3, double, Devices::Host, int > MeshType; if( ! processFiles< MeshType >( parameters ) ) if( ! resolveGridRealType< 3 >( parsedMeshType, parameters ) ) return EXIT_FAILURE; } return EXIT_SUCCESS; } return EXIT_FAILURE; Loading src/Tools/tnl-diff.h +23 −0 Original line number Diff line number Diff line Loading @@ -464,4 +464,27 @@ bool processFiles( const Config::ParameterContainer& parameters ) return true; } template< int Dim, typename Real > bool resolveGridIndexType( const Containers::List< String >& parsedMeshType, const Config::ParameterContainer& parameters ) { if( parsedMeshType[ 4 ] == "int" ) return processFiles< Meshes::Grid< Dim, Real, Devices::Host, int > >( parameters ); if( parsedMeshType[ 4 ] == "long int" ) return processFiles< Meshes::Grid< Dim, Real, Devices::Host, long int > >( parameters ); } template< int Dim > bool resolveGridRealType( const Containers::List< String >& parsedMeshType, const Config::ParameterContainer& parameters ) { if( parsedMeshType[ 2 ] == "float" ) return resolveGridIndexType< Dim, float >( parsedMeshType, parameters ); if( parsedMeshType[ 2 ] == "double" ) return resolveGridIndexType< Dim, double >( parsedMeshType, parameters ); if( parsedMeshType[ 2 ] == "long double" ) return resolveGridIndexType< Dim, long double >( parsedMeshType, parameters ); } #endif /* TNL_DIFF_H_ */ Loading
src/CMakeLists.txt +1 −1 Original line number Diff line number Diff line ADD_SUBDIRECTORY( Python ) #ADD_SUBDIRECTORY( Python ) ADD_SUBDIRECTORY( TNL ) ADD_SUBDIRECTORY( Tools ) ADD_SUBDIRECTORY( UnitTests )
src/Tools/tnl-diff.cpp +4 −13 Original line number Diff line number Diff line Loading @@ -67,23 +67,14 @@ int main( int argc, char* argv[] ) { int dimensions = atoi( parsedMeshType[ 1 ].getString() ); if( dimensions == 1 ) { typedef Meshes::Grid< 1, double, Devices::Host, int > MeshType; if( ! processFiles< MeshType >( parameters ) ) if( ! resolveGridRealType< 1 >( parsedMeshType, parameters ) ) return EXIT_FAILURE; } if( dimensions == 2 ) { typedef Meshes::Grid< 2, double, Devices::Host, int > MeshType; if( ! processFiles< MeshType >( parameters ) ) if( ! resolveGridRealType< 2 >( parsedMeshType, parameters ) ) return EXIT_FAILURE; } if( dimensions == 3 ) { typedef Meshes::Grid< 3, double, Devices::Host, int > MeshType; if( ! processFiles< MeshType >( parameters ) ) if( ! resolveGridRealType< 3 >( parsedMeshType, parameters ) ) return EXIT_FAILURE; } return EXIT_SUCCESS; } return EXIT_FAILURE; Loading
src/Tools/tnl-diff.h +23 −0 Original line number Diff line number Diff line Loading @@ -464,4 +464,27 @@ bool processFiles( const Config::ParameterContainer& parameters ) return true; } template< int Dim, typename Real > bool resolveGridIndexType( const Containers::List< String >& parsedMeshType, const Config::ParameterContainer& parameters ) { if( parsedMeshType[ 4 ] == "int" ) return processFiles< Meshes::Grid< Dim, Real, Devices::Host, int > >( parameters ); if( parsedMeshType[ 4 ] == "long int" ) return processFiles< Meshes::Grid< Dim, Real, Devices::Host, long int > >( parameters ); } template< int Dim > bool resolveGridRealType( const Containers::List< String >& parsedMeshType, const Config::ParameterContainer& parameters ) { if( parsedMeshType[ 2 ] == "float" ) return resolveGridIndexType< Dim, float >( parsedMeshType, parameters ); if( parsedMeshType[ 2 ] == "double" ) return resolveGridIndexType< Dim, double >( parsedMeshType, parameters ); if( parsedMeshType[ 2 ] == "long double" ) return resolveGridIndexType< Dim, long double >( parsedMeshType, parameters ); } #endif /* TNL_DIFF_H_ */