tools/lemon-0.x-to-1.x.sh
author Balazs Dezso <deba@inf.elte.hu>
Thu, 24 Jun 2010 09:27:53 +0200
changeset 891 bb70ad62c95f
parent 555 b779c4dc7496
child 691 9e54e3b27db0
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@555
    25
        -e "s/Graph\>/_Digr_aph_label_/g"\
kpeter@343
    26
        -e "s/\<graph\>/_digr_aph_label_/g"\
kpeter@555
    27
        -e "s/Graphs\>/_Digr_aph_label_s/g"\
kpeter@343
    28
        -e "s/\<graphs\>/_digr_aph_label_s/g"\
kpeter@555
    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@555
    36
        -e "s/Edge\>/_Ar_c_label_/g"\
kpeter@343
    37
        -e "s/\<edge\>/_ar_c_label_/g"\
kpeter@555
    38
        -e "s/_edge\>/_ar_c_label_/g"\
kpeter@555
    39
        -e "s/Edges\>/_Ar_c_label_s/g"\
kpeter@343
    40
        -e "s/\<edges\>/_ar_c_label_s/g"\
kpeter@555
    41
        -e "s/_edges\>/_ar_c_label_s/g"\
kpeter@555
    42
        -e "s/\([Ee]\)dge\([a-z]\)/_\1d_ge_label_\2/g"\
kpeter@555
    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@574
    92
        -e "s/\<InvertableMap\>/CrossRefMap/g"\
kpeter@574
    93
        -e "s/\<invertableMap\>/crossRefMap/g"\
kpeter@574
    94
        -e "s/\<DescriptorMap\>/RangeIdMap/g"\
kpeter@574
    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@555
   122
        -e "s/\<LpCplex\>/CplexLp/g"\
kpeter@555
   123
        -e "s/\<MipCplex\>/CplexMip/g"\
kpeter@555
   124
        -e "s/\<LpGlpk\>/GlpkLp/g"\
kpeter@555
   125
        -e "s/\<MipGlpk\>/GlpkMip/g"\
kpeter@555
   126
        -e "s/\<LpSoplex\>/SoplexLp/g"\
kpeter@323
   127
    <$i > $TMP
kpeter@323
   128
    mv $TMP $i
kpeter@323
   129
done