Loading src/UnitTests/Containers/ArrayTest.h +36 −0 Original line number Diff line number Diff line Loading @@ -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 >, Loading Loading @@ -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 Loading Loading @@ -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 ) { Loading Loading @@ -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 >& ) { Loading src/UnitTests/Containers/ArrayViewTest.h +35 −2 Original line number Diff line number Diff line Loading @@ -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 > Loading Loading @@ -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 Loading Loading @@ -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 ) { Loading Loading
src/UnitTests/Containers/ArrayTest.h +36 −0 Original line number Diff line number Diff line Loading @@ -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 >, Loading Loading @@ -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 Loading Loading @@ -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 ) { Loading Loading @@ -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 >& ) { Loading
src/UnitTests/Containers/ArrayViewTest.h +35 −2 Original line number Diff line number Diff line Loading @@ -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 > Loading Loading @@ -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 Loading Loading @@ -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 ) { Loading