COIN-OR::LEMON - Graph Library

Ticket #672: vf2Fix.patch

File vf2Fix.patch, 2.6 KB (added by Peter Madarasi, 2 years ago)
  • lemon/vf2.h

    # HG changeset patch
    # User Peter Madarasi <madarasi@cs.elte.hu>
    # Date 1665754224 -7200
    #      Fri Oct 14 15:30:24 2022 +0200
    # Node ID bde0558ddab389d6b1f935fb5c7d16ba15438318
    # Parent  a278d16bd2d082aa3c52ff4a9b0e2224ddc0549a
    Bugfix in vf2.h and vf2pp.h
    
    diff -r a278d16bd2d0 -r bde0558ddab3 lemon/vf2.h
    a b  
    178178
    179179      for(typename G1::IncEdgeIt e1(_g1,n1); e1!=INVALID; ++e1) {
    180180        const typename G2::Node& currNodePair=_mapping[_g1.oppositeNode(n1,e1)];
    181         int& connCurrNodePair=_conn[currNodePair];
    182         if(currNodePair!=INVALID&&connCurrNodePair!=-1) {
    183           switch(MT) {
    184           case INDUCED:
    185           case ISOMORPH:
    186             isIso=0;
    187             break;
    188           case SUBGRAPH:
    189             if(connCurrNodePair<-1)
     181        if(currNodePair!=INVALID) {
     182          int& connCurrNodePair=_conn[currNodePair];
     183          if(connCurrNodePair!=-1) {
     184            switch(MT) {
     185            case INDUCED:
     186            case ISOMORPH:
    190187              isIso=0;
    191             break;
     188              break;
     189            case SUBGRAPH:
     190              if(connCurrNodePair<-1)
     191                isIso=0;
     192              break;
     193            }
     194            connCurrNodePair=-1;
    192195          }
    193           connCurrNodePair=-1;
    194196        }
    195197      }
    196198      return isIso&&cut<MT>(n1,n2);
  • lemon/vf2pp.h

    diff -r a278d16bd2d0 -r bde0558ddab3 lemon/vf2pp.h
    a b  
    223223        for(typename G1::IncEdgeIt e1(_g1,n1); e1!=INVALID; ++e1) {
    224224          const typename G2::Node& currNodePair =
    225225            _mapping[_g1.oppositeNode(n1,e1)];
    226           int& connCurrNodePair=_conn[currNodePair];
    227           if(currNodePair!=INVALID&&connCurrNodePair!=-1) {
    228             switch(MT){
    229             case INDUCED:
    230             case ISOMORPH:
    231               isIso=0;
    232               break;
    233             case SUBGRAPH:
    234               if(connCurrNodePair<-1)
     226          if(currNodePair!=INVALID) {
     227            int& connCurrNodePair=_conn[currNodePair];
     228            if(connCurrNodePair!=-1) {
     229              switch(MT){
     230              case INDUCED:
     231              case ISOMORPH:
    235232                isIso=0;
    236               break;
     233                break;
     234              case SUBGRAPH:
     235                if(connCurrNodePair<-1)
     236                  isIso=0;
     237                break;
     238              }
     239              connCurrNodePair=-1;
    237240            }
    238             connCurrNodePair=-1;
    239241          }
    240242        }
    241243      else