tools/lemon-0.x-to-1.x.sh
author Balazs Dezso <deba@inf.elte.hu>
Thu, 24 Jun 2010 09:27:53 +0200
changeset 982 bb70ad62c95f
parent 602 b779c4dc7496
child 738 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@335
     6
    echo "Usage:"
kpeter@335
     7
    echo "  $0 source-file(s)"
kpeter@335
     8
    exit
alpar@305
     9
fi
alpar@305
    10
kpeter@335
    11
for i in $@
kpeter@335
    12
do
kpeter@335
    13
    echo Update $i...
kpeter@335
    14
    TMP=`mktemp`
kpeter@356
    15
    sed -e "s/\<undirected graph\>/_gr_aph_label_/g"\
kpeter@356
    16
        -e "s/\<undirected graphs\>/_gr_aph_label_s/g"\
kpeter@356
    17
        -e "s/\<undirected edge\>/_ed_ge_label_/g"\
kpeter@356
    18
        -e "s/\<undirected edges\>/_ed_ge_label_s/g"\
kpeter@356
    19
        -e "s/\<directed graph\>/_digr_aph_label_/g"\
kpeter@356
    20
        -e "s/\<directed graphs\>/_digr_aph_label_s/g"\
kpeter@356
    21
        -e "s/\<directed edge\>/_ar_c_label_/g"\
kpeter@356
    22
        -e "s/\<directed edges\>/_ar_c_label_s/g"\
kpeter@335
    23
        -e "s/UGraph/_Gr_aph_label_/g"\
kpeter@355
    24
        -e "s/u[Gg]raph/_gr_aph_label_/g"\
kpeter@602
    25
        -e "s/Graph\>/_Digr_aph_label_/g"\
kpeter@355
    26
        -e "s/\<graph\>/_digr_aph_label_/g"\
kpeter@602
    27
        -e "s/Graphs\>/_Digr_aph_label_s/g"\
kpeter@355
    28
        -e "s/\<graphs\>/_digr_aph_label_s/g"\
kpeter@602
    29
        -e "s/\([Gg]\)raph\([a-z]\)/_\1r_aph_label_\2/g"\
kpeter@355
    30
        -e "s/\([a-z_]\)graph/\1_gr_aph_label_/g"\
kpeter@335
    31
        -e "s/Graph/_Digr_aph_label_/g"\
kpeter@335
    32
        -e "s/graph/_digr_aph_label_/g"\
kpeter@335
    33
        -e "s/UEdge/_Ed_ge_label_/g"\
kpeter@355
    34
        -e "s/u[Ee]dge/_ed_ge_label_/g"\
kpeter@335
    35
        -e "s/IncEdgeIt/_In_cEd_geIt_label_/g"\
kpeter@602
    36
        -e "s/Edge\>/_Ar_c_label_/g"\
kpeter@355
    37
        -e "s/\<edge\>/_ar_c_label_/g"\
kpeter@602
    38
        -e "s/_edge\>/_ar_c_label_/g"\
kpeter@602
    39
        -e "s/Edges\>/_Ar_c_label_s/g"\
kpeter@355
    40
        -e "s/\<edges\>/_ar_c_label_s/g"\
kpeter@602
    41
        -e "s/_edges\>/_ar_c_label_s/g"\
kpeter@602
    42
        -e "s/\([Ee]\)dge\([a-z]\)/_\1d_ge_label_\2/g"\
kpeter@602
    43
        -e "s/\([a-z]\)edge/\1_ed_ge_label_/g"\
kpeter@335
    44
        -e "s/Edge/_Ar_c_label_/g"\
kpeter@335
    45
        -e "s/edge/_ar_c_label_/g"\
kpeter@355
    46
        -e "s/A[Nn]ode/_Re_d_label_/g"\
kpeter@355
    47
        -e "s/B[Nn]ode/_Blu_e_label_/g"\
kpeter@355
    48
        -e "s/A-[Nn]ode/_Re_d_label_/g"\
kpeter@355
    49
        -e "s/B-[Nn]ode/_Blu_e_label_/g"\
kpeter@355
    50
        -e "s/a[Nn]ode/_re_d_label_/g"\
