Commit e78e6633 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Reverted optimization in NeighborGridEntitiesStorage which didn't work

Even the methods for specializations without storage have to return
something, which was not the case...
parent 7c810ba6
Loading
Loading
Loading
Loading
+4 −54
Original line number Original line Diff line number Diff line
@@ -22,12 +22,7 @@ template< typename GridEntity,
          int NeighborEntityDimension,
          int NeighborEntityDimension,
          typename GridEntityConfig,
          typename GridEntityConfig,
          bool storage = GridEntityConfig::template neighborEntityStorage< GridEntity >( NeighborEntityDimension ) >
          bool storage = GridEntityConfig::template neighborEntityStorage< GridEntity >( NeighborEntityDimension ) >
class NeighborGridEntityLayer{};   
class NeighborGridEntityLayer
   
template< typename GridEntity,
          int NeighborEntityDimension,
          typename GridEntityConfig >
class NeighborGridEntityLayer< GridEntity, NeighborEntityDimension, GridEntityConfig, true >
: public NeighborGridEntityLayer< GridEntity, NeighborEntityDimension - 1, GridEntityConfig >
: public NeighborGridEntityLayer< GridEntity, NeighborEntityDimension - 1, GridEntityConfig >
{
{
   public:
   public:
@@ -63,8 +58,9 @@ class NeighborGridEntityLayer< GridEntity, NeighborEntityDimension, GridEntityCo
};
};


template< typename GridEntity,
template< typename GridEntity,
          typename GridEntityConfig >
          typename GridEntityConfig,
class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, true >
          bool storage >
class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, storage >
{
{
   public:
   public:
 
 
@@ -93,52 +89,6 @@ class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, true >
      NeighborEntityGetterType neighborEntities;
      NeighborEntityGetterType neighborEntities;
};
};


template< typename GridEntity,
          int NeighborEntityDimension,
          typename GridEntityConfig >
class NeighborGridEntityLayer< GridEntity, NeighborEntityDimension, GridEntityConfig, false >
: public NeighborGridEntityLayer< GridEntity, NeighborEntityDimension - 1, GridEntityConfig >
{
   public:
      
      typedef NeighborGridEntityLayer< GridEntity, NeighborEntityDimension - 1, GridEntityConfig > BaseType;      
      typedef NeighborGridEntityGetter< GridEntity, NeighborEntityDimension > NeighborEntityGetterType;

      using BaseType::getNeighborEntities;
 
      __cuda_callable__
      NeighborGridEntityLayer( const GridEntity& entity )
      : BaseType( entity )
      {}

      __cuda_callable__
      const NeighborEntityGetterType& getNeighborEntities( const DimensionTag< NeighborEntityDimension >& tag ) const {}
 
      __cuda_callable__
      void refresh( const typename GridEntity::GridType& grid,
                    const typename GridEntity::GridType::IndexType& entityIndex ) {}
};

template< typename GridEntity,
          typename GridEntityConfig >
class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, false >
{
   public:
      
      typedef NeighborGridEntityGetter< GridEntity, 0 > NeighborEntityGetterType;
         
      __cuda_callable__
      NeighborGridEntityLayer( const GridEntity& entity ){}

      __cuda_callable__
      const NeighborEntityGetterType& getNeighborEntities( const DimensionTag< 0 >& tag ) const {}
 
      __cuda_callable__
      void refresh( const typename GridEntity::GridType& grid,
                    const typename GridEntity::GridType::IndexType& entityIndex ) {}
};






template< typename GridEntity,
template< typename GridEntity,