tools/lemon-0.x-to-1.x.sh
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 24 Mar 2009 00:18:25 +0100
changeset 604 8c3112a66878
parent 366 efbd0ab50a77
child 555 b779c4dc7496
permissions -rwxr-xr-x
Use XTI implementation instead of ATI in NetworkSimplex (#234)

XTI (eXtended Threaded Index) is an imporved version of the widely
known ATI (Augmented Threaded Index) method for storing and updating
the spanning tree structure in Network Simplex algorithms.

In the ATI data structure three indices are stored for each node:
predecessor, thread and depth. In the XTI data structure depth is
replaced by the number of successors and the last successor
(according to the thread index).
alpar@305
     1
#!/bin/bash
alpar@305
     2
alpar@305
     3
set -e
alpar@305
     4
alpar@305
     5
if [ $# -eq 0 -o x$1 = "x-h" -o x$1 = "x-help" -o x$1 = "x--help" ]; then
kpeter@323
     6
    echo "Usage:"
kpeter@323
     7
    echo "  $0 source-file(s)"
kpeter@323
     8
    exit
alpar@305
     9
fi
alpar@305
    10
kpeter@323
    11
for i in $@
kpeter@323
    12
do
kpeter@323
    13
    echo Update $i...
kpeter@323
    14
    TMP=`mktemp`
kpeter@344
    15
    sed -e "s/\<undirected graph\>/_gr_aph_label_/g"\
kpeter@344
    16
        -e "s/\<undirected graphs\>/_gr_aph_label_s/g"\
kpeter@344
    17
        -e "s/\<undirected edge\>/_ed_ge_label_/g"\
kpeter@344
    18
        -e "s/\<undirected edges\>/_ed_ge_label_s/g"\
kpeter@344
    19
        -e "s/\<directed graph\>/_digr_aph_label_/g"\
kpeter@344
    20
        -e "s/\<directed graphs\>/_digr_aph_label_s/g"\
kpeter@344
    21
        -e "s/\<directed edge\>/_ar_c_label_/g"\
kpeter@344
    22
        -e "s/\<directed edges\>/_ar_c_label_s/g"\
kpeter@323
    23
        -e "s/UGraph/_Gr_aph_label_/g"\
kpeter@343
    24
        -e "s/u[Gg]raph/_gr_aph_label_/g"\
kpeter@343
    25
        -e "s/\<Graph\>/_Digr_aph_label_/g"\
kpeter@343
    26
        -e "s/\<graph\>/_digr_aph_label_/g"\
kpeter@343
    27
        -e "s/\<Graphs\>/_Digr_aph_label_s/g"\
kpeter@343
    28
        -e "s/\<graphs\>/_digr_aph_label_s/g"\
kpeter@343
    29
        -e "s/_Graph/__Gr_aph_label_/g"\
kpeter@343
    30
        -e "s/\([Gg]\)raph\([a-z_]\)/_\1r_aph_label_\2/g"\
kpeter@343
    31
        -e "s/\([a-z_]\)graph/\1_gr_aph_label_/g"\
kpeter@323
    32
        -e "s/Graph/_Digr_aph_label_/g"\
kpeter@323
    33
        -e "s/graph/_digr_aph_label_/g"\
kpeter@323
    34
        -e "s/UEdge/_Ed_ge_label_/g"\
kpeter@343
    35
        -e "s/u[Ee]dge/_ed_ge_label_/g"\
kpeter@323
    36
        -e "s/IncEdgeIt/_In_cEd_geIt_label_/g"\
kpeter@343
    37
        -e "s/\<Edge\>/_Ar_c_label_/g"\
kpeter@343
    38
        -e "s/\<edge\>/_ar_c_label_/g"\
kpeter@343
    39
        -e "s/\<Edges\>/_Ar_c_label_s/g"\
kpeter@343
    40
        -e "s/\<edges\>/_ar_c_label_s/g"\
kpeter@343
    41
        -e "s/_Edge/__Ed_ge_label_/g"\
kpeter@343
    42
        -e "s/Edge\([a-z_]\)/_Ed_ge_label_\1/g"\
kpeter@343
    43
        -e "s/edge\([a-z_]\)/_ed_ge_label_\1/g"\
kpeter@343
    44
        -e "s/\([a-z_]\)edge/\1_ed_ge_label_/g"\
kpeter@323
    45
        -e "s/Edge/_Ar_c_label_/g"\
kpeter@323
    46
        -e "s/edge/_ar_c_label_/g"\
kpeter@343
    47
        -e "s/A[Nn]ode/_Re_d_label_/g"\
kpeter@343
    48
        -e "s/B[Nn]ode/_Blu_e_label_/g"\
kpeter@343
    49
        -e "s/A-[Nn]ode/_Re_d_label_/g"\
kpeter@343
    50
        -e "s/B-[Nn]ode/_Blu_e_label_/g"\
kpeter@343
    51
        -e "s/a[Nn]ode/_re_d_label_/g"\
kpeter@343
    52
        -e "s/b[Nn]ode/_blu_e_label_/g"\
kpeter@344
    53
        -e "s/\<UGRAPH_TYPEDEFS\([ \t]*([ \t]*\)typename[ \t]/TEMPLATE__GR_APH_TY_PEDE_FS_label_\1/g"\
kpeter@344
    54
        -e "s/\<GRAPH_TYPEDEFS\([ \t]*([ \t]*\)typename[ \t]/TEMPLATE__DIGR_APH_TY_PEDE_FS_label_\1/g"\
kpeter@344
    55
        -e "s/\<UGRAPH_TYPEDEFS\>/_GR_APH_TY_PEDE_FS_label_/g"\
kpeter@344
    56
        -e "s/\<GRAPH_TYPEDEFS\>/_DIGR_APH_TY_PEDE_FS_label_/g"\
kpeter@323
    57
        -e "s/_Digr_aph_label_/Digraph/g"\
kpeter@323
    58
        -e "s/_digr_aph_label_/digraph/g"\
kpeter@323
    59
        -e "s/_Gr_aph_label_/Graph/g"\
kpeter@323
    60
        -e "s/_gr_aph_label_/graph/g"\
kpeter@323
    61
        -e "s/_Ar_c_label_/Arc/g"\
kpeter@323
    62
        -e "s/_ar_c_label_/arc/g"\
kpeter@323
    63
        -e "s/_Ed_ge_label_/Edge/g"\
kpeter@323
    64
        -e "s/_ed_ge_label_/edge/g"\
kpeter@323
    65
        -e "s/_In_cEd_geIt_label_/IncEdgeIt/g"\
kpeter@323
    66
        -e "s/_Re_d_label_/Red/g"\
kpeter@323
    67
        -e "s/_Blu_e_label_/Blue/g"\
kpeter@323
    68
        -e "s/_re_d_label_/red/g"\
kpeter@323
    69
        -e "s/_blu_e_label_/blue/g"\
kpeter@344
    70
        -e "s/_GR_APH_TY_PEDE_FS_label_/GRAPH_TYPEDEFS/g"\
kpeter@344
    71
        -e "s/_DIGR_APH_TY_PEDE_FS_label_/DIGRAPH_TYPEDEFS/g"\
kpeter@343
    72
        -e "s/DigraphToEps/GraphToEps/g"\
kpeter@343
    73
        -e "s/digraphToEps/graphToEps/g"\
kpeter@323
    74
        -e "s/\<DefPredMap\>/SetPredMap/g"\
kpeter@323
    75
        -e "s/\<DefDistMap\>/SetDistMap/g"\
kpeter@323
    76
        -e "s/\<DefReachedMap\>/SetReachedMap/g"\
kpeter@323
    77
        -e "s/\<DefProcessedMap\>/SetProcessedMap/g"\
kpeter@323
    78
        -e "s/\<DefHeap\>/SetHeap/g"\
kpeter@323
    79
        -e "s/\<DefStandardHeap\>/SetStandradHeap/g"\
kpeter@323
    80
        -e "s/\<DefOperationTraits\>/SetOperationTraits/g"\
kpeter@323
    81
        -e "s/\<DefProcessedMapToBeDefaultMap\>/SetStandardProcessedMap/g"\
kpeter@323
    82
        -e "s/\<copyGraph\>/graphCopy/g"\
kpeter@323
    83
        -e "s/\<copyDigraph\>/digraphCopy/g"\
kpeter@365
    84
        -e "s/\<HyperCubeDigraph\>/HypercubeGraph/g"\
kpeter@323
    85
        -e "s/\<IntegerMap\>/RangeMap/g"\
kpeter@323
    86
        -e "s/\<integerMap\>/rangeMap/g"\
kpeter@323
    87
        -e "s/\<\([sS]\)tdMap\>/\1parseMap/g"\
kpeter@323
    88
        -e "s/\<\([Ff]\)unctorMap\>/\1unctorToMap/g"\
kpeter@323
    89
        -e "s/\<\([Mm]\)apFunctor\>/\1apToFunctor/g"\
kpeter@323
    90
        -e "s/\<\([Ff]\)orkWriteMap\>/\1orkMap/g"\
kpeter@323
    91
        -e "s/\<StoreBoolMap\>/LoggerBoolMap/g"\
kpeter@323
    92
        -e "s/\<storeBoolMap\>/loggerBoolMap/g"\
kpeter@323
    93
        -e "s/\<BoundingBox\>/Box/g"\
kpeter@359
    94
        -e "s/\<readNauty\>/readNautyGraph/g"\
kpeter@466
    95
        -e "s/\<RevDigraphAdaptor\>/ReverseDigraph/g"\
kpeter@466
    96
        -e "s/\<revDigraphAdaptor\>/reverseDigraph/g"\
kpeter@466
    97
        -e "s/\<SubDigraphAdaptor\>/SubDigraph/g"\
kpeter@466
    98
        -e "s/\<subDigraphAdaptor\>/subDigraph/g"\
kpeter@466
    99
        -e "s/\<SubGraphAdaptor\>/SubGraph/g"\
kpeter@466
   100
        -e "s/\<subGraphAdaptor\>/subGraph/g"\
kpeter@466
   101
        -e "s/\<NodeSubDigraphAdaptor\>/FilterNodes/g"\
kpeter@466
   102
        -e "s/\<nodeSubDigraphAdaptor\>/filterNodes/g"\
kpeter@466
   103
        -e "s/\<ArcSubDigraphAdaptor\>/FilterArcs/g"\
kpeter@466
   104
        -e "s/\<arcSubDigraphAdaptor\>/filterArcs/g"\
kpeter@466
   105
        -e "s/\<UndirDigraphAdaptor\>/Undirector/g"\
kpeter@466
   106
        -e "s/\<undirDigraphAdaptor\>/undirector/g"\
kpeter@466
   107
        -e "s/\<ResDigraphAdaptor\>/ResidualDigraph/g"\
kpeter@466
   108
        -e "s/\<resDigraphAdaptor\>/residualDigraph/g"\
kpeter@466
   109
        -e "s/\<SplitDigraphAdaptor\>/SplitNodes/g"\
kpeter@466
   110
        -e "s/\<splitDigraphAdaptor\>/splitNodes/g"\
kpeter@466
   111
        -e "s/\<SubGraphAdaptor\>/SubGraph/g"\
kpeter@466
   112
        -e "s/\<subGraphAdaptor\>/subGraph/g"\
kpeter@466
   113
        -e "s/\<NodeSubGraphAdaptor\>/FilterNodes/g"\
kpeter@466
   114
        -e "s/\<nodeSubGraphAdaptor\>/filterNodes/g"\
kpeter@466
   115
        -e "s/\<ArcSubGraphAdaptor\>/FilterEdges/g"\
kpeter@466
   116
        -e "s/\<arcSubGraphAdaptor\>/filterEdges/g"\
kpeter@466
   117
        -e "s/\<DirGraphAdaptor\>/Orienter/g"\
kpeter@466
   118
        -e "s/\<dirGraphAdaptor\>/orienter/g"\
kpeter@323
   119
    <$i > $TMP
kpeter@323
   120
    mv $TMP $i
kpeter@323
   121
done