kpeter@355
    51
        -e "s/b[Nn]ode/_blu_e_label_/g"\
kpeter@356
    52
        -e "s/\<UGRAPH_TYPEDEFS\([ \t]*([ \t]*\)typename[ \t]/TEMPLATE__GR_APH_TY_PEDE_FS_label_\1/g"\
kpeter@356
    53
        -e "s/\<GRAPH_TYPEDEFS\([ \t]*([ \t]*\)typename[ \t]/TEMPLATE__DIGR_APH_TY_PEDE_FS_label_\1/g"\
kpeter@356
    54
        -e "s/\<UGRAPH_TYPEDEFS\>/_GR_APH_TY_PEDE_FS_label_/g"\
kpeter@356
    55
        -e "s/\<GRAPH_TYPEDEFS\>/_DIGR_APH_TY_PEDE_FS_label_/g"\
kpeter@335
    56
        -e "s/_Digr_aph_label_/Digraph/g"\
kpeter@335
    57
        -e "s/_digr_aph_label_/digraph/g"\
kpeter@335
    58
        -e "s/_Gr_aph_label_/Graph/g"\
kpeter@335
    59
        -e "s/_gr_aph_label_/graph/g"\
kpeter@335
    60
        -e "s/_Ar_c_label_/Arc/g"\
kpeter@335
    61
        -e "s/_ar_c_label_/arc/g"\
kpeter@335
    62
        -e "s/_Ed_ge_label_/Edge/g"\
kpeter@335
    63
        -e "s/_ed_ge_label_/edge/g"\
kpeter@335
    64
        -e "s/_In_cEd_geIt_label_/IncEdgeIt/g"\
kpeter@335
    65
        -e "s/_Re_d_label_/Red/g"\
kpeter@335
    66
        -e "s/_Blu_e_label_/Blue/g"\
kpeter@335
    67
        -e "s/_re_d_label_/red/g"\
kpeter@335
    68
        -e "s/_blu_e_label_/blue/g"\
kpeter@356
    69
        -e "s/_GR_APH_TY_PEDE_FS_label_/GRAPH_TYPEDEFS/g"\
kpeter@356
    70
        -e "s/_DIGR_APH_TY_PEDE_FS_label_/DIGRAPH_TYPEDEFS/g"\
kpeter@355
    71
        -e "s/DigraphToEps/GraphToEps/g"\
kpeter@355
    72
        -e "s/digraphToEps/graphToEps/g"\
kpeter@335
    73
        -e "s/\<DefPredMap\>/SetPredMap/g"\
kpeter@335
    74
        -e "s/\<DefDistMap\>/SetDistMap/g"\
kpeter@335
    75
        -e "s/\<DefReachedMap\>/SetReachedMap/g"\
kpeter@335
    76
        -e "s/\<DefProcessedMap\>/SetProcessedMap/g"\
kpeter@335
    77
        -e "s/\<DefHeap\>/SetHeap/g"\
kpeter@335
    78
        -e "s/\<DefStandardHeap\>/SetStandradHeap/g"\
kpeter@335
    79
        -e "s/\<DefOperationTraits\>/SetOperationTraits/g"\
kpeter@335
    80
        -e "s/\<DefProcessedMapToBeDefaultMap\>/SetStandardProcessedMap/g"\
kpeter@335
    81
        -e "s/\<copyGraph\>/graphCopy/g"\
kpeter@335
    82
        -e "s/\<copyDigraph\>/digraphCopy/g"\
kpeter@377
    83
        -e "s/\<HyperCubeDigraph\>/HypercubeGraph/g"\
kpeter@335
    84
        -e "s/\<IntegerMap\>/RangeMap/g"\
kpeter@335
    85
        -e "s/\<integerMap\>/rangeMap/g"\
kpeter@335
    86
        -e "s/\<\([sS]\)tdMap\>/\1parseMap/g"\
kpeter@335
    87
        -e "s/\<\([Ff]\)unctorMap\>/\1unctorToMap/g"\
kpeter@335
    88
        -e "s/\<\([Mm]\)apFunctor\>/\1apToFunctor/g"\
