Skip to content
Snippets Groups Projects
Commit 51b8ce9b authored by Carsten Gräser's avatar Carsten Gräser
Browse files

[test][amg] Also check FastAMG::recalculateHierarchy()

This additional check currently fails.
parent 601d8c66
No related branches found
No related tags found
No related merge requests found
......@@ -81,6 +81,9 @@ void testAMG(int N, int coarsenTarget, int ml)
AMG amg(fop, criterion, parms);
// check if recalculation of matrix hierarchy works
amg.recalculateHierarchy();
double buildtime = watch.elapsed();
std::cout<<"Building hierarchy took "<<buildtime<<" seconds"<<std::endl;
......
  • Developer

    This commit makes umfpackfastamgtest not compile for me.

    Before:

    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:5:
    /home/mi/pipping/dune/dune-istl/dune/istl/repartition.hh:809:38: warning: comparison of
          unsigned expression < 0 is always false [-Wtautological-compare]
          if(xadj[vtx]>noEdges||xadj[vtx]<0) {
                                ~~~~~~~~~^~
    /home/mi/pipping/dune/dune-istl/dune/istl/repartition.hh:814:42: warning: comparison of
          unsigned expression < 0 is always false [-Wtautological-compare]
          if(xadj[vtx+1]>noEdges||xadj[vtx+1]<0) {
                                  ~~~~~~~~~~~^~
    /home/mi/pipping/dune/dune-istl/dune/istl/repartition.hh:821:21: warning: comparison of
          unsigned expression < 0 is always false [-Wtautological-compare]
            if(adjncy[i]<0||((std::size_t)adjncy[i])>gnoVtx) {
               ~~~~~~~~~^~
    3 warnings generated.

    After:

    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:5:
    /home/mi/pipping/dune/dune-istl/dune/istl/repartition.hh:809:38: warning: comparison of
          unsigned expression < 0 is always false [-Wtautological-compare]
          if(xadj[vtx]>noEdges||xadj[vtx]<0) {
                                ~~~~~~~~~^~
    /home/mi/pipping/dune/dune-istl/dune/istl/repartition.hh:814:42: warning: comparison of
          unsigned expression < 0 is always false [-Wtautological-compare]
          if(xadj[vtx+1]>noEdges||xadj[vtx+1]<0) {
                                  ~~~~~~~~~~~^~
    /home/mi/pipping/dune/dune-istl/dune/istl/repartition.hh:821:21: warning: comparison of
          unsigned expression < 0 is always false [-Wtautological-compare]
            if(adjncy[i]<0||((std::size_t)adjncy[i])>gnoVtx) {
               ~~~~~~~~~^~
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:12:
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1195:39: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
            info->buildGlobalLookup(info->indexSet().size());
                                    ~~~~  ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:152:20: note: in instantiation
          of function template specialization
          'Dune::Amg::MatrixHierarchy<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >
          >::recalculateGalerkin<Dune::NegateSet<Dune::AllSet<int> > >' requested here
            matrices_->recalculateGalerkin(NegateSet<typename PI::OwnerSet>());
                       ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:85:7: note: in
          instantiation of member function
          'Dune::Amg::FastAMG<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > > >::recalculateHierarchy' requested
          here
      amg.recalculateHierarchy();
          ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:129:3: note: in
          instantiation of function template specialization 'testAMG<1>' requested here
      testAMG<1>(N, coarsenTarget, ml);
      ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:12:
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1209:41: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
              info->buildGlobalLookup(info->indexSet().size());
                                      ~~~~  ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:775:25: error: no type
          named 'ParallelIndexSet' in 'Dune::Amg::SequentialInformation'
        typedef typename C::ParallelIndexSet IndexSet;
                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1196:9: note: in
          instantiation of function template specialization
          'Dune::redistributeMatrixEntries<Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>,
          std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::Amg::SequentialInformation>' requested here
            redistributeMatrixEntries(const_cast<Matrix&>(level->getmat()),
            ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:152:20: note: in instantiation
          of function template specialization
          'Dune::Amg::MatrixHierarchy<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >
          >::recalculateGalerkin<Dune::NegateSet<Dune::AllSet<int> > >' requested here
            matrices_->recalculateGalerkin(NegateSet<typename PI::OwnerSet>());
                       ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:85:7: note: in
          instantiation of member function
          'Dune::Amg::FastAMG<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > > >::recalculateHierarchy' requested
          here
      amg.recalculateHierarchy();
          ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:129:3: note: in
          instantiation of function template specialization 'testAMG<1>' requested here
      testAMG<1>(N, coarsenTarget, ml);
      ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:777:56: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        std::vector<typename M::size_type> rowsize(newComm.indexSet().size(), 0);
                                                   ~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:778:60: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        std::vector<typename M::size_type> copyrowsize(newComm.indexSet().size(), 0);
                                                       ~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:779:70: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        std::vector<typename M::size_type> backwardscopyrowsize(origComm.indexSet().si...
                                                                ~~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:781:39: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        for (std::size_t i=0; i < newComm.indexSet().size(); i++) {
                                  ~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:788:40: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        for (std::size_t i=0; i < origComm.indexSet().size(); i++)
                                  ~~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:796:54: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
                                                 newComm.indexSet(), backwardscopyrowsize);
                                                 ~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:798:53: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
                                                newComm.indexSet(),copyrowsize);
                                                ~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:801:10: error: no member
          named 'getInterface' in
          'Dune::RedistributeInformation<Dune::Amg::SequentialInformation>'
          ri.getInterface().free();
          ~~ ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:5:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/anisotropic.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/owneroverlapcopy.hh:26:
    In file included from /home/mi/pipping/dune/dune-common/dune/common/parallel/communicator.hh:6:
    /home/mi/pipping/dune/dune-common/dune/common/parallel/remoteindices.hh:178:65: error: 
          type 'int' cannot be used prior to '::' because it has no members
      template<class T, class A=std::allocator<RemoteIndex<typename T::GlobalIndex,
                                                                    ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:802:7: note: in
          instantiation of default argument for 'RemoteIndices<int>' required here
          RemoteIndices<IndexSet> *ris = new RemoteIndices<IndexSet>(origComm.indexSet(),
          ^~~~~~~~~~~~~~~~~~~~~~~
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1196:9: note: in
          instantiation of function template specialization
          'Dune::redistributeMatrixEntries<Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>,
          std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::Amg::SequentialInformation>' requested here
            redistributeMatrixEntries(const_cast<Matrix&>(level->getmat()),
            ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:152:20: note: in instantiation
          of function template specialization
          'Dune::Amg::MatrixHierarchy<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >
          >::recalculateGalerkin<Dune::NegateSet<Dune::AllSet<int> > >' requested here
            matrices_->recalculateGalerkin(NegateSet<typename PI::OwnerSet>());
                       ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:85:7: note: in
          instantiation of member function
          'Dune::Amg::FastAMG<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > > >::recalculateHierarchy' requested
          here
      amg.recalculateHierarchy();
          ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:129:3: note: in
          instantiation of function template specialization 'testAMG<1>' requested here
      testAMG<1>(N, coarsenTarget, ml);
      ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:810:58: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        origrow(origMatrix, origComm.globalLookup(), newComm.indexSet());
                                                     ~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1196:9: note: in
          instantiation of function template specialization
          'Dune::redistributeMatrixEntries<Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>,
          std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::Amg::SequentialInformation>' requested here
            redistributeMatrixEntries(const_cast<Matrix&>(level->getmat()),
            ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:152:20: note: in instantiation
          of function template specialization
          'Dune::Amg::MatrixHierarchy<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >
          >::recalculateGalerkin<Dune::NegateSet<Dune::AllSet<int> > >' requested here
            matrices_->recalculateGalerkin(NegateSet<typename PI::OwnerSet>());
                       ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:85:7: note: in
          instantiation of member function
          'Dune::Amg::FastAMG<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > >,
          Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>,
          std::allocator<Dune::FieldVector<double, 1> > > > >::recalculateHierarchy' requested
          here
      amg.recalculateHierarchy();
          ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:129:3: note: in
          instantiation of function template specialization 'testAMG<1>' requested here
      testAMG<1>(N, coarsenTarget, ml);
      ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:812:56: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        newrow(newMatrix, origComm.globalLookup(), newComm.indexSet(),rowsize);
                                                   ~~~~~~~ ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:12:
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1195:39: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
            info->buildGlobalLookup(info->indexSet().size());
                                    ~~~~  ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:152:20: note: in instantiation
          of function template specialization
          'Dune::Amg::MatrixHierarchy<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > >
          >::recalculateGalerkin<Dune::NegateSet<Dune::AllSet<int> > >' requested here
            matrices_->recalculateGalerkin(NegateSet<typename PI::OwnerSet>());
                       ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:85:7: note: in
          instantiation of member function
          'Dune::Amg::FastAMG<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > > >::recalculateHierarchy' requested
          here
      amg.recalculateHierarchy();
          ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:130:3: note: in
          instantiation of function template specialization 'testAMG<2>' requested here
      testAMG<2>(N, coarsenTarget, ml);
      ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:12:
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1209:41: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
              info->buildGlobalLookup(info->indexSet().size());
                                      ~~~~  ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:775:25: error: no type
          named 'ParallelIndexSet' in 'Dune::Amg::SequentialInformation'
        typedef typename C::ParallelIndexSet IndexSet;
                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/hierarchy.hh:1196:9: note: in
          instantiation of function template specialization
          'Dune::redistributeMatrixEntries<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>,
          std::allocator<Dune::FieldMatrix<double, 2, 2> > >,
          Dune::Amg::SequentialInformation>' requested here
            redistributeMatrixEntries(const_cast<Matrix&>(level->getmat()),
            ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:152:20: note: in instantiation
          of function template specialization
          'Dune::Amg::MatrixHierarchy<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > >
          >::recalculateGalerkin<Dune::NegateSet<Dune::AllSet<int> > >' requested here
            matrices_->recalculateGalerkin(NegateSet<typename PI::OwnerSet>());
                       ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:85:7: note: in
          instantiation of member function
          'Dune::Amg::FastAMG<Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double,
          2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > >,
          Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > >, Dune::Amg::SequentialInformation,
          std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>,
          std::allocator<Dune::FieldVector<double, 2> > > > >::recalculateHierarchy' requested
          here
      amg.recalculateHierarchy();
          ^
    /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:130:3: note: in
          instantiation of function template specialization 'testAMG<2>' requested here
      testAMG<2>(N, coarsenTarget, ml);
      ^
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/test/fastamg.cc:9:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/fastamg.hh:11:
    In file included from /home/mi/pipping/dune/dune-istl/dune/istl/paamg/transfer.hh:7:
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:777:56: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        std::vector<typename M::size_type> rowsize(newComm.indexSet().size(), 0);
                                                   ~~~~~~~ ^
    /home/mi/pipping/dune/dune-istl/dune/istl/matrixredistribute.hh:778:60: error: no member
          named 'indexSet' in 'Dune::Amg::SequentialInformation'
        std::vector<typename M::size_type> copyrowsize(newComm.indexSet().size(), 0);
                                                       ~~~~~~~ ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
  • Carsten Gräser @carsten.graeser ·
    Owner

    Exactly. This is why I pushed this change: It reveals #11 (closed).

  • Developer

    I understand. I assumed by additional check currently fails you were referring to run-time behaviour.

  • Happened to me, too. I bisected the commit. I am against checking in broken tests. It confuses people using the tests. We won't forgett about them as rhe are part of the issue tracker.

  • Carsten Gräser @carsten.graeser ·
    Owner

    I'm also against checking in broken tests. But it's not the test that is broken, it's the feature. The test is even improved, because it now tests a feature that was untested before. Disabling it to hide the fact that this is broken is IMHO the wrong approach. Tests are made to test things and report the outcome, even if it's undesirable.

    If the failing test is to disturbing, there are two possible solutions: Fix the issue, or disable the broken feature and not the test. Remember that this is not about an issue that happens for a corner case, it's a method that can never compile the way it is.

  • Markus Blatt @markus.blatt ·
    Owner

    I like checking in tests before fixes!

  • Markus Blatt @markus.blatt ·
    Owner

    BTW: Fix is coming...

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment