COIN-OR::LEMON - Graph Library

Changeset 2386:81b47fc5c444 in lemon-0.x for lemon/bits/base_extender.h


Ignore:
Timestamp:
03/02/07 19:04:28 (13 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3217
Message:

Hard Warning checking

  • based on the remark of the ZIB user
  • we do not use -Winline
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/bits/base_extender.h

    r2260 r2386  
    194194    }
    195195
    196     Node nodeFromId(int id) const {
    197       return Parent::nodeFromId(id);
    198     }
    199 
    200     Edge edgeFromId(int id) const {
    201       return direct(Parent::edgeFromId(id >> 1), bool(id & 1));
    202     }
    203 
    204     UEdge uEdgeFromId(int id) const {
    205       return Parent::edgeFromId(id);
     196    Node nodeFromId(int ix) const {
     197      return Parent::nodeFromId(ix);
     198    }
     199
     200    Edge edgeFromId(int ix) const {
     201      return direct(Parent::edgeFromId(ix >> 1), bool(ix & 1));
     202    }
     203
     204    UEdge uEdgeFromId(int ix) const {
     205      return Parent::edgeFromId(ix);
    206206    }
    207207
     
    239239    }
    240240
    241     Edge findEdge(Node source, Node target, Edge prev = INVALID) const {
    242       if (prev == INVALID) {
    243         UEdge edge = Parent::findEdge(source, target);
     241    Edge findEdge(Node s, Node t, Edge p = INVALID) const {
     242      if (p == INVALID) {
     243        UEdge edge = Parent::findEdge(s, t);
    244244        if (edge != INVALID) return direct(edge, true);
    245         edge = Parent::findEdge(target, source);
     245        edge = Parent::findEdge(t, s);
    246246        if (edge != INVALID) return direct(edge, false);
    247       } else if (direction(prev)) {
    248         UEdge edge = Parent::findEdge(source, target, prev);
     247      } else if (direction(p)) {
     248        UEdge edge = Parent::findEdge(s, t, p);
    249249        if (edge != INVALID) return direct(edge, true);
    250         edge = Parent::findEdge(target, source);
     250        edge = Parent::findEdge(t, s);
    251251        if (edge != INVALID) return direct(edge, false);       
    252252      } else {
    253         UEdge edge = Parent::findEdge(target, source, prev);
     253        UEdge edge = Parent::findEdge(t, s, p);
    254254        if (edge != INVALID) return direct(edge, false);             
    255255      }
     
    257257    }
    258258
    259     UEdge findUEdge(Node source, Node target, UEdge prev = INVALID) const {
    260       if (source != target) {
    261         if (prev == INVALID) {
    262           UEdge edge = Parent::findEdge(source, target);
     259    UEdge findUEdge(Node s, Node t, UEdge p = INVALID) const {
     260      if (s != t) {
     261        if (p == INVALID) {
     262          UEdge edge = Parent::findEdge(s, t);
    263263          if (edge != INVALID) return edge;
    264           edge = Parent::findEdge(target, source);
     264          edge = Parent::findEdge(t, s);
    265265          if (edge != INVALID) return edge;
    266         } else if (Parent::source(prev) == source) {
    267           UEdge edge = Parent::findEdge(source, target, prev);
     266        } else if (Parent::s(p) == s) {
     267          UEdge edge = Parent::findEdge(s, t, p);
    268268          if (edge != INVALID) return edge;
    269           edge = Parent::findEdge(target, source);
     269          edge = Parent::findEdge(t, s);
    270270          if (edge != INVALID) return edge;     
    271271        } else {
    272           UEdge edge = Parent::findEdge(target, source, prev);
     272          UEdge edge = Parent::findEdge(t, s, p);
    273273          if (edge != INVALID) return edge;           
    274274        }
    275275      } else {
    276         return Parent::findEdge(source, target, prev);
     276        return Parent::findEdge(s, t, p);
    277277      }
    278278      return INVALID;
     
    358358    }
    359359
    360     void firstInc(UEdge& edge, bool& direction, const Node& node) const {
     360    void firstInc(UEdge& edge, bool& dir, const Node& node) const {
    361361      if (Parent::aNode(node)) {
    362362        Parent::firstFromANode(edge, node);
    363         direction = true;
     363        dir = true;
    364364      } else {
    365365        Parent::firstFromBNode(edge, node);
    366         direction = static_cast<UEdge&>(edge) == INVALID;
    367       }
    368     }
    369     void nextInc(UEdge& edge, bool& direction) const {
    370       if (direction) {
     366        dir = static_cast<UEdge&>(edge) == INVALID;
     367      }
     368    }
     369    void nextInc(UEdge& edge, bool& dir) const {
     370      if (dir) {
    371371        Parent::nextFromANode(edge);
    372372      } else {
    373373        Parent::nextFromBNode(edge);
    374         if (edge == INVALID) direction = true;
     374        if (edge == INVALID) dir = true;
    375375      }
    376376    }
     
    458458        (edge.forward ? 0 : 1);
    459459    }
    460     Edge edgeFromId(int id) const {
    461       return Edge(Parent::fromUEdgeId(id >> 1), (id & 1) == 0);
     460    Edge edgeFromId(int ix) const {
     461      return Edge(Parent::fromUEdgeId(ix >> 1), (ix & 1) == 0);
    462462    }
    463463    int maxEdgeId() const {
     
    469469    }
    470470
    471     Edge direct(const UEdge& edge, bool direction) const {
    472       return Edge(edge, direction);
     471    Edge direct(const UEdge& edge, bool dir) const {
     472      return Edge(edge, dir);
    473473    }
    474474
Note: See TracChangeset for help on using the changeset viewer.