kpeter@335
    89
        -e "s/\<\([Ff]\)orkWriteMap\>/\1orkMap/g"\
kpeter@335
    90
        -e "s/\<StoreBoolMap\>/LoggerBoolMap/g"\
kpeter@335
    91
        -e "s/\<storeBoolMap\>/loggerBoolMap/g"\
kpeter@621
    92
        -e "s/\<InvertableMap\>/CrossRefMap/g"\
kpeter@621
    93
        -e "s/\<invertableMap\>/crossRefMap/g"\
kpeter@621
    94
        -e "s/\<DescriptorMap\>/RangeIdMap/g"\
kpeter@621
    95
        -e "s/\<descriptorMap\>/rangeIdMap/g"\
kpeter@335
    96
        -e "s/\<BoundingBox\>/Box/g"\
kpeter@371
    97
        -e "s/\<readNauty\>/readNautyGraph/g"\
kpeter@489
    98
        -e "s/\<RevDigraphAdaptor\>/ReverseDigraph/g"\
kpeter@489
    99
        -e "s/\<revDigraphAdaptor\>/reverseDigraph/g"\
kpeter@489
   100
        -e "s/\<SubDigraphAdaptor\>/SubDigraph/g"\
kpeter@489
   101
        -e "s/\<subDigraphAdaptor\>/subDigraph/g"\
kpeter@489
   102
        -e "s/\<SubGraphAdaptor\>/SubGraph/g"\
kpeter@489
   103
        -e "s/\<subGraphAdaptor\>/subGraph/g"\
kpeter@489
   104
        -e "s/\<NodeSubDigraphAdaptor\>/FilterNodes/g"\
kpeter@489
   105
        -e "s/\<nodeSubDigraphAdaptor\>/filterNodes/g"\
kpeter@489
   106
        -e "s/\<ArcSubDigraphAdaptor\>/FilterArcs/g"\
kpeter@489
   107
        -e "s/\<arcSubDigraphAdaptor\>/filterArcs/g"\
kpeter@489
   108
        -e "s/\<UndirDigraphAdaptor\>/Undirector/g"\
kpeter@489
   109
        -e "s/\<undirDigraphAdaptor\>/undirector/g"\
kpeter@489
   110
        -e "s/\<ResDigraphAdaptor\>/ResidualDigraph/g"\
kpeter@489
   111
        -e "s/\<resDigraphAdaptor\>/residualDigraph/g"\
kpeter@489
   112
        -e "s/\<SplitDigraphAdaptor\>/SplitNodes/g"\
kpeter@489
   113
        -e "s/\<splitDigraphAdaptor\>/splitNodes/g"\
kpeter@489
   114
        -e "s/\<SubGraphAdaptor\>/SubGraph/g"\
kpeter@489
   115
        -e "s/\<subGraphAdaptor\>/subGraph/g"\
kpeter@489
   116
        -e "s/\<NodeSubGraphAdaptor\>/FilterNodes/g"\
kpeter@489
   117
        -e "s/\<nodeSubGraphAdaptor\>/filterNodes/g"\
kpeter@489
   118
        -e "s/\<ArcSubGraphAdaptor\>/FilterEdges/g"\
kpeter@489
   119
        -e "s/\<arcSubGraphAdaptor\>/filterEdges/g"\
kpeter@489
   120
        -e "s/\<DirGraphAdaptor\>/Orienter/g"\
kpeter@489
   121
        -e "s/\<dirGraphAdaptor\>/orienter/g"\
kpeter@602
   122
        -e "s/\<LpCplex\>/CplexLp/g"\
kpeter@602
   123
        -e "s/\<MipCplex\>/CplexMip/g"\
kpeter@602
   124
        -e "s/\<LpGlpk\>/GlpkLp/g"\
kpeter@602
   125
        -e "s/\<MipGlpk\>/GlpkMip/g"\
kpeter@602
   126
        -e "s/\<LpSoplex\>/SoplexLp/g"\
kpeter@335
   127
    <$i > $TMP
kpeter@335
   128
    mv $TMP $i
kpeter@335
   129
done