nl_tokens: / * Replace edge e with edge f in the tree recalculating the tree root the nodes low and lim properties and the edges cut values .
pl_tokens: function exchange ( graph , tree , e , f ) { tree . delEdge ( e ) ; var source = graph . source ( f ) ; var target = graph . target ( f ) ; // Redirect edges so that target is the root of its subtree. function redirect ( v ) { var edges = tree . inEdges ( v ) ; for ( var i in edges ) { var e = edges [ i ] ; var u = tree . source ( e ) ; var value = tree . edge ( e ) ; redirect ( u ) ; tree . delEdge ( e ) ; value . reversed = ! value . reversed ; tree . addEdge ( e , v , u , value ) ; } } redirect ( target ) ; var root = source ; var edges = tree . inEdges ( root ) ; while ( edges . length > 0 ) { root = tree . source ( edges [ 0 ] ) ; edges = tree . inEdges ( <mask> ) ; } tree . graph ( ) . root = root ; tree . addEdge ( null , source , target , { cutValue : 0 } ) ; initCutValues ( graph , tree ) ; adjustRanks ( graph , tree ) ; }