From 47676c2470c81de8f6264f1ab6bd94f3a9094e12 Mon Sep 17 00:00:00 2001 From: Ichitaro Yamazaki Date: Wed, 9 Jun 2021 16:46:41 -0600 Subject: [PATCH] trying to fix signed and unsinged integer comparison --- .../Tpetra_CrsMatrix_Adapter_UnitTests.cpp | 99 ++++++++++--------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/packages/amesos2/test/adapters/Tpetra_CrsMatrix_Adapter_UnitTests.cpp b/packages/amesos2/test/adapters/Tpetra_CrsMatrix_Adapter_UnitTests.cpp index 5913c4173b33..065775085f0b 100644 --- a/packages/amesos2/test/adapters/Tpetra_CrsMatrix_Adapter_UnitTests.cpp +++ b/packages/amesos2/test/adapters/Tpetra_CrsMatrix_Adapter_UnitTests.cpp @@ -254,7 +254,10 @@ namespace { typedef CrsMatrix MAT; typedef typename MAT::impl_scalar_type matrix_scalar_t; typedef MatrixAdapter ADAPT; - typedef std::pair my_pair_t; + using nzvals_t = typename MAT::nonconst_values_host_view_type; + using indices_t = typename MAT::nonconst_global_inds_host_view_type; + using index_t = typename indices_t::value_type; + using my_pair_t = std::pair; RCP > comm = Tpetra::getDefaultComm(); const size_t rank = comm->getRank(); @@ -274,14 +277,14 @@ namespace { RCP adapter = Amesos2::createMatrixAdapter(mat); - Array rowptr_test(tuple(0,3,5,6,8,10,12)); - Array nzvals_test(tuple(7,-3,-1,2,8,1,-3,5,-1,4,-2,6)); - Array colind_test(tuple(0,2,4,0,1,2,0,3,1,4,3,5)); + indices_t rowptr ("rowptr", adapter->getGlobalNumRows() + 1); + indices_t colind ("colind", adapter->getGlobalNNZ()); + nzvals_t nzvals ("nzvals", adapter->getGlobalNNZ()); - typename MAT::nonconst_values_host_view_type nzvals ("nzvals", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type colind ("colind", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type rowptr ("rowptr", adapter->getGlobalNumRows() + 1); size_t nnz = 0; + Array rowptr_test(tuple(0,3,5,6,8,10,12)); + Array colind_test(tuple(0,2,4,0,1,2,0,3,1,4,3,5)); + Array nzvals_test(tuple(7,-3,-1,2,8,1,-3,5,-1,4,-2,6)); /////////////////////////////////////////// // Check getting a rooted representation // @@ -296,18 +299,18 @@ namespace { // know that they need to match up with what is expected. GO maxRow = map->getMaxAllGlobalIndex(); for ( GO row = map->getMinAllGlobalIndex(); row <= maxRow; ++row ){ - global_size_t rp = rowptr[row]; - global_size_t nrp = rowptr[row+1]; - global_size_t row_nnz = nrp - rp; - TEST_ASSERT( rp < as(nzvals.size()) ); - TEST_ASSERT( rp < as(colind.size()) ); + index_t rp = rowptr[row]; + index_t nrp = rowptr[row+1]; + index_t row_nnz = nrp - rp; + TEST_ASSERT( rp < as(nzvals.size()) ); + TEST_ASSERT( rp < as(colind.size()) ); ArrayView nzvals_array (&(nzvals(rp)), row_nnz); ArrayView colind_array (&(colind(rp)), row_nnz); const RCP > expected_pairs = zip(nzvals_test.view(rp,row_nnz), colind_test.view(rp,row_nnz)); const RCP > got_pairs = zip(nzvals_array, colind_array); - for ( global_size_t i = 0; i < row_nnz; ++i ){ + for ( index_t i = 0; i < row_nnz; ++i ){ TEST_ASSERT( contains((*got_pairs)(), (*expected_pairs)[i]) ); } } @@ -340,7 +343,10 @@ namespace { typedef CrsMatrix MAT; typedef typename MAT::impl_scalar_type matrix_scalar_t; typedef MatrixAdapter ADAPT; - typedef std::pair my_pair_t; + using nzvals_t = typename MAT::nonconst_values_host_view_type; + using indices_t = typename MAT::nonconst_global_inds_host_view_type; + using index_t = typename indices_t::value_type; + using my_pair_t = std::pair; RCP > comm = Tpetra::getDefaultComm(); // create a Map for our matrix global_size_t nrows = 6; @@ -361,13 +367,13 @@ namespace { RCP adapter = Amesos2::createMatrixAdapter(mat); - Array rowptr_test(tuple(0,3,5,6,8,10,12)); - Array nzvals_test(tuple(7,-3,-1,2,8,1,-3,5,-1,4,-2,6)); - Array colind_test(tuple(0,2,4,0,1,2,0,3,1,4,3,5)); + indices_t rowptr ("rowptr", adapter->getGlobalNumRows() + 1); + indices_t colind ("colind", adapter->getGlobalNNZ()); + nzvals_t nzvals ("nzvals", adapter->getGlobalNNZ()); - typename MAT::nonconst_values_host_view_type nzvals ("nzvals", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type colind ("colind", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type rowptr ("rowptr", adapter->getGlobalNumRows() + 1); + Array rowptr_test(tuple(0,3,5,6,8,10,12)); + Array colind_test(tuple(0,2,4,0,1,2,0,3,1,4,3,5)); + Array nzvals_test(tuple(7,-3,-1,2,8,1,-3,5,-1,4,-2,6)); size_t nnz; //////////////////////////////////////////////////// @@ -384,18 +390,18 @@ namespace { // know that they need to match up with what is expected. GO maxRow = map->getMaxAllGlobalIndex(); for ( GO row = map->getMinAllGlobalIndex(); row <= maxRow; ++row ){ - global_size_t rp = rowptr[row]; - global_size_t nrp = rowptr[row+1]; - global_size_t row_nnz = nrp - rp; - TEST_ASSERT( rp < as(nzvals.size()) ); - TEST_ASSERT( rp < as(colind.size()) ); + index_t rp = rowptr[row]; + index_t nrp = rowptr[row+1]; + index_t row_nnz = nrp - rp; + TEST_ASSERT( rp < as(nzvals.size()) ); + TEST_ASSERT( rp < as(colind.size()) ); ArrayView nzvals_array (&(nzvals(rp)), row_nnz); ArrayView colind_array (&(colind(rp)), row_nnz); const RCP > expected_pairs = zip(nzvals_test.view(rp,row_nnz), colind_test.view(rp,row_nnz)); const RCP > got_pairs = zip(nzvals_array, colind_array); - for ( global_size_t i = 0; i < row_nnz; ++i ){ + for ( index_t i = 0; i < row_nnz; ++i ){ TEST_ASSERT( contains((*got_pairs)(), (*expected_pairs)[i]) ); } } @@ -425,6 +431,9 @@ namespace { typedef CrsMatrix MAT; typedef typename MAT::impl_scalar_type matrix_scalar_t; typedef MatrixAdapter ADAPT; + using nzvals_t = typename MAT::nonconst_values_host_view_type; + using indices_t = typename MAT::nonconst_global_inds_host_view_type; + using index_t = typename indices_t::value_type; RCP > comm = Tpetra::getDefaultComm(); const size_t numprocs = comm->getSize(); const size_t rank = comm->getRank(); @@ -447,16 +456,13 @@ namespace { RCP adapter = Amesos2::createMatrixAdapter(mat); - Array colind_test(tuple(0,2,4,0,1,2,0,3,1,4,3,5)); + indices_t rowptr ("rowptr", adapter->getGlobalNumRows() + 1); + indices_t colind ("colind", adapter->getGlobalNNZ()); + nzvals_t nzvals ("nzvals", adapter->getGlobalNNZ()); + + Array rowptr_test(tuple(0,3,5,6,8,10,12)); + Array colind_test(tuple(0,2,4,0,1,2,0,3,1,4,3,5)); Array nzvals_test(tuple(7,-3,-1,2,8,1,-3,5,-1,4,-2,6)); - Array rowptr_test(tuple(0,3,5,6,8,10,12)); - - //Array nzvals(adapter->getGlobalNNZ()); - //Array colind(adapter->getGlobalNNZ()); - //Array rowptr(adapter->getGlobalNumRows() + 1); - typename MAT::nonconst_values_host_view_type nzvals ("nzvals", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type colind ("colind", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type rowptr ("rowptr", adapter->getGlobalNumRows() + 1); size_t nnz; /** @@ -474,7 +480,6 @@ namespace { } const Map half_map(6, my_num_rows, 0, comm); - //adapter->getCrs(nzvals,colind,rowptr,nnz, Teuchos::ptrInArg(half_map), Amesos2::SORTED_INDICES, Amesos2::DISTRIBUTED); // ROOTED = default distribution adapter->getCrs_kokkos_view(nzvals,colind,rowptr,nnz, Teuchos::ptrInArg(half_map), SORTED_INDICES, DISTRIBUTED); // ROOTED = default distribution /* @@ -509,6 +514,9 @@ namespace { typedef CrsMatrix MAT; typedef typename MAT::impl_scalar_type matrix_scalar_t; typedef MatrixAdapter ADAPT; + using nzvals_t = typename MAT::nonconst_values_host_view_type; + using indices_t = typename MAT::nonconst_global_inds_host_view_type; + using index_t = typename indices_t::value_type; RCP > comm = Tpetra::getDefaultComm(); const size_t rank = comm->getRank(); @@ -528,16 +536,13 @@ namespace { RCP adapter = Amesos2::createMatrixAdapter(mat); - Array colptr_test(tuple(0,3,5,7,9,11,12)); + indices_t colptr ("colptr", adapter->getGlobalNumRows() + 1); + indices_t rowind ("rowind", adapter->getGlobalNNZ()); + nzvals_t nzvals ("nzvals", adapter->getGlobalNNZ()); + + Array rowind_test(tuple(0,1,3,1,4,0,2,3,5,0,4,5)); + Array colptr_test(tuple(0,3,5,7,9,11,12)); Array nzvals_test(tuple(7,2,-3,8,-1,-3,1,5,-2,-1,4,6)); - Array rowind_test(tuple(0,1,3,1,4,0,2,3,5,0,4,5)); - - //Array nzvals(adapter->getGlobalNNZ()); - //Array rowind(adapter->getGlobalNNZ()); - //Array colptr(adapter->getGlobalNumRows() + 1); - typename MAT::nonconst_values_host_view_type nzvals ("nzvals", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type rowind ("rowind", adapter->getGlobalNNZ()); - typename MAT::nonconst_global_inds_host_view_type colptr ("colptr", adapter->getGlobalNumRows() + 1); size_t nnz; //adapter->getCcs(nzvals,rowind,colptr,nnz,ROOTED); @@ -549,8 +554,8 @@ namespace { // rowind, so we can just compare the expected and received // straight-up ArrayView nzvals_array (&(nzvals(0)), adapter->getGlobalNNZ()); - ArrayView rowind_array (&(rowind(0)), adapter->getGlobalNNZ()); - ArrayView colptr_array (&(colptr(0)), adapter->getGlobalNumRows() + 1); + ArrayView rowind_array (&(rowind(0)), adapter->getGlobalNNZ()); + ArrayView colptr_array (&(colptr(0)), adapter->getGlobalNumRows() + 1); TEST_COMPARE_ARRAYS(nzvals_array,nzvals_test); TEST_COMPARE_ARRAYS(rowind_array,rowind_test); TEST_COMPARE_ARRAYS(colptr_array,colptr_test);