diff --git a/dune/istl/test/scalarproductstest.cc b/dune/istl/test/scalarproductstest.cc index f46ce2a97a7d5e0600302d1516da7adc154e9862..7f08d0908acb71825ccf81e4c65136c64619f3e6 100644 --- a/dune/istl/test/scalarproductstest.cc +++ b/dune/istl/test/scalarproductstest.cc @@ -119,24 +119,27 @@ int main(int argc, char** argv) // Test the ParallelScalarProduct class { using Vector = BlockVector<FieldVector<double,BlockSize> >; - using ScalarProduct = ParallelScalarProduct<Vector, OwnerOverlapCopyCommunication<std::size_t,std::size_t> >; - OwnerOverlapCopyCommunication<std::size_t,std::size_t> communicator; + using Comm = OwnerOverlapCopyCommunication<std::size_t,std::size_t>; + using ScalarProduct = ParallelScalarProduct<Vector, Comm>; + auto communicator = std::make_shared<Comm>(); ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); } { using Vector = BlockVector<float>; - using ScalarProduct = ParallelScalarProduct<Vector, OwnerOverlapCopyCommunication<std::size_t,std::size_t> >; - OwnerOverlapCopyCommunication<std::size_t,std::size_t> communicator; + using Comm = OwnerOverlapCopyCommunication<std::size_t,std::size_t>; + using ScalarProduct = ParallelScalarProduct<Vector, Comm>; + auto communicator = std::make_shared<Comm>(); ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); } { using Vector = BlockVector<FieldVector<std::complex<double>, 1> >; - using ScalarProduct = ParallelScalarProduct<Vector, OwnerOverlapCopyCommunication<std::size_t,std::size_t> >; - OwnerOverlapCopyCommunication<std::size_t,std::size_t> communicator; + using Comm = OwnerOverlapCopyCommunication<std::size_t,std::size_t>; + using ScalarProduct = ParallelScalarProduct<Vector, Comm>; + Comm communicator; // test constructor taking a const reference to the communicator ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); }