Loading src/UnitTests/Matrices/SparseMatrixTest.h +51 −51 Original line number Diff line number Diff line Loading @@ -329,19 +329,19 @@ protected: // types for which MatrixTest is instantiated using ChEllpackMatrixTypes = ::testing::Types < TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, long >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, long >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, long >, TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, long >, #ifdef HAVE_CUDA // TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, long >, // TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, long >, // TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, long >, // TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, long >//, #ifdef FAKE //HAVE_CUDA TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Cuda, short >, Loading Loading @@ -440,18 +440,18 @@ protected: // types for which MatrixTest is instantiated using CSRMatrixTypes = ::testing::Types < TNL::Matrices::CSR< int, TNL::Devices::Host, short >, TNL::Matrices::CSR< long, TNL::Devices::Host, short >, TNL::Matrices::CSR< float, TNL::Devices::Host, short >, TNL::Matrices::CSR< double, TNL::Devices::Host, short >, TNL::Matrices::CSR< int, TNL::Devices::Host, int >, TNL::Matrices::CSR< long, TNL::Devices::Host, int >, TNL::Matrices::CSR< float, TNL::Devices::Host, int >, TNL::Matrices::CSR< double, TNL::Devices::Host, int >, TNL::Matrices::CSR< int, TNL::Devices::Host, long >, TNL::Matrices::CSR< long, TNL::Devices::Host, long >, TNL::Matrices::CSR< float, TNL::Devices::Host, long >, TNL::Matrices::CSR< double, TNL::Devices::Host, long >, // TNL::Matrices::CSR< int, TNL::Devices::Host, short >, // TNL::Matrices::CSR< long, TNL::Devices::Host, short >, // TNL::Matrices::CSR< float, TNL::Devices::Host, short >, // TNL::Matrices::CSR< double, TNL::Devices::Host, short >, // TNL::Matrices::CSR< int, TNL::Devices::Host, int >, // TNL::Matrices::CSR< long, TNL::Devices::Host, int >, // TNL::Matrices::CSR< float, TNL::Devices::Host, int >, // TNL::Matrices::CSR< double, TNL::Devices::Host, int >, // TNL::Matrices::CSR< int, TNL::Devices::Host, long >, // TNL::Matrices::CSR< long, TNL::Devices::Host, long >, // TNL::Matrices::CSR< float, TNL::Devices::Host, long >, // TNL::Matrices::CSR< double, TNL::Devices::Host, long >//, #ifdef HAVE_CUDA TNL::Matrices::CSR< int, TNL::Devices::Cuda, short >, TNL::Matrices::CSR< long, TNL::Devices::Cuda, short >, Loading Loading @@ -551,19 +551,19 @@ protected: // types for which MatrixTest is instantiated using EllpackMatrixTypes = ::testing::Types < TNL::Matrices::Ellpack< int, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< long, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< float, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< double, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< int, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< long, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< float, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< double, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< int, TNL::Devices::Host, long >, TNL::Matrices::Ellpack< long, TNL::Devices::Host, long >, TNL::Matrices::Ellpack< float, TNL::Devices::Host, long >, TNL::Matrices::Ellpack< double, TNL::Devices::Host, long >, #ifdef HAVE_CUDA // TNL::Matrices::Ellpack< int, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< long, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< float, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< double, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< int, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< long, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< float, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< double, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< int, TNL::Devices::Host, long >, // TNL::Matrices::Ellpack< long, TNL::Devices::Host, long >, // TNL::Matrices::Ellpack< float, TNL::Devices::Host, long >, // TNL::Matrices::Ellpack< double, TNL::Devices::Host, long >//, #ifdef FAKE //HAVE_CUDA TNL::Matrices::Ellpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::Ellpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::Ellpack< float, TNL::Devices::Cuda, short >, Loading Loading @@ -662,19 +662,19 @@ protected: // types for which MatrixTest is instantiated using SlicedEllpackMatrixTypes = ::testing::Types < TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, long >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, long >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, long >, TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, long >, #ifdef HAVE_CUDA // TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, long >, // TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, long >, // TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, long >, // TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, long >, #ifdef FAKE //HAVE_CUDA TNL::Matrices::SlicedEllpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Cuda, short >, Loading src/UnitTests/Matrices/SparseMatrixTest_impl.h +34 −6 Original line number Diff line number Diff line Loading @@ -130,16 +130,44 @@ void test_SetCompressedRowLengths() rowLengths.setSize( rows ); rowLengths.setValue( 3 ); IndexType value = 1; IndexType rowLength = 1; for( IndexType i = 2; i < rows; i++ ) rowLengths.setElement( i, value++ ); rowLengths.setElement( i, rowLength++ ); m.setCompressedRowLengths( rowLengths ); RealType realValue = 1; // Do this for every individual row, to assure that non-zero values are not assigned where they're not supposed to be, aka, outside of compressed Row Length for( IndexType i = 0; i < rows; i++ ) for( IndexType j = 0; j < cols; j++ ) m.setElement( i, j, realValue++ ); // Insert values into the rows. RealType value = 1; for( IndexType i = 0; i < 3; i++ ) // 0th row m.setElement( 0, i, value++ ); for( IndexType i = 0; i < 3; i++ ) // 1st row m.setElement( 1, i, value++ ); for( IndexType i = 0; i < 1; i++ ) // 2nd row m.setElement( 2, i, value++ ); for( IndexType i = 0; i < 2; i++ ) // 3rd row m.setElement( 3, i, value++ ); for( IndexType i = 0; i < 3; i++ ) // 4th row m.setElement( 4, i, value++ ); for( IndexType i = 0; i < 4; i++ ) // 5th row m.setElement( 5, i, value++ ); for( IndexType i = 0; i < 5; i++ ) // 6th row m.setElement( 6, i, value++ ); for( IndexType i = 0; i < 6; i++ ) // 7th row m.setElement( 7, i, value++ ); for( IndexType i = 0; i < 7; i++ ) // 8th row m.setElement( 8, i, value++ ); for( IndexType i = 0; i < 8; i++ ) // 9th row m.setElement( 9, i, value++ ); EXPECT_EQ( m.getNonZeroRowLength( 0 ), 3 ); Loading Loading
src/UnitTests/Matrices/SparseMatrixTest.h +51 −51 Original line number Diff line number Diff line Loading @@ -329,19 +329,19 @@ protected: // types for which MatrixTest is instantiated using ChEllpackMatrixTypes = ::testing::Types < TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, short >, TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, int >, TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, long >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, long >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, long >, TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, long >, #ifdef HAVE_CUDA // TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, short >, // TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, int >, // TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, long >, // TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, long >, // TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, long >, // TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, long >//, #ifdef FAKE //HAVE_CUDA TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Cuda, short >, Loading Loading @@ -440,18 +440,18 @@ protected: // types for which MatrixTest is instantiated using CSRMatrixTypes = ::testing::Types < TNL::Matrices::CSR< int, TNL::Devices::Host, short >, TNL::Matrices::CSR< long, TNL::Devices::Host, short >, TNL::Matrices::CSR< float, TNL::Devices::Host, short >, TNL::Matrices::CSR< double, TNL::Devices::Host, short >, TNL::Matrices::CSR< int, TNL::Devices::Host, int >, TNL::Matrices::CSR< long, TNL::Devices::Host, int >, TNL::Matrices::CSR< float, TNL::Devices::Host, int >, TNL::Matrices::CSR< double, TNL::Devices::Host, int >, TNL::Matrices::CSR< int, TNL::Devices::Host, long >, TNL::Matrices::CSR< long, TNL::Devices::Host, long >, TNL::Matrices::CSR< float, TNL::Devices::Host, long >, TNL::Matrices::CSR< double, TNL::Devices::Host, long >, // TNL::Matrices::CSR< int, TNL::Devices::Host, short >, // TNL::Matrices::CSR< long, TNL::Devices::Host, short >, // TNL::Matrices::CSR< float, TNL::Devices::Host, short >, // TNL::Matrices::CSR< double, TNL::Devices::Host, short >, // TNL::Matrices::CSR< int, TNL::Devices::Host, int >, // TNL::Matrices::CSR< long, TNL::Devices::Host, int >, // TNL::Matrices::CSR< float, TNL::Devices::Host, int >, // TNL::Matrices::CSR< double, TNL::Devices::Host, int >, // TNL::Matrices::CSR< int, TNL::Devices::Host, long >, // TNL::Matrices::CSR< long, TNL::Devices::Host, long >, // TNL::Matrices::CSR< float, TNL::Devices::Host, long >, // TNL::Matrices::CSR< double, TNL::Devices::Host, long >//, #ifdef HAVE_CUDA TNL::Matrices::CSR< int, TNL::Devices::Cuda, short >, TNL::Matrices::CSR< long, TNL::Devices::Cuda, short >, Loading Loading @@ -551,19 +551,19 @@ protected: // types for which MatrixTest is instantiated using EllpackMatrixTypes = ::testing::Types < TNL::Matrices::Ellpack< int, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< long, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< float, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< double, TNL::Devices::Host, short >, TNL::Matrices::Ellpack< int, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< long, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< float, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< double, TNL::Devices::Host, int >, TNL::Matrices::Ellpack< int, TNL::Devices::Host, long >, TNL::Matrices::Ellpack< long, TNL::Devices::Host, long >, TNL::Matrices::Ellpack< float, TNL::Devices::Host, long >, TNL::Matrices::Ellpack< double, TNL::Devices::Host, long >, #ifdef HAVE_CUDA // TNL::Matrices::Ellpack< int, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< long, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< float, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< double, TNL::Devices::Host, short >, // TNL::Matrices::Ellpack< int, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< long, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< float, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< double, TNL::Devices::Host, int >, // TNL::Matrices::Ellpack< int, TNL::Devices::Host, long >, // TNL::Matrices::Ellpack< long, TNL::Devices::Host, long >, // TNL::Matrices::Ellpack< float, TNL::Devices::Host, long >, // TNL::Matrices::Ellpack< double, TNL::Devices::Host, long >//, #ifdef FAKE //HAVE_CUDA TNL::Matrices::Ellpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::Ellpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::Ellpack< float, TNL::Devices::Cuda, short >, Loading Loading @@ -662,19 +662,19 @@ protected: // types for which MatrixTest is instantiated using SlicedEllpackMatrixTypes = ::testing::Types < TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, short >, TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, int >, TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, long >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, long >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, long >, TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, long >, #ifdef HAVE_CUDA // TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, short >, // TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, int >, // TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, long >, // TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, long >, // TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, long >, // TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, long >, #ifdef FAKE //HAVE_CUDA TNL::Matrices::SlicedEllpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Cuda, short >, Loading
src/UnitTests/Matrices/SparseMatrixTest_impl.h +34 −6 Original line number Diff line number Diff line Loading @@ -130,16 +130,44 @@ void test_SetCompressedRowLengths() rowLengths.setSize( rows ); rowLengths.setValue( 3 ); IndexType value = 1; IndexType rowLength = 1; for( IndexType i = 2; i < rows; i++ ) rowLengths.setElement( i, value++ ); rowLengths.setElement( i, rowLength++ ); m.setCompressedRowLengths( rowLengths ); RealType realValue = 1; // Do this for every individual row, to assure that non-zero values are not assigned where they're not supposed to be, aka, outside of compressed Row Length for( IndexType i = 0; i < rows; i++ ) for( IndexType j = 0; j < cols; j++ ) m.setElement( i, j, realValue++ ); // Insert values into the rows. RealType value = 1; for( IndexType i = 0; i < 3; i++ ) // 0th row m.setElement( 0, i, value++ ); for( IndexType i = 0; i < 3; i++ ) // 1st row m.setElement( 1, i, value++ ); for( IndexType i = 0; i < 1; i++ ) // 2nd row m.setElement( 2, i, value++ ); for( IndexType i = 0; i < 2; i++ ) // 3rd row m.setElement( 3, i, value++ ); for( IndexType i = 0; i < 3; i++ ) // 4th row m.setElement( 4, i, value++ ); for( IndexType i = 0; i < 4; i++ ) // 5th row m.setElement( 5, i, value++ ); for( IndexType i = 0; i < 5; i++ ) // 6th row m.setElement( 6, i, value++ ); for( IndexType i = 0; i < 6; i++ ) // 7th row m.setElement( 7, i, value++ ); for( IndexType i = 0; i < 7; i++ ) // 8th row m.setElement( 8, i, value++ ); for( IndexType i = 0; i < 8; i++ ) // 9th row m.setElement( 9, i, value++ ); EXPECT_EQ( m.getNonZeroRowLength( 0 ), 3 ); Loading