tools/lemon-0.x-to-1.x.sh
author Balazs Dezso <deba@inf.elte.hu>
Thu, 24 Jun 2010 09:27:53 +0200
changeset 732 bb70ad62c95f
parent 545 b779c4dc7496
permissions -rwxr-xr-x
Fix critical bug in preflow (#372)

The wrong transition between the bound decrease and highest active
heuristics caused the bug. The last node chosen in bound decrease mode
is used in the first iteration in highest active mode.
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@545
    25
        -e "s/Graph\>/_Digr_aph_label_/g"\
kpeter@343
    26
        -e "s/\<graph\>/_digr_aph_label_/g"\
kpeter@545
    27
        -e "s/Graphs\>/_Digr_aph_label_s/g"\
kpeter@343
    28
        -e "s/\<graphs\>/_digr_aph_label_s/g"\
kpeter@545
    29
        -e "s/\([Gg]\)raph\([a-z]\)/_\1r_aph_label_\2/g"\
kpeter@343
    30
        -e "s/\([a-z_]\)graph/\1_gr_aph_label_/g"\
kpeter@323
    31
        -e "s/Graph/_Digr_aph_label_/g"\
kpeter@323
    32
        -e "s/graph/_digr_aph_label_/g"\
kpeter@323
    33
        -e "s/UEdge/_Ed_ge_label_/g"\
kpeter@343
    34
        -e "s/u[Ee]dge/_ed_ge_label_/g"\
kpeter@323
    35
        -e "s/IncEdgeIt/_In_cEd_geIt_label_/g"\
kpeter@545
    36
        -e "s/Edge\>/_Ar_c_label_/g"\
kpeter@343
    37
        -e "s/\<edge\>/_ar_c_label_/g"\
kpeter@545
    38
        -e "s/_edge\>/_ar_c_label_/g"\
kpeter@545
    39
        -e "s/Edges\>/_Ar_c_label_s/g"\
kpeter@343
    40
        -e "s/\<edges\>/_ar_c_label_s/g"\
kpeter@545
    41
        -e "s/_edges\>/_ar_c_label_s/g"\
kpeter@545
    42
        -e "s/\([Ee]\)dge\([a-z]\)/_\1d_ge_label_\2/g"\
kpeter@545
    43
        -e "s/\([a-z]\)edge/\1_ed_ge_label_/g"\
kpeter@323
    44
        -e "s/Edge/_Ar_c_label_/g"\
kpeter@323
    45
        -e "s/edge/_ar_c_label_/g"\
kpeter@343
    46
        -e "s/A[Nn]ode/_Re_d_label_/g"\
kpeter@343
    47
        -e "s/B[Nn]ode/_Blu_e_label_/g"\
kpeter@343
    48
        -e "s/A-[Nn]ode/_Re_d_label_/g"\
kpeter@343
    49
        -e "s/B-[Nn]ode/_Blu_e_label_/g"\
kpeter@343
    50
        -e "s/a[Nn]ode/_re_d_label_/g"\
kpeter@343
    51
        -e "s/b[Nn]ode/_blu_e_label_/g"\
kpeter@344
    52
        -e "s/\<UGRAPH_TYPEDEFS\([ \t]*([ \t]*\)typename[ \t]/TEMPLATE__GR_APH_TY_PEDE_FS_label_\1/g"\
kpeter@344
    53
        -e "s/\<GRAPH_TYPEDEFS\([ \t]*([ \t]*\)typename[ \t]/TEMPLATE__DIGR_APH_TY_PEDE_FS_label_\1/g"\
kpeter@344
    54
        -e "s/\<UGRAPH_TYPEDEFS\>/_GR_APH_TY_PEDE_FS_label_/g"\
kpeter@344
    55
        -e "s/\<GRAPH_TYPEDEFS\>/_DIGR_APH_TY_PEDE_FS_label_/g"\
kpeter@323
    56
        -e "s/_Digr_aph_label_/Digraph/g"\
kpeter@323
    57
        -e "s/_digr_aph_label_/digraph/g"\
kpeter@323
    58
        -e "s/_Gr_aph_label_/Graph/g"\
kpeter@323
    59
        -e "s/_gr_aph_label_/graph/g"\
kpeter@323
    60
        -e "s/_Ar_c_label_/Arc/g"\
kpeter@323
    61
        -e "s/_ar_c_label_/arc/g"\
kpeter@323
    62
        -e "s/_Ed_ge_label_/Edge/g"\
kpeter@323
    63
        -e "s/_ed_ge_label_/edge/g"\
kpeter@323
    64
        -e "s/_In_cEd_geIt_label_/IncEdgeIt/g"\
kpeter@323
    65
        -e "s/_Re_d_label_/Red/g"\
kpeter@323
    66
        -e "s/_Blu_e_label_/Blue/g"\
kpeter@323
    67
        -e "s/_re_d_label_/red/g"\
kpeter@323
    68
        -e "s/_blu_e_label_/blue/g"\
kpeter@344
    69
        -e "s/_GR_APH_TY_PEDE_FS_label_/GRAPH_TYPEDEFS/g"\
kpeter@344
    70
        -e "s/_DIGR_APH_TY_PEDE_FS_label_/DIGRAPH_TYPEDEFS/g"\
kpeter@343
    71
        -e "s/DigraphToEps/GraphToEps/g"\
kpeter@343
    72
        -e "s/digraphToEps/graphToEps/g"\
kpeter@323
    73
        -e "s/\<DefPredMap\>/SetPredMap/g"\
kpeter@323
    74
        -e "s/\<DefDistMap\>/SetDistMap/g"\
kpeter@323
    75
        -e "s/\<DefReachedMap\>/SetReachedMap/g"\
kpeter@323
    76
        -e "s/\<DefProcessedMap\>/SetProcessedMap/g"\
kpeter@323
    77
        -e "s/\<DefHeap\>/SetHeap/g"\
kpeter@323
    78
        -e "s/\<DefStandardHeap\>/SetStandradHeap/g"\
kpeter@323
    79
        -e "s/\<DefOperationTraits\>/SetOperationTraits/g"\
kpeter@323
    80
        -e "s/\<DefProcessedMapToBeDefaultMap\>/SetStandardProcessedMap/g"\
kpeter@323
    81
        -e "s/\<copyGraph\>/graphCopy/g"\
kpeter@323
    82
        -e "s/\<copyDigraph\>/digraphCopy/g"\
kpeter@365
    83
        -e "s/\<HyperCubeDigraph\>/HypercubeGraph/g"\
kpeter@323
    84
        -e "s/\<IntegerMap\>/RangeMap/g"\
kpeter@323
    85
        -e "s/\<integerMap\>/rangeMap/g"\
kpeter@323
    86
        -e "s/\<\([sS]\)tdMap\>/\1parseMap/g"\
kpeter@323
    87
        -e "s/\<\([Ff]\)unctorMap\>/\1unctorToMap/g"\
kpeter@323
    88
        -e "s/\<\([Mm]\)apFunctor\>/\1apToFunctor/g"\
kpeter@323
    89
        -e "s/\<\([Ff]\)orkWriteMap\>/\1orkMap/g"\
kpeter@323
    90
        -e "s/\<StoreBoolMap\>/LoggerBoolMap/g"\
kpeter@323
    91
        -e "s/\<storeBoolMap\>/loggerBoolMap/g"\
kpeter@566
    92
        -e "s/\<InvertableMap\>/CrossRefMap/g"\
kpeter@566
    93
        -e "s/\<invertableMap\>/crossRefMap/g"\
kpeter@566
    94
        -e "s/\<DescriptorMap\>/RangeIdMap/g"\
kpeter@566
    95
        -e "s/\<descriptorMap\>/rangeIdMap/g"\
kpeter@323
    96
        -e "s/\<BoundingBox\>/Box/g"\
kpeter@359
    97
        -e "s/\<readNauty\>/readNautyGraph/g"\
kpeter@466
    98
        -e "s/\<RevDigraphAdaptor\>/ReverseDigraph/g"\
kpeter@466
    99
        -e "s/\<revDigraphAdaptor\>/reverseDigraph/g"\
kpeter@466
   100
        -e "s/\<SubDigraphAdaptor\>/SubDigraph/g"\
kpeter@466
   101
        -e "s/\<subDigraphAdaptor\>/subDigraph/g"\
kpeter@466
   102
        -e "s/\<SubGraphAdaptor\>/SubGraph/g"\
kpeter@466
   103
        -e "s/\<subGraphAdaptor\>/subGraph/g"\
kpeter@466
   104
        -e "s/\<NodeSubDigraphAdaptor\>/FilterNodes/g"\
kpeter@466
   105
        -e "s/\<nodeSubDigraphAdaptor\>/filterNodes/g"\
kpeter@466
   106
        -e "s/\<ArcSubDigraphAdaptor\>/FilterArcs/g"\
kpeter@466
   107
        -e "s/\<arcSubDigraphAdaptor\>/filterArcs/g"\
kpeter@466
   108
        -e "s/\<UndirDigraphAdaptor\>/Undirector/g"\
kpeter@466
   109
        -e "s/\<undirDigraphAdaptor\>/undirector/g"\
kpeter@466
   110
        -e "s/\<ResDigraphAdaptor\>/ResidualDigraph/g"\
kpeter@466
   111
        -e "s/\<resDigraphAdaptor\>/residualDigraph/g"\
kpeter@466
   112
        -e "s/\<SplitDigraphAdaptor\>/SplitNodes/g"\
kpeter@466
   113
        -e "s/\<splitDigraphAdaptor\>/splitNodes/g"\
kpeter@466
   114
        -e "s/\<SubGraphAdaptor\>/SubGraph/g"\
kpeter@466
   115
        -e "s/\<subGraphAdaptor\>/subGraph/g"\
kpeter@466
   116
        -e "s/\<NodeSubGraphAdaptor\>/FilterNodes/g"\
kpeter@466
   117
        -e "s/\<nodeSubGraphAdaptor\>/filterNodes/g"\
kpeter@466
   118
        -e "s/\<ArcSubGraphAdaptor\>/FilterEdges/g"\
kpeter@466
   119
        -e "s/\<arcSubGraphAdaptor\>/filterEdges/g"\
kpeter@466
   120
        -e "s/\<DirGraphAdaptor\>/Orienter/g"\
kpeter@466
   121
        -e "s/\<dirGraphAdaptor\>/orienter/g"\
kpeter@545
   122
        -e "s/\<LpCplex\>/CplexLp/g"\
kpeter@545
   123
        -e "s/\<MipCplex\>/CplexMip/g"\
kpeter@545
   124
        -e "s/\<LpGlpk\>/GlpkLp/g"\
kpeter@545
   125
        -e "s/\<MipGlpk\>/GlpkMip/g"\
kpeter@545
   126
        -e "s/\<LpSoplex\>/SoplexLp/g"\
kpeter@323
   127
    <$i > $TMP
kpeter@323
   128
    mv $TMP $i
kpeter@323
   129
done