Commit 1c9ff705 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Added Devices::Sequential to ArrayTest and ArrayViewTest

parent 62100711
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -64,6 +64,23 @@ protected:
// types for which ArrayTest is instantiated
using ArrayTypes = ::testing::Types<
#ifndef HAVE_CUDA
   // we can't test all types because the argument list would be too long...
//   Array< int,    Devices::Sequential, short >,
//   Array< long,   Devices::Sequential, short >,
//   Array< float,  Devices::Sequential, short >,
//   Array< double, Devices::Sequential, short >,
//   Array< MyData, Devices::Sequential, short >,
//   Array< int,    Devices::Sequential, int >,
//   Array< long,   Devices::Sequential, int >,
//   Array< float,  Devices::Sequential, int >,
//   Array< double, Devices::Sequential, int >,
//   Array< MyData, Devices::Sequential, int >,
   Array< int,    Devices::Sequential, long >,
   Array< long,   Devices::Sequential, long >,
   Array< float,  Devices::Sequential, long >,
   Array< double, Devices::Sequential, long >,
   Array< MyData, Devices::Sequential, long >,

   Array< int,    Devices::Host, short >,
   Array< long,   Devices::Host, short >,
   Array< float,  Devices::Host, short >,
@@ -102,6 +119,8 @@ using ArrayTypes = ::testing::Types<
   // (but we can't test all types because the argument list would be too long...)
#ifndef HAVE_CUDA
   ,
   Vector< float,  Devices::Sequential, long >,
   Vector< double, Devices::Sequential, long >,
   Vector< float,  Devices::Host, long >,
   Vector< double, Devices::Host, long >
#endif
@@ -358,6 +377,18 @@ TYPED_TEST( ArrayTest, reset )
   EXPECT_EQ( u.getData(), nullptr );
}

template< typename Value, typename Index >
void testArrayElementwiseAccess( Array< Value, Devices::Sequential, Index >&& u )
{
   u.setSize( 10 );
   for( int i = 0; i < 10; i++ ) {
      u.setElement( i, i );
      EXPECT_EQ( u.getData()[ i ], i );
      EXPECT_EQ( u.getElement( i ), i );
      EXPECT_EQ( u[ i ], i );
   }
}

template< typename Value, typename Index >
void testArrayElementwiseAccess( Array< Value, Devices::Host, Index >&& u )
{
@@ -402,6 +433,11 @@ TYPED_TEST( ArrayTest, elementwiseAccess )
   testArrayElementwiseAccess( ArrayType() );
}

template< typename Value, typename Index >
void test_setElement_on_device( const Array< Value, Devices::Sequential, Index >& )
{
}

template< typename Value, typename Index >
void test_setElement_on_device( const Array< Value, Devices::Host, Index >& )
{
+35 −2
Original line number Diff line number Diff line
@@ -60,7 +60,24 @@ protected:
// types for which ArrayViewTest is instantiated
using ViewTypes = ::testing::Types<
#ifndef HAVE_CUDA
    ArrayView< int,    Devices::Host, short >
   // we can't test all types because the argument list would be too long...
//    ArrayView< int,    Devices::Sequential, short >
//   ,ArrayView< long,   Devices::Sequential, short >
//   ,ArrayView< float,  Devices::Sequential, short >
//   ,ArrayView< double, Devices::Sequential, short >
//   ,ArrayView< MyData, Devices::Sequential, short >
//   ,ArrayView< int,    Devices::Sequential, int >
//   ,ArrayView< long,   Devices::Sequential, int >
//   ,ArrayView< float,  Devices::Sequential, int >
//   ,ArrayView< double, Devices::Sequential, int >
//   ,ArrayView< MyData, Devices::Sequential, int >
    ArrayView< int,    Devices::Sequential, long >
   ,ArrayView< long,   Devices::Sequential, long >
   ,ArrayView< float,  Devices::Sequential, long >
   ,ArrayView< double, Devices::Sequential, long >
   ,ArrayView< MyData, Devices::Sequential, long >

   ,ArrayView< int,    Devices::Host, short >
   ,ArrayView< long,   Devices::Host, short >
   ,ArrayView< float,  Devices::Host, short >
   ,ArrayView< double, Devices::Host, short >
@@ -98,6 +115,8 @@ using ViewTypes = ::testing::Types<
   // (but we can't test all types because the argument list would be too long...)
#ifndef HAVE_CUDA
   ,
   VectorView< float,  Devices::Sequential, long >,
   VectorView< double, Devices::Sequential, long >,
   VectorView< float,  Devices::Host, long >,
   VectorView< double, Devices::Host, long >
#endif
@@ -218,6 +237,20 @@ TYPED_TEST( ArrayViewTest, reset )
   EXPECT_EQ( u.getData(), nullptr );
}

template< typename Value, typename Index >
void testArrayViewElementwiseAccess( Array< Value, Devices::Sequential, Index >&& a )
{
   a.setSize( 10 );
   using ViewType = ArrayView< Value, Devices::Sequential, Index >;
   ViewType u( a );
   for( int i = 0; i < 10; i++ ) {
      u.setElement( i, i );
      EXPECT_EQ( u.getData()[ i ], i );
      EXPECT_EQ( u.getElement( i ), i );
      EXPECT_EQ( u[ i ], i );
   }
}

template< typename Value, typename Index >
void testArrayViewElementwiseAccess( Array< Value, Devices::Host, Index >&& a )
{