Commit 29d5c521 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Merge branch 'cineca/refactoring' into 'develop'

Refactoring: changed return types from bool to void

See merge request mmg/tnl-dev!6
parents 7ca75cc1 19e1c432
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -42,14 +42,14 @@ class ArrayOperations< Devices::Host >
      static Element getMemoryElement( const Element* data );

      template< typename Element, typename Index >
      static bool setMemory( Element* data,
      static void setMemory( Element* data,
                             const Element& value,
                             const Index size );

      template< typename DestinationElement,
                typename SourceElement,
                typename Index >
      static bool copyMemory( DestinationElement* destination,
      static void copyMemory( DestinationElement* destination,
                              const SourceElement* source,
                              const Index size );

@@ -93,14 +93,14 @@ class ArrayOperations< Devices::Cuda >
      static Element getMemoryElement( const Element* data );

      template< typename Element, typename Index >
      static bool setMemory( Element* data,
      static void setMemory( Element* data,
                             const Element& value,
                             const Index size );

      template< typename DestinationElement,
                typename SourceElement,
                typename Index >
      static bool copyMemory( DestinationElement* destination,
      static void copyMemory( DestinationElement* destination,
                              const SourceElement* source,
                              const Index size );

@@ -132,7 +132,7 @@ class ArrayOperations< Devices::Cuda, Devices::Host >
      template< typename DestinationElement,
                typename SourceElement,
                typename Index >
      static bool copyMemory( DestinationElement* destination,
      static void copyMemory( DestinationElement* destination,
                              const SourceElement* source,
                              const Index size );

@@ -152,7 +152,7 @@ class ArrayOperations< Devices::Host, Devices::Cuda >
      template< typename DestinationElement,
                typename SourceElement,
                typename Index >
      static bool copyMemory( DestinationElement* destination,
      static void copyMemory( DestinationElement* destination,
                              const SourceElement* source,
                              const Index size );

@@ -185,14 +185,14 @@ class ArrayOperations< Devices::MIC >
      static Element getMemoryElement( const Element* data );

      template< typename Element, typename Index >
      static bool setMemory( Element* data,
      static void setMemory( Element* data,
                             const Element& value,
                             const Index size );

      template< typename DestinationElement,
                typename SourceElement,
                typename Index >
      static bool copyMemory( DestinationElement* destination,
      static void copyMemory( DestinationElement* destination,
                              const SourceElement* source,
                              const Index size );

@@ -224,7 +224,7 @@ class ArrayOperations< Devices::MIC, Devices::Host >
      template< typename DestinationElement,
                typename SourceElement,
                typename Index >
      static bool copyMemory( DestinationElement* destination,
      static void copyMemory( DestinationElement* destination,
                              const SourceElement* source,
                              const Index size );

@@ -244,7 +244,7 @@ class ArrayOperations< Devices::Host, Devices::MIC >
      template< typename DestinationElement,
                typename SourceElement,
                typename Index >
      static bool copyMemory( DestinationElement* destination,
      static void copyMemory( DestinationElement* destination,
                              const SourceElement* source,
                              const Index size );

+25 −270

File changed.

Preview size limit exceeded, changes collapsed.

+2 −138
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ getMemoryElement( const Element* data )
}

template< typename Element, typename Index >
bool
void
ArrayOperations< Devices::Host >::
setMemory( Element* data,
           const Element& value,
@@ -70,13 +70,12 @@ setMemory( Element* data,
{
   for( Index i = 0; i < size; i ++ )
      data[ i ] = value;
   return true;
}

template< typename DestinationElement,
          typename SourceElement,
          typename Index >
bool
void
ArrayOperations< Devices::Host >::
copyMemory( DestinationElement* destination,
            const SourceElement* source,
@@ -100,7 +99,6 @@ copyMemory( DestinationElement* destination,
   else
      for( Index i = 0; i < size; i ++ )
         destination[ i ] = ( DestinationElement ) source[ i ];
   return true;
}

template< typename DestinationElement,
@@ -164,140 +162,6 @@ containsOnlyValue( const Element* data,
   return true;
}


#ifdef TEMPLATE_EXPLICIT_INSTANTIATION

extern template bool ArrayOperations< Devices::Host >::allocateMemory< char,        int >( char*& data, const int size );
extern template bool ArrayOperations< Devices::Host >::allocateMemory< int,         int >( int*& data, const int size );
extern template bool ArrayOperations< Devices::Host >::allocateMemory< long int,    int >( long int*& data, const int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::allocateMemory< float,       int >( float*& data, const int size );
#endif
extern template bool ArrayOperations< Devices::Host >::allocateMemory< double,      int >( double*& data, const int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::allocateMemory< long double, int >( long double*& data, const int size );
#endif

#ifdef INSTANTIATE_LONG_INT
extern template bool ArrayOperations< Devices::Host >::allocateMemory< char,        long int >( char*& data, const long int size );
extern template bool ArrayOperations< Devices::Host >::allocateMemory< int,         long int >( int*& data, const long int size );
extern template bool ArrayOperations< Devices::Host >::allocateMemory< long int,    long int >( long int*& data, const long int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::allocateMemory< float,       long int >( float*& data, const long int size );
#endif
extern template bool ArrayOperations< Devices::Host >::allocateMemory< double,      long int >( double*& data, const long int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::allocateMemory< long double, long int >( long double*& data, const long int size );
#endif
#endif

extern template bool ArrayOperations< Devices::Host >::freeMemory< char        >( char* data );
extern template bool ArrayOperations< Devices::Host >::freeMemory< int         >( int* data );
extern template bool ArrayOperations< Devices::Host >::freeMemory< long int    >( long int* data );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::freeMemory< float       >( float* data );
#endif
extern template bool ArrayOperations< Devices::Host >::freeMemory< double      >( double* data );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::freeMemory< long double >( long double* data );
#endif

extern template void ArrayOperations< Devices::Host >::setMemoryElement< char        >( char* data, const char& value );
extern template void ArrayOperations< Devices::Host >::setMemoryElement< int         >( int* data, const int& value );
extern template void ArrayOperations< Devices::Host >::setMemoryElement< long int    >( long int* data, const long int& value );
#ifdef INSTANTIATE_FLOAT
extern template void ArrayOperations< Devices::Host >::setMemoryElement< float       >( float* data, const float& value );
#endif
extern template void ArrayOperations< Devices::Host >::setMemoryElement< double      >( double* data, const double& value );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template void ArrayOperations< Devices::Host >::setMemoryElement< long double >( long double* data, const long double& value );
#endif

extern template char        ArrayOperations< Devices::Host >::getMemoryElement< char        >( char* data );
extern template int         ArrayOperations< Devices::Host >::getMemoryElement< int         >( int* data );
extern template long int    ArrayOperations< Devices::Host >::getMemoryElement< long int    >( long int* data );
#ifdef INSTANTIATE_FLOAT
extern template float       ArrayOperations< Devices::Host >::getMemoryElement< float       >( float* data );
#endif
extern template double      ArrayOperations< Devices::Host >::getMemoryElement< double      >( double* data );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template long double ArrayOperations< Devices::Host >::getMemoryElement< long double >( long double* data );
#endif

extern template bool ArrayOperations< Devices::Host >::copyMemory< char,                char, int >( char* destination, const char* source, const int size );
extern template bool ArrayOperations< Devices::Host >::copyMemory< int,                  int, int >( int* destination, const int* source, const int size );
extern template bool ArrayOperations< Devices::Host >::copyMemory< long int,        long int, int >( long int* destination, const long int* source, const int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::copyMemory< float,              float, int >( float* destination, const float* source, const int size );
#endif
extern template bool ArrayOperations< Devices::Host >::copyMemory< double,            double, int >( double* destination, const double* source, const int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::copyMemory< long double,  long double, int >( long double* destination, const long double* source, const int size );
#endif

#ifdef INSTANTIATE_LONG_INT
extern template bool ArrayOperations< Devices::Host >::copyMemory< char,                char, long int >( char* destination, const char* source, const long int size );
extern template bool ArrayOperations< Devices::Host >::copyMemory< int,                  int, long int >( int* destination, const int* source, const long int size );
extern template bool ArrayOperations< Devices::Host >::copyMemory< long int,        long int, long int >( long int* destination, const long int* source, const long int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::copyMemory< float,              float, long int >( float* destination, const float* source, const long int size );
#endif
extern template bool ArrayOperations< Devices::Host >::copyMemory< double,            double, long int >( double* destination, const double* source, const long int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::copyMemory< long double,  long double, long int >( long double* destination, const long double* source, const long int size );
#endif
#endif

extern template bool ArrayOperations< Devices::Host >::compareMemory< char,               char, int >( const char* data1, const char* data2, const int size );
extern template bool ArrayOperations< Devices::Host >::compareMemory< int,                 int, int >( const int* data1, const int* data2, const int size );
extern template bool ArrayOperations< Devices::Host >::compareMemory< long int,       long int, int >( const long int* data1, const long int* data2, const int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::compareMemory< float,             float, int >( const float* data1, const float* data2, const int size );
#endif
extern template bool ArrayOperations< Devices::Host >::compareMemory< double,           double, int >( const double* data1, const double* data2, const int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::compareMemory< long double, long double, int >( const long double* data1, const long double* data2, const int size );
#endif

#ifdef INSTANTIATE_LONG_INT
extern template bool ArrayOperations< Devices::Host >::compareMemory< char,               char, long int >( const char* data1, const char* data2, const long int size );
extern template bool ArrayOperations< Devices::Host >::compareMemory< int,                 int, long int >( const int* data1, const int* data2, const long int size );
extern template bool ArrayOperations< Devices::Host >::compareMemory< long int,       long int, long int >( const long int* data1, const long int* data2, const long int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::compareMemory< float,             float, long int >( const float* data1, const float* data2, const long int size );
#endif
extern template bool ArrayOperations< Devices::Host >::compareMemory< double,           double, long int >( const double* data1, const double* data2, const long int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::compareMemory< long double, long double, long int >( const long double* data1, const long double* data2, const long int size );
#endif
#endif

extern template bool ArrayOperations< Devices::Host >::setMemory< char,        int >( char* destination, const char& value, const int size );
extern template bool ArrayOperations< Devices::Host >::setMemory< int,         int >( int* destination, const int& value, const int size );
extern template bool ArrayOperations< Devices::Host >::setMemory< long int,    int >( long int* destination, const long int& value, const int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::setMemory< float,       int >( float* destination, const float& value, const int size );
#endif
extern template bool ArrayOperations< Devices::Host >::setMemory< double,      int >( double* destination, const double& value, const int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::setMemory< long double, int >( long double* destination, const long double& value, const int size );
#endif

#ifdef INSTANTIATE_LONG_INT
extern template bool ArrayOperations< Devices::Host >::setMemory< char,        long int >( char* destination, const char& value, const long int size );
extern template bool ArrayOperations< Devices::Host >::setMemory< int,         long int >( int* destination, const int& value, const long int size );
extern template bool ArrayOperations< Devices::Host >::setMemory< long int,    long int >( long int* destination, const long int& value, const long int size );
#ifdef INSTANTIATE_FLOAT
extern template bool ArrayOperations< Devices::Host >::setMemory< float,       long int >( float* destination, const float& value, const long int size );
#endif
extern template bool ArrayOperations< Devices::Host >::setMemory< double,      long int >( double* destination, const double& value, const long int size );
#ifdef INSTANTIATE_LONG_DOUBLE
extern template bool ArrayOperations< Devices::Host >::setMemory< long double, long int >( long double* destination, const long double& value, const long int size );
#endif
#endif

#endif

} // namespace Algorithms
} // namespace Containers
} // namespace TNL
+4 −20
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ getMemoryElement( const Element* data )
}

template< typename Element, typename Index >
bool
void
ArrayOperations< Devices::MIC >::
setMemory( Element* data,
           const Element& value,
@@ -95,7 +95,6 @@ setMemory( Element* data,
       for(int i=0;i<size;i++)
           dst[i]=tmp;
   }
   return true;
#else
   throw Exceptions::MICSupportMissing();
#endif
@@ -104,7 +103,7 @@ setMemory( Element* data,
template< typename DestinationElement,
          typename SourceElement,
          typename Index >
bool
void
ArrayOperations< Devices::MIC >::
copyMemory( DestinationElement* destination,
            const SourceElement* source,
@@ -123,7 +122,6 @@ copyMemory( DestinationElement* destination,
         {
             memcpy(dst_ptr.pointer,src_ptr.pointer,size*sizeof(DestinationElement));
         }
         return true;
      }
      else
      {
@@ -136,13 +134,10 @@ copyMemory( DestinationElement* destination,
             for(int i=0;i<size;i++)
                 dst_ptr.pointer[i]=src_ptr.pointer[i];
         }
         return true;

      }
   #else
      throw Exceptions::MICSupportMissing();
   #endif
      return false;
}

template< typename Element1,
@@ -242,7 +237,7 @@ containsOnlyValue( const Element* data,
template< typename DestinationElement,
          typename SourceElement,
          typename Index >
bool
void
ArrayOperations< Devices::Host, Devices::MIC >::
copyMemory( DestinationElement* destination,
            const SourceElement* source,
@@ -267,7 +262,6 @@ copyMemory( DestinationElement* destination,
         }

         memcpy((void*)destination,(void*)&tmp,size*sizeof(SourceElement));
         return true;
      }
      else
      {
@@ -277,7 +271,6 @@ copyMemory( DestinationElement* destination,
          {
              memcpy((void*)tmp,src_ptr.pointer,size*sizeof(SourceElement));
          }
          return true;
      }
   }
   else
@@ -297,7 +290,6 @@ copyMemory( DestinationElement* destination,
         }

         memcpy((void*)destination,(void*)&tmp,size*sizeof(DestinationElement));
         return true;
      }
      else
      {
@@ -309,10 +301,8 @@ copyMemory( DestinationElement* destination,
              for(int i=0;i<size;i++)
                  dst[i]=src_ptr.pointer[i];
          }
          return true;
      }
   }
   return false;
#else
   throw Exceptions::MICSupportMissing();
#endif
@@ -368,7 +358,7 @@ compareMemory( const Element1* destination,
template< typename DestinationElement,
          typename SourceElement,
          typename Index >
bool
void
ArrayOperations< Devices::MIC, Devices::Host >::
copyMemory( DestinationElement* destination,
            const SourceElement* source,
@@ -393,8 +383,6 @@ copyMemory( DestinationElement* destination,
         {
              memcpy(dst_ptr.pointer,(void*)&tmp,size*sizeof(SourceElement));
         }

         return true;
      }
      else
      {
@@ -404,7 +392,6 @@ copyMemory( DestinationElement* destination,
          {
              memcpy(dst_ptr.pointer,(void*)tmp,size*sizeof(SourceElement));
          }
          return true;
      }
   }
   else
@@ -423,7 +410,6 @@ copyMemory( DestinationElement* destination,
              for(int i=0;i<size;i++)
                  dst_ptr.pointer[i]=src[i];
         }
         return true;
      }
      else
      {
@@ -435,10 +421,8 @@ copyMemory( DestinationElement* destination,
              for(int i=0;i<size;i++)
                  dst_ptr.pointer[i]=src[i];
          }
          return true;
      }
   }
   return false;
#else
   throw Exceptions::MICSupportMissing();
#endif
+4 −4
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ class Multireduction< Devices::Cuda >
{
public:
   template< typename Operation, typename Index >
   static bool
   static void
   reduce( Operation& operation,
           const int n,
           const Index size,
@@ -45,7 +45,7 @@ class Multireduction< Devices::Host >
{
public:
   template< typename Operation, typename Index >
   static bool
   static void
   reduce( Operation& operation,
           const int n,
           const Index size,
@@ -60,7 +60,7 @@ class Multireduction< Devices::MIC >
{
public:
   template< typename Operation, typename Index >
   static bool
   static void
   reduce( Operation& operation,
           const int n,
           const Index size,
Loading