Ticket #148: dfa.patch

File dfa.patch, 65.9 KB (added by draqo, 5 years ago)

Usage of DFA in all patterns and few errors corrected + small upgrade in owl_test_cuts

  • doc/patterns.texi

    diff -N -r -u -X .ignore gnugo-copy/doc/patterns.texi gnugo/doc/patterns.texi
    old new  
    13971397@file{patterns.h}) by a standalone program @file{mkpat.c}, and the resulting  
    13981398@file{.c} files are compiled and linked into the main GNU Go executable. 
    13991399 
     1400IMPORTANT: After any change in patterns, which uses DFA pattern matching, one 
     1401should optimize pattern databases, in which the changes was made. This is done 
     1402by running a part of @file{optimize} script in @file{patterns} directory. Run 
     1403only parts of this script, which refers to desired databases, because it takes 
     1404a very long time to execute. 
     1405 
    14001406Each pattern is compiled to a header, and a sequence of elements, 
    14011407which are (notionally) checked sequentially at every position and 
    14021408orientation of the board. These elements are relative to the pattern 
  • engine/matchpat.c

    diff -N -r -u -X .ignore gnugo-copy/engine/matchpat.c gnugo/engine/matchpat.c
    old new  
    649649static int 
    650650scan_for_patterns(dfa_rt_t *pdfa, int l, int *dfa_pos, int *pat_list) 
    651651{ 
    652   int delta; 
    653   const state_rt_t *state = pdfa->states + 1; /* initial state */ 
     652  int act = 1; /* initial state */ 
     653  const state_rt_t *state, *start = pdfa->states; 
    654654  int row = 0; /* initial row */ 
    655655  int id = 0; /* position in id_list */ 
     656  int att; 
    656657 
    657658  for (;;) { 
     659    state = start + act; 
     660 
    658661    /* collect patterns indexes */ 
    659     int att = state->att; 
     662    att = state->att; 
    660663    while (att != 0) { 
    661664      pat_list[id++] = pdfa->indexes[att].val; 
    662665      att = pdfa->indexes[att].next; 
    663666    } 
    664667 
    665668    /* go to next state */ 
    666     delta = state->next[*(dfa_pos + spiral[row++][l])]; 
    667     if (!delta) 
     669    act = state->next[*(dfa_pos + spiral[row++][l])]; 
     670    if (!act) 
    668671      return id; /* error state */ 
    669  
    670     state += delta; 
    671672  } 
    672673} 
    673674 
  • engine/owl.c

    diff -N -r -u -X .ignore gnugo-copy/engine/owl.c gnugo/engine/owl.c
    old new  
    50795079    signed char component[MAX_CUTS]; 
    50805080    signed char component2[BOARDMAX]; 
    50815081    int component_size[MAX_CUTS]; 
     5082    int component_libs[MAX_CUTS]; 
    50825083    int num_components; 
    50835084    int biggest_component = -1; 
    50845085    struct connection_data *conn_data; 
     
    51035104     */ 
    51045105    memset(component2, -1, BOARDMAX); 
    51055106    memset(component_size, 0, sizeof(int) * num_components); 
     5107    memset(component_libs, 0, sizeof(int) * num_components); 
    51065108    conn_data = malloc(sizeof(struct connection_data) * num_components); 
    51075109    for (c_id = 0; c_id < num_components; c_id++) { 
    51085110      signed char this_goal[BOARDMAX]; 
     
    51385140      if (closest_component != -1) { 
    51395141        mark_string(pos, component2, closest_component); 
    51405142        component_size[closest_component] += countstones(pos); 
     5143        component_libs[closest_component] += countlib(pos); 
    51415144      } 
    51425145    } 
    51435146 
    5144     /* Now find the biggest_component. */ 
     5147    /* Now find the biggest_component. If some components have the same 
     5148     * size, one with the fewest number of liberties is chosen. 
     5149     */ 
    51455150    { 
    51465151      int biggest_size = 0; 
     5152      int fewest_libs = (size_t)-1; 
    51475153      for (c_id = 0; c_id < num_components; c_id++) 
    51485154        if (component_size[c_id] > biggest_size) { 
    51495155          biggest_size = component_size[c_id]; 
     5156          fewest_libs = component_libs[c_id]; 
    51505157          biggest_component = c_id; 
    51515158        } 
     5159        else if (component_size[c_id] == biggest_size 
     5160                 && component_libs[c_id] < fewest_libs) { 
     5161            fewest_libs = component_libs[c_id]; 
     5162            biggest_component = c_id; 
     5163        } 
    51525164      gg_assert(biggest_component != -1); 
    51535165    } 
    51545166 
  • patterns/Makefile.am

    diff -N -r -u -X .ignore gnugo-copy/patterns/Makefile.am gnugo/patterns/Makefile.am
    old new  
    33 
    44DSP = dfa.dsp patterns.dsp joseki.dsp mkeyes.dsp mkpat.dsp fuseki.dsp 
    55DTR = aa_attackpats.dtr owl_attackpats.dtr owl_defendpats.dtr \ 
    6        owl_vital_apats.dtr 
     6       owl_vital_apats.dtr attack.dtr defense.dtr conn.dtr \ 
     7       barriers.dtr endgame.dtr handicap.dtr influence.dtr \ 
     8       patterns.dtr 
    79 
    810EXTRA_DIST = $(DSP)\ 
    911        $(DTR)\ 
     
    121123takamoku.db : $(srcdir)/takamoku.sgf joseki$(EXEEXT) 
    122124        ./joseki JT $(srcdir)/takamoku.sgf >takamoku.db 
    123125 
    124 patterns.c : $(srcdir)/patterns.db $(srcdir)/patterns2.db mkpat$(EXEEXT) 
    125         ./mkpat -b pat -i $(srcdir)/patterns.db -i$(srcdir)/patterns2.db \ 
    126                -o patterns.c 
     126patterns.c : $(srcdir)/patterns.db $(srcdir)/patterns2.db $(srcdir)/patterns.dtr mkpat$(EXEEXT) 
     127        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/patterns.dtr pat \ 
     128               -i $(srcdir)/patterns.db -i$(srcdir)/patterns2.db -o patterns.c 
    127129 
    128130josekidb.c : $(DBBUILT) mkpat$(EXEEXT) 
    129131        ./mkpat -C joseki $(DBBUILT_INPUT) -o josekidb.c 
    130132 
    131 apatterns.c : $(srcdir)/attack.db mkpat$(EXEEXT) 
    132         ./mkpat -X attpat -i $(srcdir)/attack.db -o apatterns.c 
    133  
    134 dpatterns.c : $(srcdir)/defense.db mkpat$(EXEEXT) 
    135         ./mkpat defpat -i $(srcdir)/defense.db -o dpatterns.c 
    136  
    137 conn.c : $(srcdir)/conn.db mkpat$(EXEEXT) 
    138         ./mkpat -c conn -i $(srcdir)/conn.db -o conn.c 
    139  
    140 endgame.c : $(srcdir)/endgame.db mkpat$(EXEEXT) 
    141         ./mkpat -b endpat -i $(srcdir)/endgame.db -o endgame.c 
     133apatterns.c : $(srcdir)/attack.db $(srcdir)/attack.dtr mkpat$(EXEEXT) 
     134        ./mkpat $(DFAFLAGS) -X -t $(srcdir)/attack.dtr attpat \ 
     135               -i $(srcdir)/attack.db -o apatterns.c 
     136 
     137dpatterns.c : $(srcdir)/defense.db $(srcdir)/defense.dtr mkpat$(EXEEXT) 
     138        ./mkpat $(DFAFLAGS) -t $(srcdir)/defense.dtr defpat \ 
     139               -i $(srcdir)/defense.db -o dpatterns.c 
     140 
     141conn.c : $(srcdir)/conn.db $(srcdir)/conn.dtr mkpat$(EXEEXT) 
     142        ./mkpat $(DFAFLAGS) -c -t $(srcdir)/conn.dtr conn \ 
     143               -i $(srcdir)/conn.db -o conn.c 
     144 
     145endgame.c : $(srcdir)/endgame.db $(srcdir)/endgame.dtr mkpat$(EXEEXT) 
     146        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/endgame.dtr endpat \ 
     147               -i $(srcdir)/endgame.db -o endgame.c 
    142148 
    143149eyes.c: $(srcdir)/eyes.db mkeyes$(EXEEXT) 
    144150        ./mkeyes < $(srcdir)/eyes.db >eyes.c 
    145151 
    146 influence.c : $(srcdir)/influence.db mkpat$(EXEEXT) 
    147         ./mkpat -c influencepat -i $(srcdir)/influence.db -o influence.c 
    148  
    149 barriers.c : $(srcdir)/barriers.db mkpat$(EXEEXT) 
    150         ./mkpat -c -b barrierspat -i $(srcdir)/barriers.db -o barriers.c 
     152influence.c : $(srcdir)/influence.db $(srcdir)/influence.dtr mkpat$(EXEEXT) 
     153        ./mkpat $(DFAFLAGS) -c -t $(srcdir)/influence.dtr influencepat \ 
     154               -i $(srcdir)/influence.db -o influence.c 
     155 
     156barriers.c : $(srcdir)/barriers.db $(srcdir)/barriers.dtr mkpat$(EXEEXT) 
     157        ./mkpat $(DFAFLAGS) -c -b -t $(srcdir)/barriers.dtr barrierspat \ 
     158               -i $(srcdir)/barriers.db -o barriers.c 
    151159 
    152160aa_attackpat.c : $(srcdir)/aa_attackpats.db $(srcdir)/aa_attackpats.dtr mkpat$(EXEEXT) 
    153161        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/aa_attackpats.dtr aa_attackpat \ 
     
    169177               -i $(srcdir)/owl_defendpats.db -o owl_defendpat.c 
    170178 
    171179fusekipat.c : $(srcdir)/fuseki.db mkpat$(EXEEXT) 
    172         ./mkpat -b fusekipat -i $(srcdir)/fuseki.db -o fusekipat.c 
     180        ./mkpat -b -m fusekipat -i $(srcdir)/fuseki.db -o fusekipat.c 
    173181 
    174182fuseki9.c : $(srcdir)/fuseki9.dbz uncompress_fuseki$(EXEEXT) 
    175183        ./uncompress_fuseki 9 $(srcdir)/fuseki9.dbz c >fuseki9.c 
     
    180188fuseki19.c : $(srcdir)/fuseki19.dbz uncompress_fuseki$(EXEEXT) 
    181189        ./uncompress_fuseki 19 $(srcdir)/fuseki19.dbz c >fuseki19.c 
    182190 
    183 handipat.c : $(srcdir)/handicap.db mkpat$(EXEEXT) 
    184         ./mkpat -b handipat -i $(srcdir)/handicap.db -o handipat.c 
     191handipat.c : $(srcdir)/handicap.db $(srcdir)/handicap.dtr mkpat$(EXEEXT) 
     192        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/handicap.dtr handipat \ 
     193               -i $(srcdir)/handicap.db -o handipat.c 
    185194 
    186195 
    187196ETAGS_ARGS = --language none --regex '/^Pattern[ \t]+[a-zA-Z0-9]+/' $(DB_TO_TAG)\ 
  • patterns/Makefile.in

    diff -N -r -u -X .ignore gnugo-copy/patterns/Makefile.in gnugo/patterns/Makefile.in
    old new  
    8080 
    8181DSP = dfa.dsp patterns.dsp joseki.dsp mkeyes.dsp mkpat.dsp fuseki.dsp 
    8282DTR = aa_attackpats.dtr owl_attackpats.dtr owl_defendpats.dtr \ 
    83        owl_vital_apats.dtr 
     83       owl_vital_apats.dtr attack.dtr defense.dtr conn.dtr \ 
     84       barriers.dtr endgame.dtr handicap.dtr influence.dtr \ 
     85       patterns.dtr 
    8486 
    8587 
    8688EXTRA_DIST = $(DSP)\ 
     
    526528takamoku.db : $(srcdir)/takamoku.sgf joseki$(EXEEXT) 
    527529        ./joseki JT $(srcdir)/takamoku.sgf >takamoku.db 
    528530 
    529 patterns.c : $(srcdir)/patterns.db $(srcdir)/patterns2.db mkpat$(EXEEXT) 
    530         ./mkpat -b pat -i $(srcdir)/patterns.db -i$(srcdir)/patterns2.db \ 
    531                -o patterns.c 
     531patterns.c : $(srcdir)/patterns.db $(srcdir)/patterns2.db $(srcdir)/patterns.dtr mkpat$(EXEEXT) 
     532        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/patterns.dtr pat \ 
     533               -i $(srcdir)/patterns.db -i$(srcdir)/patterns2.db -o patterns.c 
    532534 
    533535josekidb.c : $(DBBUILT) mkpat$(EXEEXT) 
    534536        ./mkpat -C joseki $(DBBUILT_INPUT) -o josekidb.c 
    535537 
    536 apatterns.c : $(srcdir)/attack.db mkpat$(EXEEXT) 
    537         ./mkpat -X attpat -i $(srcdir)/attack.db -o apatterns.c 
    538  
    539 dpatterns.c : $(srcdir)/defense.db mkpat$(EXEEXT) 
    540         ./mkpat defpat -i $(srcdir)/defense.db -o dpatterns.c 
    541  
    542 conn.c : $(srcdir)/conn.db mkpat$(EXEEXT) 
    543         ./mkpat -c conn -i $(srcdir)/conn.db -o conn.c 
    544  
    545 endgame.c : $(srcdir)/endgame.db mkpat$(EXEEXT) 
    546         ./mkpat -b endpat -i $(srcdir)/endgame.db -o endgame.c 
     538apatterns.c : $(srcdir)/attack.db $(srcdir)/attack.dtr mkpat$(EXEEXT) 
     539        ./mkpat $(DFAFLAGS) -X -t $(srcdir)/attack.dtr attpat \ 
     540               -i $(srcdir)/attack.db -o apatterns.c 
     541 
     542dpatterns.c : $(srcdir)/defense.db $(srcdir)/defense.dtr mkpat$(EXEEXT) 
     543        ./mkpat $(DFAFLAGS) -t $(srcdir)/defense.dtr defpat \ 
     544               -i $(srcdir)/defense.db -o dpatterns.c 
     545 
     546conn.c : $(srcdir)/conn.db $(srcdir)/conn.dtr mkpat$(EXEEXT) 
     547        ./mkpat $(DFAFLAGS) -c -t $(srcdir)/conn.dtr conn \ 
     548               -i $(srcdir)/conn.db -o conn.c 
     549 
     550endgame.c : $(srcdir)/endgame.db $(srcdir)/endgame.dtr mkpat$(EXEEXT) 
     551        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/endgame.dtr endpat \ 
     552               -i $(srcdir)/endgame.db -o endgame.c 
    547553 
    548554eyes.c: $(srcdir)/eyes.db mkeyes$(EXEEXT) 
    549555        ./mkeyes < $(srcdir)/eyes.db >eyes.c 
    550556 
    551 influence.c : $(srcdir)/influence.db mkpat$(EXEEXT) 
    552         ./mkpat -c influencepat -i $(srcdir)/influence.db -o influence.c 
    553  
    554 barriers.c : $(srcdir)/barriers.db mkpat$(EXEEXT) 
    555         ./mkpat -c -b barrierspat -i $(srcdir)/barriers.db -o barriers.c 
     557influence.c : $(srcdir)/influence.db $(srcdir)/influence.dtr mkpat$(EXEEXT) 
     558        ./mkpat $(DFAFLAGS) -c -t $(srcdir)/influence.dtr influencepat \ 
     559               -i $(srcdir)/influence.db -o influence.c 
     560 
     561barriers.c : $(srcdir)/barriers.db $(srcdir)/barriers.dtr mkpat$(EXEEXT) 
     562        ./mkpat $(DFAFLAGS) -c -b -t $(srcdir)/barriers.dtr barrierspat \ 
     563               -i $(srcdir)/barriers.db -o barriers.c 
    556564 
    557565aa_attackpat.c : $(srcdir)/aa_attackpats.db $(srcdir)/aa_attackpats.dtr mkpat$(EXEEXT) 
    558566        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/aa_attackpats.dtr aa_attackpat \ 
     
    574582               -i $(srcdir)/owl_defendpats.db -o owl_defendpat.c 
    575583 
    576584fusekipat.c : $(srcdir)/fuseki.db mkpat$(EXEEXT) 
    577         ./mkpat -b fusekipat -i $(srcdir)/fuseki.db -o fusekipat.c 
     585        ./mkpat -b -m fusekipat -i $(srcdir)/fuseki.db -o fusekipat.c 
    578586 
    579587fuseki9.c : $(srcdir)/fuseki9.dbz uncompress_fuseki$(EXEEXT) 
    580588        ./uncompress_fuseki 9 $(srcdir)/fuseki9.dbz c >fuseki9.c 
     
    585593fuseki19.c : $(srcdir)/fuseki19.dbz uncompress_fuseki$(EXEEXT) 
    586594        ./uncompress_fuseki 19 $(srcdir)/fuseki19.dbz c >fuseki19.c 
    587595 
    588 handipat.c : $(srcdir)/handicap.db mkpat$(EXEEXT) 
    589         ./mkpat -b handipat -i $(srcdir)/handicap.db -o handipat.c 
     596handipat.c : $(srcdir)/handicap.db $(srcdir)/handicap.dtr mkpat$(EXEEXT) 
     597        ./mkpat $(DFAFLAGS) -b -t $(srcdir)/handicap.dtr handipat \ 
     598               -i $(srcdir)/handicap.db -o handipat.c 
    590599# Tell versions [3.59,3.63) of GNU make to not export all variables. 
    591600# Otherwise a system limit (for SysV at least) may be exceeded. 
    592601.NOEXPORT: 
  • patterns/aa_attackpats.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/aa_attackpats.dtr gnugo/patterns/aa_attackpats.dtr
    old new  
    1 A1      1 
     1A1      0 
    22A2      3 
    33A3      0 
    44A4      0 
    55A5      1 
    66A6      1 
    77A7      1 
    8 A8      1 
     8A7b     4 
     9A7c     1 
     10A8      5 
    911A9      0 
    1012A10     2 
    1113A11     4 
     
    1618A16     6 
    1719A17     0 
    1820A18     6 
    19 A19     1 
    20 A20     6 
     21A19     6 
     22A20     4 
    2123A21     0 
    2224A22     1 
    23 A23     5 
     25A23     2 
     26A24     1 
     27A25     0 
     28A26     1 
  • patterns/attack.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/attack.dtr gnugo/patterns/attack.dtr
    old new  
     1Attack1 0 
     2Attack2 0 
     3Attack4 2 
     4Attack5 0 
     5Attack6 6 
     6Attack10        0 
     7Attack11        6 
     8Attack13        1 
     9Attack14        2 
     10Attack15        0 
     11Attack16        5 
     12Attack17        0 
     13Attack18        6 
     14Attack19        4 
  • patterns/barriers.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/barriers.dtr gnugo/patterns/barriers.dtr
    old new  
     1Barrier1        1 
     2Barrier1b       1 
     3Barrier2        1 
     4Barrier3        1 
     5Barrier4a       3 
     6Barrier4b       4 
     7Barrier5        0 
     8Barrier6        7 
     9Barrier6b       0 
     10Barrier7        0 
     11Barrier8        1 
     12Barrier9        1 
     13Barrier10       0 
     14Barrier11       0 
     15Barrier12       6 
     16Barrier13       0 
     17Barrier14       0 
     18Barrier15       6 
     19Barrier16       5 
     20Barrier16b      6 
     21Barrier17       6 
     22Barrier18       6 
     23Barrier19       0 
     24Barrier20       0 
     25Barrier21       1 
     26Barrier22       0 
     27Barrier22a      6 
     28Barrier22b      0 
     29Barrier23       5 
     30Barrier24       0 
     31Barrier25       6 
     32Barrier26       5 
     33Barrier27       0 
     34Barrier28       0 
     35Barrier29       7 
     36Barrier30       0 
     37Barrier31       0 
     38Barrier32       7 
     39Barrier33       0 
     40Barrier34       7 
     41Barrier34b      0 
     42Barrier35       0 
     43Barrier36       0 
     44Barrier37       7 
     45Barrier38       7 
     46Barrier39       6 
     47Barrier40       0 
     48Barrier41a      3 
     49Barrier41b      3 
     50Barrier42       7 
     51Barrier43       6 
     52Barrier44       0 
     53Barrier45       0 
     54Barrier46       6 
     55Barrier47       0 
     56Barrier48       0 
     57Barrier49       0 
     58Barrier50       0 
     59Barrier51       5 
     60Barrier52       7 
     61Barrier53       7 
     62Barrier54       0 
     63Barrier55       6 
     64Barrier56       6 
     65Barrier56b      0 
     66Barrier57       6 
     67Barrier58       4 
     68Barrier59       1 
     69Barrier60a      3 
     70Barrier60b      3 
     71Barrier61       0 
     72Barrier62       6 
     73Barrier63       0 
     74Barrier64       0 
     75Barrier65       6 
     76Barrier66       7 
     77Barrier67       0 
     78Intrusion1      7 
     79Intrusion1a     7 
     80Intrusion1b     3 
     81Intrusion1c     3 
     82Intrusion1d     3 
     83Intrusion2      3 
     84Intrusion3      7 
     85Intrusion4      0 
     86Intrusion5a     7 
     87Intrusion5b     0 
     88Intrusion6      7 
     89Intrusion7b     6 
     90Intrusion8a     6 
     91Intrusion8b     1 
     92Intrusion9      1 
     93Intrusion10     7 
     94Intrusion11     0 
     95Intrusion12a    0 
     96Intrusion12b    0 
     97Intrusion13     7 
     98Intrusion14     0 
     99Intrusion15     7 
     100Intrusion16     0 
     101Intrusion17     6 
     102Intrusion18     1 
     103Intrusion19     6 
     104Intrusion20     0 
     105Intrusion21     0 
     106Intrusion21b    6 
     107Intrusion22     0 
     108Intrusion23     0 
     109Intrusion24     0 
     110Intrusion25     7 
     111Intrusion26     7 
     112Intrusion27     6 
     113Intrusion28     0 
     114Intrusion29     6 
     115Intrusion30     7 
     116Intrusion30a    0 
     117Intrusion31     7 
     118Intrusion32     7 
     119Intrusion33     5 
     120Intrusion34     0 
     121Intrusion35     7 
     122Intrusion36     1 
     123Intrusion37     1 
     124Intrusion38     7 
     125Intrusion39     1 
     126Intrusion40     5 
     127Intrusion41     5 
     128Intrusion42     7 
     129Intrusion43     4 
     130Intrusion44a    3 
     131Intrusion44b    4 
     132Intrusion45     7 
     133Intrusion46     0 
     134Intrusion47     6 
     135Intrusion48     5 
     136Intrusion49     0 
     137Intrusion50     6 
     138Intrusion51a    0 
     139Intrusion51b    0 
     140Intrusion52     6 
     141Intrusion53     1 
     142Intrusion54     4 
     143Intrusion55     7 
     144Intrusion56     7 
     145Intrusion57     3 
     146Intrusion58     7 
     147Intrusion59     2 
     148Intrusion60     7 
     149Intrusion61     3 
     150Intrusion62     0 
     151Intrusion63     0 
     152Nonterritory1   0 
     153Nonterritory1b  6 
     154Nonterritory1c  6 
     155Nonterritory2   4 
     156Nonterritory3   4 
     157Nonterritory4   7 
     158Nonterritory5   7 
     159Nonterritory6   7 
     160Nonterritory7   0 
     161Nonterritory7b  0 
     162Nonterritory7c  7 
     163Nonterritory8   0 
     164Nonterritory8b  0 
     165Nonterritory9   0 
     166Nonterritory10  5 
     167Nonterritory11  7 
     168Nonterritory12  1 
     169Nonterritory13  0 
     170Nonterritory14  5 
     171Nonterritory15  2 
     172Nonterritory16  7 
     173Nonterritory17  6 
     174Nonterritory17b 0 
     175Nonterritory18a 0 
     176Nonterritory18b 0 
     177Nonterritory19  3 
     178Nonterritory20  7 
     179Nonterritory21  3 
     180Nonterritory22  3 
     181Nonterritory23  1 
     182Nonterritory24  0 
     183Nonterritory25  6 
     184Nonterritory26  0 
     185Nonterritory27  1 
     186Nonterritory28  0 
     187Nonterritory29  0 
     188Nonterritory30  0 
     189Nonterritory31  7 
     190Nonterritory32  1 
     191Nonterritory33  0 
     192Nonterritory34  0 
     193Nonterritory35  3 
     194Nonterritory36  0 
     195Nonterritory37  1 
     196Nonterritory38  6 
     197Nonterritory39  1 
     198Nonterritory40  3 
     199Nonterritory41  5 
     200Nonterritory42  6 
     201Nonterritory43  0 
     202Nonterritory44  7 
     203Nonterritory45  2 
     204Nonterritory46  6 
     205Nonterritory47  1 
     206Nonterritory48  6 
     207Nonterritory49  0 
     208Nonterritory50  6 
     209Nonterritory51  0 
     210Nonterritory52  6 
     211Nonterritory53  1 
     212Nonterritory54  3 
     213Nonterritory55  7 
     214Nonterritory56  6 
     215Nonterritory57  3 
     216Nonterritory58  3 
     217Nonterritory59  0 
     218Nonterritory60  6 
  • patterns/conn.db

    diff -N -r -u -X .ignore gnugo-copy/patterns/conn.db gnugo/patterns/conn.db
    old new  
    161161XO 
    162162O* 
    163163 
    164 :\,B,cutstone2_helper 
     164:\,B 
    165165 
    166 AO 
    167 O* 
     166Ac 
     167b* 
    168168 
    169 ;attack(A) 
     169;attack(A) && cutstone2_helper(A,b,c) 
    170170 
    171171 
    172172Pattern CB11b 
  • patterns/conn.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/conn.dtr gnugo/patterns/conn.dtr
    old new  
     1CB1b    0 
     2CB2b    0 
     3CB3b    2 
     4CB3c    1 
     5CB7     1 
     6CB11b   3 
     7CB15b   0 
     8CB16    2 
     9CB17    0 
     10CB18    1 
     11EC1     0 
     12EC1b    0 
     13EC3a    0 
     14CC101   1 
     15CC103   1 
     16CC104   6 
     17CC105   1 
     18CC106   2 
     19CC107   6 
     20CC108   2 
     21CC109   5 
     22CC401   0 
     23CC402   0 
     24CC501   1 
     25CC502   1 
     26CC502b  1 
     27CC503   0 
     28CC504   1 
     29CC505   1 
     30CC506   0 
     31CC506b  6 
     32CC507   3 
     33CC508   0 
     34CC509   3 
     35CC511   1 
  • patterns/defense.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/defense.dtr gnugo/patterns/defense.dtr
    old new  
     1Def1    1 
     2Def2    0 
     3Def4    0 
     4Def5    0 
     5Def6    0 
     6Def9    5 
     7Def10   7 
     8Def12   6 
     9Def16   4 
     10Def17   4 
     11Def21   2 
     12Def25   6 
     13Def26   3 
     14Def28   1 
     15Def29   0 
     16Def39   0 
     17Def44   0 
     18Def45   3 
     19Def49   3 
     20Def50   0 
     21Def52   4 
     22Def55   6 
     23Def56   0 
     24Def57   3 
     25Def58   0 
     26Def59   0 
     27Def60   0 
     28Def61   7 
     29Def62   7 
     30Def63   1 
     31Def68   0 
     32Def69   5 
     33Def70   7 
  • patterns/dfa.c

    diff -N -r -u -X .ignore gnugo-copy/patterns/dfa.c gnugo/patterns/dfa.c
    old new  
    4040#include <unistd.h> 
    4141#endif 
    4242 
     43#if TIME_WITH_SYS_TIME 
     44# include <sys/time.h> 
     45# include <time.h> 
     46#else 
     47# if HAVE_SYS_TIME_H 
     48#  include <sys/time.h> 
     49# else 
     50#  include <time.h> 
     51# endif 
     52#endif 
     53 
    4354 
    4455/********************* 
    4556 *   Public data     * 
     
    418429    exit(EXIT_FAILURE); 
    419430  } 
    420431 
    421   assert(dfa_minmax_delta(pdfa, -1, 1) > -32768); 
    422   if (dfa_minmax_delta(pdfa, -1, 0)  > 32768) { 
    423     fprintf(of, "#error too many states"); 
    424     fprintf(stderr, "Error: The dfa states are too disperse. Can't fit delta into a short.\n"); 
    425     exit(EXIT_FAILURE); 
    426   } 
    427  
    428432  if (pdfa->last_index + 1 > 65535) { 
    429433    fprintf(of, "#error too many states"); 
    430434    fprintf(stderr, "Error: Too many index entries. Can't fit delta into a short.\n"); 
     
    441445    fprintf(of, "{{"); 
    442446    for (j = 0; j < 4; j++) { 
    443447      int n = pdfa->states[i].next[j]; 
    444       assert((n == 0) || (abs(n - i) < 32768)); 
    445       fprintf(of, "%d", n ? n - i : 0); 
     448      assert((n >= 0) && (n <= 65535)); 
     449      fprintf(of, "%d", n); 
    446450      if (j != 3) 
    447451        fprintf(of, ","); 
    448452    } 
     
    781785} 
    782786 
    783787 
    784 /* 
    785  * Returns max or min jump distance from state to next[next_index] for 
    786  * all states.  If next_index < 0, then max/min for all for states. 
    787  */ 
    788  
    789 int  
    790 dfa_minmax_delta(dfa_t *pdfa, int next_index, int isMin) 
    791 { 
    792  
    793   int ret, i, j; 
    794   assert(next_index <= 3); 
    795   
    796   if (isMin) 
    797     ret = 99999; 
    798   else 
    799     ret = -1; 
    800  
    801   for (i = 0; i <= pdfa->last_state; i++) { 
    802     for (j = 0; j < 4; j++) { 
    803       if (j == next_index || next_index < 0) {  
    804         int next = pdfa->states[i].next[j]; 
    805         if (!next) 
    806           continue; 
    807         if (isMin) { 
    808           if (ret > next - i) 
    809             ret = next - i; 
    810         } 
    811         else { 
    812           if (ret < next - i) 
    813             ret = next - i; 
    814         } 
    815       } 
    816     } 
    817   } 
    818  
    819   return ret; 
    820 } 
    821  
    822788#define DFA_ALIGN       2 
    823789 
    824790/* 
     
    955921dfa_finalize(dfa_t *pdfa)  
    956922{ 
    957923  int j; 
    958   int next_bin = aux_count; 
    959   int last_bin = aux_count + DFA_BINS - 1; 
     924  int next_bin; 
     925  int last_bin; 
     926  aux_count += DFA_BINS; /* To avoid negative values of aux_count. */ 
     927  next_bin = aux_count; 
     928  last_bin = aux_count + DFA_BINS - 1; 
    960929  while (next_bin + 1 != last_bin) { 
    961930    for (j = aux_count + 1; j <= last_bin; j += 2) { 
    962931      if (j+1 == next_bin) 
     
    11981167    if (j == pat->minj) 
    11991168      borders &= ~WEST_EDGE; 
    12001169     
    1201     assert(m + i < DFA_MAX_BOARD * 3 && m + i < DFA_MAX_BOARD * 3); 
     1170    assert(m + i < DFA_MAX_BOARD * 4 && n + j < DFA_MAX_BOARD * 4); 
    12021171    str[k] = work_space[m + i][n + j]; 
    12031172    assert(strchr("XOxo.,a!?$#|-+", str[k])); 
    12041173     
     
    18661835  fprintf(stderr, "Original number of DFA states: %d\n", min_nodes_so_far - 1); 
    18671836  fprintf(stderr, "Trying to optimize in %d iterations\n", iterations); 
    18681837 
    1869   gg_srand(num_nodes_original + patterns->num_patterns); 
     1838  gg_srand(time(0)); 
    18701839 
    18711840  while (iterations--) { 
    18721841    int changed_variations = 0; 
  • patterns/dfa.h

    diff -N -r -u -X .ignore gnugo-copy/patterns/dfa.h gnugo/patterns/dfa.h
    old new  
    7575/* DFA state. */ 
    7676typedef struct state_rt 
    7777{ 
    78   short next[4]; /* Next state to jump to. */ 
     78  unsigned short next[4]; /* Next state to jump to. */ 
    7979  short att;     /* An index in the attributes table. */ 
    8080} state_rt_t; 
    8181 
  • patterns/endgame.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/endgame.dtr gnugo/patterns/endgame.dtr
    old new  
     1EE1     0 
     2EE1a    0 
     3EE2     0 
     4EE2b    0 
     5EE2c    0 
     6EE4     7 
     7EE5     3 
     8EE6     0 
     9EE7     7 
     10EE101   0 
     11EE102   0 
     12EE103   0 
     13EE104   0 
     14EE105   0 
     15EE106   7 
     16EE107   4 
     17EE108   0 
     18EE109   0 
     19EE110   0 
     20EE201   7 
     21EE201b  7 
     22EE202   0 
     23EE203   0 
     24EE204   0 
     25EE205   0 
     26EE206   0 
     27EE301   0 
     28EE302   0 
     29EE303   0 
     30EE401   3 
     31EE402   0 
     32EE403   0 
     33EE404   3 
     34EE404b  7 
     35EE405   7 
     36EE406   6 
     37EE407   7 
     38EE408   7 
     39EE409   3 
     40EE410   7 
     41EE411   0 
     42EE412   0 
     43EE413   0 
     44EE414   7 
     45EE415   4 
     46EE416   7 
     47EE501   0 
     48EE502   0 
     49EE504   3 
     50EE601   0 
     51EE801   0 
     52EE802   7 
     53EE803   1 
     54EE804   0 
     55EE805   7 
     56EE806   0 
     57EE851   7 
     58EE901   0 
     59EE902   0 
     60EE903   0 
     61EE1002  0 
     62EE1003  0 
     63EF101   0 
     64EF102   0 
     65CE1     3 
     66CE2     1 
     67CE3     1 
     68CE4a    1 
     69CE4b    1 
     70CE6     0 
     71CE9     7 
     72CE12    1 
     73CE13    0 
     74CE14    0 
     75CE15    0 
     76CE15b   0 
     77CE16    0 
     78CE16b   0 
     79CE17    6 
     80CE18    6 
     81CE19    0 
     82CE20a   1 
     83CE20b   1 
     84CE20c   1 
     85CE21    7 
     86CE22    1 
     87CE23    7 
     88CE24    1 
     89CE26    0 
     90CE27    1 
     91CE28    6 
     92CE28b   6 
     93CE29    0 
     94CE31    2 
     95CE32    6 
     96CE33    6 
     97CE34    2 
     98EY1     5 
     99EY2     1 
     100EY3     2 
     101EY4     1 
     102EY5     1 
  • patterns/handicap.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/handicap.dtr gnugo/patterns/handicap.dtr
    old new  
     1H1      0 
     2H2      0 
     3H3      0 
     4H4      0 
     5H5      0 
     6H6      0 
     7H7      0 
     8H10     7 
     9H11     7 
     10H12     7 
     11H13     7 
     12H14     3 
     13H15     3 
     14H16     7 
     15H17     7 
     16H18     3 
     17H19     3 
     18H20     4 
     19H21     4 
     20H22     7 
     21H23     3 
     22H24     3 
     23H30     7 
     24H31     0 
     25H32     0 
     26H40     3 
     27H41     3 
     28H42     6 
     29H43     6 
     30H44     6 
     31H45     6 
     32H50     6 
     33H51     5 
     34H52     0 
     35H53     7 
     36H60     0 
     37H61     0 
     38H62     0 
     39H63     0 
     40H70     3 
     41H71     3 
     42H80     3 
     43H81     6 
     44H82     1 
     45H83     1 
     46H84     1 
     47H85     1 
     48H86     1 
     49H87     6 
  • patterns/helpers.c

    diff -N -r -u -X .ignore gnugo-copy/patterns/helpers.c gnugo/patterns/helpers.c
    old new  
    2626 
    2727 
    2828#define TRYMOVE(pos, color) trymove(pos, color, "helper", NO_MOVE) 
    29 #define OFFSET_BY(x, y) AFFINE_TRANSFORM(OFFSET(x, y), trans, move) 
    3029#define ARGS struct pattern *pattern, int trans, int move, int color 
    3130 
    3231 
     
    134133 */ 
    135134 
    136135int 
    137 throw_in_atari_helper(ARGS) 
     136throw_in_atari_helper(int move, int color, int apos, int cpos, int dpos) 
    138137{ 
    139   int apos, bpos, cpos, dpos; 
     138  int bpos; 
    140139  int success = 0; 
    141140  int other = OTHER_COLOR(color); 
    142141  int libs[2]; 
    143   UNUSED(pattern); 
    144142   
    145   apos = OFFSET_BY(0, 1); 
    146   cpos = OFFSET_BY(-1, 1); 
    147   dpos = OFFSET_BY(1, 1); 
    148  
    149143  /* Find second liberty of the stone a. */ 
    150144  findlib(apos, 2, libs); 
    151145  if (libs[0] != move) 
     
    210204 */ 
    211205 
    212206int  
    213 cutstone2_helper(ARGS) 
     207cutstone2_helper(int move, int apos, int bpos, int cpos) 
    214208{ 
    215   int apos; 
    216   int bpos; 
    217   int cpos; 
    218209  int dpos; 
    219   UNUSED(pattern); 
    220   UNUSED(color); 
    221210 
    222211  if (stackp > 0) 
    223212    return 0; 
    224213   
    225   apos = OFFSET_BY(-1, -1); 
    226   bpos = OFFSET_BY(-1,  0); 
    227   cpos = OFFSET_BY( 0, -1); 
    228  
    229214  if (worm[apos].defense_codes[0] == 0) 
    230215    return 0; 
    231216   
  • patterns/influence.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/influence.dtr gnugo/patterns/influence.dtr
    old new  
     1Enhance1        1 
     2Enhance2        0 
     3Enhance3        3 
     4Enhance4        0 
     5Enhance5        6 
     6Enhance6        0 
     7Enhance7        4 
     8Enhance8        7 
     9Enhance9        4 
     10Enhance10       7 
     11Enhance11       0 
     12Enhance12       3 
     13Enhance13       3 
     14Enhance14       0 
     15Enhance15       0 
     16Enhance16       1 
     17Enhance17       1 
     18Enhance18       0 
     19Enhance19       0 
     20Enhance20       3 
     21Enhance21       0 
     22Enhance22       4 
     23Enhance23       3 
     24Enhance24       0 
     25Enhance25       4 
     26Enhance26       2 
     27Invade1 3 
     28Invade2 2 
     29Invade3 2 
     30Invade4 3 
     31Invade4b        3 
     32Invade4c        3 
     33Invade5 2 
     34Invade6 3 
     35Invade6b        3 
     36Invade6c        3 
     37Invade7a        0 
     38Invade7b        1 
     39Invade7c        1 
     40Invade7d        6 
     41Invade8 5 
     42Invade9 5 
     43Invade10        3 
     44Invade11        3 
     45Invade12        2 
     46Invade13        0 
     47Invade14        7 
     48Invade15        3 
     49Invade16        2 
     50Invade17        3 
  • patterns/mkpat.c

    diff -N -r -u -X .ignore gnugo-copy/patterns/mkpat.c gnugo/patterns/mkpat.c
    old new  
    5555        -p = compile general pattern database (the default)\n\ 
    5656        -c = compile connections database\n\ 
    5757        -C = compile a corner pattern database\n\ 
     58  Usage of DFA (cannot be used with a corner pattern database):\n\ 
    5859        -D = compile a DFA database (allows fast matching)\n\ 
    5960        -d <iterations> = don't generate database, but optimize a DFA\n\ 
    6061                          transformation file instead\n\ 
     
    9192#define DB_GENERAL      ((int) 'p') 
    9293#define DB_CONNECTIONS  ((int) 'c') 
    9394#define DB_CORNER       ((int) 'C') 
    94 #define DB_DFA          ((int) 'D') 
     95#define USE_DFA         ((int) 'D') 
    9596#define OPTIMIZE_DFA    ((int) 'd') 
    9697 
    9798/* code assumes that ATT_O and ATT_X are 1 and 2 (in either order) 
     
    150151 
    151152static int ci = -1, cj = -1;    /* position of origin (first piece element) 
    152153                                   relative to top-left */ 
     154static int fixed_pat_anchor = 0; /* if anchor for checked pattern is fixed */ 
    153155static int patno;               /* current pattern */ 
    154156static int discard_pattern = 0; /* Set to nonzero to discard a pattern (if e.g. 
    155157                                 * it is too large or duplicated). */ 
     
    437439                "adjacent_to_defendable_stone_in_atari(%s)"}, 
    438440  {"good_attack_threat",        2, 0, 0.01, "register_good_attack_threat(%s, %s)"}, 
    439441  {"known_safe_move",           1, 0, 0.01, "register_known_safe_move(%s)"}, 
    440   {"break_mirror_helper",       1, 0, 0.01, "break_mirror_helper(%s, color)"} 
     442  {"break_mirror_helper",       1, 0, 0.01, "break_mirror_helper(%s, color)"}, 
     443  {"throw_in_atari_helper",     3, 0, 3.00, "throw_in_atari_helper(move, color, %s, %s, %s)"}, 
     444  {"cutstone2_helper",          3, 0, 3.00, "cutstone2_helper(move, %s, %s, %s)"} 
    441445}; 
    442446 
    443447 
     
    482486 
    483487/* options */ 
    484488int verbose = 0;               /* -v */ 
    485 static int database_type = 0;  /* -p (default), -c, -f, -C, -D or -T */ 
     489static int database_type = 0;  /* -p (default), -c or -C */ 
     490static int use_dfa = 0;        /* -D or -d */ 
    486491static int anchor = 0;         /* Whether both O and/or X may be anchors. 
    487492                                * -b for both. -X for only X. 
    488493                                */ 
     
    547552{ 
    548553  struct hint_data *hint; 
    549554 
    550   if (database_type == DB_DFA || database_type == OPTIMIZE_DFA) { 
     555  if (use_dfa) { 
    551556    for (hint = first_hint; hint; hint = hint->next) { 
    552557      if (!strcmp(hint->name, pattern_name)) 
    553558        return hint->transformation_hint; 
    554559    } 
    555560  } 
    556561 
    557   return database_type == OPTIMIZE_DFA ? -1 : 0; 
     562  return use_dfa == OPTIMIZE_DFA ? -1 : 0; 
    558563} 
    559564 
    560565 
     
    706711  if (verbose) 
    707712    fprintf(stderr, "Add   :%s\n", pattern[index].name); 
    708713 
    709   if (database_type == DB_DFA) { 
     714  if (use_dfa == USE_DFA) { 
    710715    float ratio; 
    711716 
    712717    dfa_rotate_string(strrot, str, transformation_hint); 
     
    729734    int rot_start = 0; 
    730735    int rot_stop = pattern[index].trfno; 
    731736 
    732     assert(database_type == OPTIMIZE_DFA); 
     737    assert(use_dfa == OPTIMIZE_DFA); 
    733738 
    734739    if (rot_stop == 5) { 
    735740      rot_start = 2; 
     
    900905    } 
    901906 
    902907    if (off == ATT_Q) { 
     908      fixed_pat_anchor = 1; 
    903909      off = ATT_O; 
    904910      ci = maxi; 
    905911      cj = j; 
     
    908914    } 
    909915 
    910916    if (off == ATT_Y) { 
     917      fixed_pat_anchor = 1; 
    911918      off = ATT_X; 
    912919      ci = maxi; 
    913920      cj = j; 
     
    11081115    ci = 0; 
    11091116    cj = 0; 
    11101117  } 
    1111   else if (choose_best_anchor) {  
     1118  else if (choose_best_anchor 
     1119           && (!fixed_pat_anchor || database_type != DB_CONNECTIONS)) { 
    11121120 
    11131121    /* Try to find a better anchor if 
    11141122     * the -m option is set. 
     
    17851793  int used_nodes = 0; 
    17861794 
    17871795  assert(ci != -1 && cj != -1); 
    1788   assert(database_type == DB_DFA || transformation_hint == 0); 
     1796  assert(use_dfa == USE_DFA || transformation_hint == 0); 
    17891797 
    17901798  /* sort the elements so that least-likely elements are tested first. */ 
    17911799  gg_sort(elements, el, sizeof(struct patval_b), compare_elements); 
     
    18261834       * elements for all possible transformations). 
    18271835       */ 
    18281836      if ((database_type == DB_GENERAL || database_type == DB_CONNECTIONS) 
    1829           && ci-1 <= x && x <= ci+1 && cj-1 <= y && y <= cj+1) 
     1837          && !use_dfa && ci-1 <= x && x <= ci+1 && cj-1 <= y && y <= cj+1) 
    18301838        continue; 
    18311839#endif /* GRID_OPT == 1 */ 
    18321840 
     
    18341842       * they might be needed for goal checking or by callback function, so 
    18351843       * we check it before discarding an element. 
    18361844       */ 
    1837       if (database_type == DB_DFA) 
     1845      if (use_dfa) 
    18381846        continue; 
    18391847    } /* If the element is discardable. */ 
    18401848 
     
    24092417  fprintf(outfile, "  -1,\n");  /* fixed_for_size */ 
    24102418  fprintf(outfile, "  %d,\n", fixed_anchor); 
    24112419  fprintf(outfile, "  %s\n", prefix); 
    2412   if (database_type == DB_DFA) 
     2420  if (use_dfa) 
    24132421    fprintf(outfile, " ,& dfa_%s\n", prefix); /* pointer to the wired dfa */ 
    24142422  else 
    24152423    fprintf(outfile, " , NULL\n"); /* pointer to a possible dfa */ 
     
    24592467 
    24602468      case 'p': 
    24612469      case 'c': 
    2462       case 'f': 
    24632470      case 'C': 
    2464       case 'D': 
    2465       case 'd': 
    24662471        if (database_type) { 
    24672472          fprintf(stderr, "Error : More than one database type specified (-%c and -%c)\n", 
    24682473                  database_type, i); 
    24692474          return 1; 
    24702475        } 
     2476        if (i == 'C' && use_dfa) { 
     2477          fprintf(stderr, "Error : Cannot use DFA with a corner pattern database\n"); 
     2478          return 1; 
     2479        } 
    24712480        database_type = i; 
     2481        break; 
     2482 
     2483      case 'd': 
     2484      case 'D': 
     2485        use_dfa = i; 
    24722486        if (i == 'd') { 
    24732487          iterations = strtol(gg_optarg, NULL, 10); 
    24742488          if (iterations < 0) { 
     
    24762490            return 1; 
    24772491          } 
    24782492        } 
     2493        if (database_type == 'C') { 
     2494          fprintf(stderr, "Error : Cannot use DFA with a corner pattern database\n"); 
     2495          return 1; 
     2496        } 
    24792497        break; 
    24802498 
    24812499      case 'O': 
     
    25172535 
    25182536    if (!input_files) 
    25192537      input_file_names[input_files++] = stdin_name; 
    2520     if (output_file_name && database_type != OPTIMIZE_DFA) { 
     2538    if (output_file_name && use_dfa != OPTIMIZE_DFA) { 
    25212539      output_FILE = fopen(output_file_name, "wb"); 
    25222540      if (output_FILE == NULL) { 
    25232541        fprintf(stderr, "Error : Cannot write to file %s\n", output_file_name); 
    25242542        return 1; 
    25252543      } 
    25262544    } 
    2527     if (transformations_file_name 
    2528         && (database_type == DB_DFA || database_type == OPTIMIZE_DFA)) { 
     2545    if (transformations_file_name && use_dfa) { 
    25292546      transformations_FILE = fopen(transformations_file_name, "r"); 
    25302547      if (transformations_FILE) { 
    25312548        parse_transformations_file(transformations_FILE); 
    25322549        fclose(transformations_FILE); 
    25332550      } 
    2534       else if (database_type == DB_DFA) { 
     2551      else if (use_dfa == USE_DFA) { 
    25352552        fprintf(stderr, "Error : Cannot read file %s\n", 
    25362553                transformations_file_name); 
    25372554        return 1; 
     
    25492566 
    25502567  prefix = argv[gg_optind]; 
    25512568 
    2552   if (database_type == DB_DFA) { 
     2569  if (use_dfa == USE_DFA) { 
    25532570    dfa_init(); 
    25542571    new_dfa(&dfa, "mkpat's dfa"); 
    25552572  } 
    25562573  else if (database_type == DB_CORNER) 
    25572574    corner_init(); 
    25582575 
    2559   if (database_type == OPTIMIZE_DFA) { 
     2576  if (use_dfa == OPTIMIZE_DFA) { 
    25602577    if (transformations_file_name == NULL) { 
    25612578      fprintf(stderr, "error : transformation file required (use -t option)\n"); 
    25622579      return 1; 
     
    28422859      else if (line[0] == ':') { 
    28432860        if (state == 2 || state == 3) { 
    28442861          finish_pattern(line); 
     2862          fixed_pat_anchor = 0; 
    28452863           
    28462864          if (!discard_pattern) { 
    2847             if (database_type == DB_DFA || database_type == OPTIMIZE_DFA) 
     2865            if (use_dfa) 
    28482866              write_to_dfa(patno); 
    28492867            if (database_type == DB_CORNER) 
    28502868              corner_add_pattern(); 
    2851             else if (database_type != OPTIMIZE_DFA) 
     2869            else if (use_dfa != OPTIMIZE_DFA) 
    28522870              write_elements(output_FILE); 
    28532871          } 
    28542872 
     
    29432961    fprintf(stderr, "%d / %d patterns have edge-constraints\n", 
    29442962            pats_with_constraints, patno); 
    29452963 
    2946   if (database_type != OPTIMIZE_DFA) { 
     2964  if (use_dfa != OPTIMIZE_DFA) { 
    29472965    /* Forward declaration, which autohelpers might need. */ 
    29482966    if (database_type != DB_CORNER) 
    29492967      fprintf(output_FILE, "static struct pattern %s[%d];\n\n", prefix, patno + 1); 
     
    29602978 
    29612979    write_patterns(output_FILE); 
    29622980 
    2963     if (database_type == DB_DFA) { 
     2981    if (use_dfa) { 
    29642982      fprintf(stderr, "---------------------------\n"); 
    29652983 
    29662984      dfa_finalize(&dfa); 
     
    30043022              current_file); 
    30053023    } 
    30063024  } 
    3007   else {        /* database_type == OPTIMIZE_DFA */ 
     3025  else {        /* use_dfa == OPTIMIZE_DFA */ 
    30083026    int k; 
    30093027    int *optimized_variations; 
    30103028 
     
    30173035    optimized_variations = dfa_patterns_optimize_variations(&dfa_pats, 
    30183036                                                            iterations); 
    30193037    for (k = 0; k < patno; k++) { 
    3020       fprintf(transformations_FILE, "%s\t%d\n", pattern_names[k], 
    3021               optimized_variations[k]); 
     3038      int var = optimized_variations[k]; 
     3039      if (pattern[k].trfno == 5) 
     3040        var += 2; 
     3041      fprintf(transformations_FILE, "%s\t%d\n", pattern_names[k], var); 
    30223042    } 
    30233043 
    30243044    dfa_patterns_clear(&dfa_pats); 
  • patterns/optimize

    diff -N -r -u -X .ignore gnugo-copy/patterns/optimize gnugo/patterns/optimize
    old new  
     1# number of iterations should be about (size of db_file x 20) to find the 
     2# best (or almost the best) optimization 
     3 
     4mkpat -d 120000 -b -m -i aa_attackpats.db aa_attackpats -t aa_attackpats.dtr 
     5mkpat -d 1400000 -b -m -i owl_attackpats.db owl_attackpats -t owl_attackpats.dtr 
     6mkpat -d 1700000 -b -m -i owl_defendpats.db owl_defendpats -t owl_defendpats.dtr 
     7mkpat -d 260000 -b -m -i owl_vital_apats.db owl_vital_apats -t owl_vital_apats.dtr 
     8mkpat -d 80000 -X -m -i attack.db attack -t attack.dtr 
     9mkpat -d 100000 -m -i defense.db defense -t defense.dtr 
     10mkpat -d 200000 -c -m -i conn.db conn -t conn.dtr 
     11mkpat -d 640000 -c -b -m -i barriers.db barriers -t barriers.dtr 
     12mkpat -d 500000 -b -m -i endgame.db endgame -t endgame.dtr 
     13mkpat -d 260000 -b -m -i handicap.db handicap -t handicap.dtr 
     14mkpat -d 150000 -c -m -i influence.db influence -t influence.dtr 
     15mkpat -d 3700000 -b -m -i patterns.db -i patterns2.db patterns -t patterns.dtr 
  • patterns/owl_attackpats.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/owl_attackpats.dtr gnugo/patterns/owl_attackpats.dtr
    old new  
    11A1      0 
    22A2      0 
    3 A3      1 
     3A3      7 
    44A101    5 
    55A102    0 
    6 A103    7 
     6A103    1 
    77A104    7 
    88A105    7 
    99A106    7 
    1010A107    6 
    11 A108    0 
     11A108    3 
    1212A109    1 
    1313A110    0 
    1414A111    6 
    15 A112    1 
     15A112    7 
    1616A113    4 
    17 A114    0 
     17A114    7 
    1818A115    0 
    1919A201    7 
    20 A203    7 
     20A203    0 
    2121A204    0 
    2222A205    7 
    2323A205b   0 
     
    2727A207b   7 
    2828A207c   7 
    2929A207d   7 
    30 A208a   4 
     30A208a   3 
    3131A208b   3 
    3232A208c   6 
    33 A209    0 
    34 A210    0 
     33A208d   3 
     34A208e   3 
     35A209    5 
     36A210    6 
    3537A211    0 
    36 A214    1 
    37 A215    1 
    38 A216    0 
    39 A216b   0 
     38A214    6 
     39A215    6 
     40A216    6 
     41A216b   6 
    4042A217    0 
    4143A217b   0 
    4244A217c   0 
     
    5961A230    0 
    6062A231    6 
    6163A232    0 
    62 A233    7 
     64A232b   6 
     65A233    0 
    6366A234    1 
    6467A235    5 
    6568A236    0 
    6669A237    0 
    67 A238    6 
     70A238    7 
     71A239    0 
     72A240    7 
     73A241    6 
     74A242    3 
    6875A301    0 
    6976A302    0 
    7077A305    0 
    71 A401    5 
    72 A401a   5 
    73 A402    5 
    74 A403    1 
    75 A403b   1 
     78A401    1 
     79A401a   1 
     80A402    1 
     81A403    6 
     82A403b   6 
    7683A404    1 
    7784A406    3 
    7885A406b   3 
    79 A406c   4 
    80 A407    2 
     86A406c   3 
     87A406d   3 
     88A407    5 
     89A407b   5 
    8190A408    4 
    8291A409    6 
    8392A410    0 
    84 A411    4 
    85 A411a   4 
    86 A413a   3 
    87 A414    2 
    88 A414a   2 
     93A411    2 
     94A411a   2 
     95A413a   4 
     96A414    5 
     97A414a   5 
    8998A415    3 
    9099A416    6 
    91 A417    0 
     100A417    6 
    92101A418    0 
    93102A419    6 
    94103A419b   6 
    95 A420    0 
     104A420    6 
    96105A421    3 
    97106A422    0 
    98107A422a   0 
    99108A423    1 
    100109A423a   1 
    101 A424    7 
     110A424    0 
     111A425    0 
    102112A501    7 
    103113A502    6 
    104 A503    0 
     114A503    6 
     115A503b   7 
    105116A504    0 
    106117A505    0 
    107118A506    6 
    108119A507    1 
    109120A508    7 
    110 A509    1 
    111 A510    3 
     121A509    6 
     122A510    0 
    112123A511    0 
    113 A512    3 
    114 A513    0 
     124A512    7 
     125A513    6 
    115126A514    6 
    116127A515    7 
    117128A516    0 
    118129A517    0 
     130A518    7 
    119131A601    1 
    120132A602    1 
    121133A603    0 
    122134A603b   0 
    123 A604    7 
     135A604    0 
    124136A605    7 
    125137A606    0 
    126 A607    7 
    127 A607b   7 
    128 A608    7 
     138A607a   0 
     139A607b   0 
     140A607c   0 
     141A607d   6 
     142A608    0 
    129143A609    0 
    130144A610    7 
    131145A611    0 
    132146A612    0 
    133 A613    3 
    134 A614    3 
     147A613    7 
     148A614    7 
    135149A615    0 
    136150A616    6 
    137151A617    0 
     
    139153A619    3 
    140154A620    0 
    141155A621    7 
    142 A701    4 
    143 A702    4 
     156A622    0 
     157A623    0 
     158A626    7 
     159A701    2 
     160A702    2 
    144161A703    6 
    145 A704    1 
    146 A705b   1 
     162A704    6 
     163A705b   6 
    147164A706    6 
    148 A707    6 
     165A707    1 
    149166A708    0 
    150167A709    1 
    151168A710    0 
     
    153170A712    0 
    154171A713    6 
    155172A714    6 
    156 A715    0 
     173A715    7 
    157174A716    6 
    158175A717    7 
    159 A718    7 
    160 A719    0 
     176A718    0 
     177A719    7 
     178A719b   0 
    161179A720    7 
    162 A721    0 
    163 A801    0 
     180A721    7 
     181A801    7 
    164182A802    1 
    165183A803    0 
    166184A804    0 
     
    170188A808    7 
    171189A809    6 
    172190A810    1 
    173 A811    1 
     191A811    6 
    174192A812    2 
     193A813    7 
     194A814    0 
    175195A901    3 
    176196A902    0 
    177 A902b   0 
     197A902b   7 
    178198A903    0 
    179199A904    3 
    180 A905    1 
     200A905    6 
     201A906a   0 
     202A906b   0 
    181203A907    0 
    182204A908    0 
    183205A909    7 
    184206A910    0 
    185207A911    0 
    186208A912    7 
    187 A913    6 
    188 A914    6 
     209A913    0 
     210A914    0 
    189211A915    0 
    190212A916    0 
    191 A917    3 
    192 A918    7 
     213A917    0 
     214A918    4 
    193215A919    0 
    194 A920    7 
     216A920    0 
     217A921    0 
    195218A1001   0 
    196219A1001b  0 
    197220A1002   3 
    198221A1003   3 
    199222A1005   3 
    200223A1005b  3 
    201 A1006   7 
    202 A1006b  7 
     224A1006   0 
     225A1006b  0 
    203226A1008   2 
    204227A1008b  6 
    205 A1009   6 
     228A1009   0 
    206229A1010   3 
    207 A1011   7 
     230A1011   0 
    208231A1012   0 
    209232A1013   6 
    210233A1014   7 
     
    212235A1015a  6 
    213236A1016   7 
    214237A1016a  7 
    215 A1017   1 
     238A1017   2 
    216239A1018   0 
    217240A1019   1 
    218 A1020   2 
     241A1020   1 
    219242A1021   6 
    220 A1022   2 
     243A1022   5 
    221244A1023   7 
     245A1024a  0 
     246A1024b  0 
    222247A1100   0 
    223248A1101   1 
    224249A1101b  1 
     
    227252A1104   4 
    228253A1105   0 
    229254A1106   0 
    230 A1107   1 
     255A1107   0 
    231256A1107b  1 
    232257A1107c  1 
    233258A1108   0 
    234259A1109   7 
    235260A1110   0 
    236 A1111   6 
    237 A1112   6 
    238 A1113   2 
    239 A1114   3 
     261A1111   0 
     262A1112   0 
     263A1113   4 
     264A1114   4 
    240265A1115   6 
    241266A1116   0 
    242 A1117   2 
    243 A1117a  2 
    244 A1118   0 
     267A1117   5 
     268A1117a  5 
     269A1118   3 
    245270A1119   6 
    246271A1121   1 
    247272A1122   0 
    248273A1122a  0 
     274A1122b  0 
    249275A1123   7 
    250276A1123a  7 
    251 A1124   7 
    252 A1124a  7 
     277A1124   0 
     278A1124a  0 
     279A1124b  0 
    253280A1125   1 
    254281A1126   2 
    255282A1127   2 
    256283A1127a  2 
    257 A1128   7 
     284A1128   0 
    258285A1129   6 
    259286A1130   3 
    260 A1131   6 
     287A1131   0 
    261288A1132   0 
    262 A1133a  0 
    263 A1133b  0 
    264 A1201   0 
    265 A1203   2 
     289A1133a  6 
     290A1133b  6 
     291A1134   0 
     292A1134b  0 
     293A1134c  0 
     294A1134d  0 
     295A1135   7 
     296A1136   6 
     297A1137   7 
     298A1138   7 
     299A1139   1 
     300A1140a  0 
     301A1140b  0 
     302A1141   1 
     303A1141b  1 
     304A1201   7 
     305A1203   1 
    266306A1204   5 
    267 A1205   1 
    268 A1206   1 
     307A1205   5 
     308A1206   5 
    269309A1207   3 
    270 A1208   6 
     310A1208   3 
    271311A1209   0 
     312A1210   0 
    272313A1301   0 
    273 A1302   3 
    274 A1303   4 
     314A1302   7 
     315A1303   3 
    275316A1303b  7 
     317A1303c  3 
    276318A1304   7 
    277319A1305   0 
    278320A1305b  7 
     
    282324A1309   7 
    283325A1310   0 
    284326A1310b  0 
    285 A1311   6 
    286 A1311b  6 
     327A1311   0 
     328A1311b  0 
    287329A1312   7 
    288 A1313   6 
     330A1313   7 
    289331A1314   7 
    290332A1315   0 
    291 A1316   0 
    292 A1317   7 
    293 A1318   0 
     333A1316   7 
     334A1317   0 
     335A1318   7 
    294336A1319   7 
    295337A1319b  0 
    296338A1319c  7 
    297339A1320   3 
    298 A1321   0 
    299 A1322   4 
     340A1321   7 
     341A1322   3 
    300342A1323   0 
    301 A1324   7 
     343A1324   5 
    302344A1325   0 
    303 A1326   2 
    304 A1327   0 
     345A1326   7 
     346A1327   7 
    305347A1328   7 
    306348A1329   7 
    307 A1330   0 
     349A1330   7 
    308350A1331   3 
    309 A1332   7 
    310 A1333   7 
    311 A1334   7 
     351A1332   0 
     352A1333   3 
     353A1334   0 
    312354A1335   7 
    313355A1335b  0 
    314 A1336   0 
    315 A1337   0 
    316 A1338   6 
     356A1336   7 
     357A1337   7 
     358A1338   0 
    317359A1339   0 
    318360A1340   7 
    319361A1341   0 
    320362A1342   3 
    321 A1343   3 
     363A1343   7 
    322364A1344   0 
    323 A1345   3 
    324 A1346   3 
     365A1345   7 
     366A1346   6 
    325367A1347   7 
    326 A1348   0 
    327 A1349a  0 
    328 A1349b  0 
     368A1348   7 
     369A1349a  6 
     370A1349b  6 
    329371A1350   7 
     372A1351   3 
     373A1352a  7 
     374A1352b  7 
    330375A1401   0 
    331 A1403   7 
     376A1403   0 
    332377A1501   1 
    333378A1502   1 
    334379A1503   5 
    335380A1503a  5 
    336 A1504   6 
     381A1504   0 
    337382A1601   6 
    338383A1602   3 
    339 A1603   7 
     384A1603   0 
    340385A1604   0 
    341386A1605   0 
    342387A1606   3 
    343 A1607   7 
     388A1607   0 
    344389A1608   3 
    345390A1608b  0 
    346391A1609   0 
    347392A1610   0 
    348393A1611   0 
    349 A1612   0 
     394A1612   6 
    350395A1613   0 
     396AC01    0 
     397AE01    3 
  • patterns/owl_defendpats.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/owl_defendpats.dtr gnugo/patterns/owl_defendpats.dtr
    old new  
    1 D1      5 
    2 D2      7 
    3 D3      7 
     1D1      1 
     2D2      3 
     3D3      0 
    44D4      1 
    55D100    0 
    6 D101    4 
     6D101    7 
    77D102    0 
    88D103    0 
    9 D104    0 
     9D104    7 
    1010D104b   0 
    11 D105    5 
     11D105    4 
    1212D106    7 
    1313D107    0 
    1414D108    0 
    15 D109    0 
     15D109    6 
    1616D110    0 
    17 D111    7 
     17D111    0 
    1818D112    0 
    1919D113    7 
    2020D114    6 
     
    2323D117    0 
    2424D118    7 
    2525D119    7 
    26 D120    0 
     26D120    6 
    2727D121    7 
    28 D122    0 
     28D122    6 
    2929D123    6 
    3030D124    7 
     31D125    6 
     32D126    0 
     33D127    0 
    3134D200    0 
    3235D201    0 
    3336D202    0 
    34 D203    0 
    35 D204    6 
     37D203    7 
     38D204    0 
    3639D205    0 
    3740D206    0 
    3841D207    0 
    3942D208    6 
    40 D209    0 
    41 D209a   0 
    42 D209b   0 
     43D209    6 
     44D209a   6 
     45D209b   7 
    4346D210    0 
    44 D211    4 
     47D211    1 
    4548D212    0 
    4649D213    6 
    4750D214    0 
     
    5457D218    0 
    5558D220    0 
    5659D221    0 
     60D221b   0 
    5761D222    0 
    58 D223    7 
     62D223    3 
    5963D224    6 
    6064D225    7 
    6165D226    6 
     
    6468D229    3 
    6569D230    7 
    6670D231    4 
    67 D232    0 
     71D232    7 
    6872D233    0 
     73D234    3 
    6974D300    1 
    70 D301    6 
     75D301    1 
    7176D302    7 
    7277D303    6 
    7378D304    6 
    7479D305    7 
    7580D306    6 
    76 D307    7 
     81D307    0 
    7782D308    3 
    7883D309    6 
    7984D309a   6 
    8085D309b   6 
    81 D310a   0 
    82 D310b   0 
     86D310a   5 
     87D310b   5 
    8388D311    0 
    84 D313    3 
     89D313    7 
    8590D314    7 
    86 D315    1 
     91D315    0 
    8792D316    6 
    8893D317    6 
    8994D318    6 
    90 D319    7 
    91 D320    2 
    92 D400    1 
    93 D401    1 
    94 D402    6 
    95 D403    5 
     95D319    0 
     96D320    5 
     97D400    5 
     98D401    5 
     99D402    0 
     100D403    0 
    96101D404    6 
    97102D405    7 
    98 D406    0 
    99 D407    0 
     103D406    6 
     104D407    7 
    100105D408    0 
    101106D409    0 
    102107D500    0 
    103108D502    0 
    104109D503    3 
    105 D504    1 
     110D503b   3 
     111D504    5 
    106112D505    0 
    107113D506    0 
    108114D507    0 
    109115D508    0 
    110 D509    7 
    111 D510    6 
    112 D511    7 
     116D509    0 
     117D510    1 
     118D511    3 
    113119D512    0 
    114120D513    0 
    115 D514    6 
     121D514    0 
    116122D515    0 
    117 D600    2 
    118 D600a   2 
     123D600    0 
     124D600a   0 
    119125D602    1 
    120 D603    1 
     126D603    0 
    121127D604    0 
    122128D604a   0 
    123129D605    7 
    124 D606    1 
     130D606    0 
    125131D607    7 
    126132D608    0 
    127133D608b   6 
    128134D609    6 
    129135D610    0 
    130 D611    6 
    131 D612    7 
    132 D613    3 
     136D611    0 
     137D612    0 
     138D613    0 
    133139D614    0 
    134140D614b   0 
    135141D615    3 
    136 D616    2 
     142D616    7 
    137143D616a   0 
    138 D617    2 
    139 D618    2 
     144D617    7 
     145D618    0 
    140146D619    2 
    141147D620    7 
    142148D621    0 
    143149D622    0 
    144150D623    0 
    145151D624    7 
    146 D625    7 
     152D625    0 
    147153D626    0 
    148154D627    0 
    149155D628    0 
    150156D629    7 
    151 D630    5 
     157D630    3 
    152158D631    6 
    153159D632    0 
    154 D633    3 
    155 D634    7 
    156 D635    7 
     160D633    7 
     161D634    0 
     162D635    0 
    157163D636    7 
    158164D637    2 
    159 D638    7 
     165D638    0 
    160166D639    0 
    161167D640    7 
    162168D641    0 
    163 D642    7 
     169D642    3 
    164170D643    6 
     171D643b   6 
     172D644    0 
     173D645    7 
    165174D700    1 
    166175D701    6 
    167 D702    6 
     176D702    1 
    168177D703    0 
    169178D704    1 
    170179D704b   7 
     
    172181D706    0 
    173182D707    0 
    174183D708    4 
    175 D709    1 
     184D709    0 
    176185D710    1 
    177186D711    0 
    178 D712    1 
     187D712    6 
    179188D713    0 
    180 D714    7 
    181 D715    1 
    182 D715b   7 
     189D714    0 
     190D715    0 
     191D715b   0 
    183192D715c   6 
    184 D716    6 
    185 D717    1 
     193D716    1 
     194D717    5 
    186195D718    6 
    187196D720    7 
    188197D721    3 
    189 D722    4 
     198D722    2 
     199D723    1 
    190200D800    0 
    191 D801    0 
     201D801    6 
    192202D802    0 
    193203D803    6 
    194204D804    0 
     205D804a   7 
    195206D804b   0 
    196 D805    0 
    197 D805a   6 
     207D805    7 
     208D805a   0 
    198209D805b   7 
    199 D806    0 
    200 D807    0 
     210D806    7 
     211D807    7 
    201212D808    0 
    202213D809    0 
    203 D810    7 
     214D810    3 
    204215D811    7 
    205216D811a   3 
    206 D812    0 
    207 D813    7 
     217D812    7 
     218D813    3 
    208219D814    7 
    209220D815    7 
    210 D816    3 
    211 D817    3 
    212 D818    0 
    213 D818b   0 
     221D816    0 
     222D817    0 
     223D818    6 
     224D818b   6 
    214225D819    3 
    215226D820    0 
    216227D820b   0 
    217228D821    7 
    218229D822    7 
    219 D823a   5 
     230D823a   2 
    220231D823b   0 
    221232D824    0 
    222233D825    7 
    223234D826    3 
    224235D827    0 
    225 D828    5 
    226 D829    7 
     236D828    6 
     237D829    3 
    227238D830    3 
    228 D831    0 
     239D831    7 
    229240D832    7 
    230 D833    0 
    231 D834    0 
    232 D835    7 
     241D833    6 
     242D834    6 
     243D835    3 
    233244D836    0 
    234245D837    0 
    235246D838    7 
    236 D839    0 
     247D839    7 
     248D840    4 
     249D841    3 
     250D842    0 
     251D843    7 
     252D844    3 
     253D845    0 
     254D846    0 
     255D847    0 
    237256D900    7 
    238257D902    7 
    239258D903    7 
     
    243262D907    3 
    244263D908    3 
    245264D909    1 
    246 D910a   6 
    247 D910b   6 
    248 D911    0 
     265D910a   0 
     266D910b   0 
     267D911    4 
    249268D1000   0 
    250269D1000a  1 
    251 D1001   5 
     270D1001   2 
    252271D1001b  0 
    253 D1002   5 
     272D1002   2 
    254273D1003   1 
    255274D1004   1 
    256275D1004b  1 
     
    259278D1006b  0 
    260279D1007   0 
    261280D1100   0 
     281D1100b  0 
    262282D1101   1 
    263283D1102   1 
    264284D1102a  1 
    265 D1103   0 
    266 D1104   6 
     285D1103   6 
     286D1104   0 
    267287D1105   0 
    268288D1106   1 
    269 D1107   0 
     289D1107   7 
    270290D1108   7 
    271291D1108b  7 
    272292D1109   6 
    273293D1110   1 
    274294D1111   6 
    275 D1112   6 
    276 D1113   4 
    277 D1114   4 
     295D1112   0 
     296D1113   3 
     297D1114   3 
    278298D1115   6 
    279 D1116   3 
    280 D1117   3 
    281 D1117a  0 
     299D1116   7 
     300D1117   5 
     301D1117a  6 
    282302D1118   1 
    283303D1119   5 
    284304D1120   2 
    285 D1120b  0 
     305D1120b  7 
    286306D1121a  5 
    287307D1121b  0 
    288308D1121c  6 
    289309D1122   0 
    290310D1123   0 
    291 D1124   7 
    292 D1125   3 
     311D1124   0 
     312D1125   7 
    293313D1126   1 
    294314D1127   5 
    295315D1128   3 
    296316D1129   1 
    297317D1130   0 
    298 D1131   6 
     318D1131   1 
    299319D1132   6 
    300 D1133   0 
    301 D1134   5 
     320D1133   7 
     321D1134   2 
    302322D1135   6 
    303 D1136   1 
    304323D1137   6 
    305324D1138   0 
    306325D1139   6 
    307326D1140   0 
    308327D1141   2 
     328D1142   0 
     329D1143   6 
     330D1144   0 
     331D1144b  0 
    309332D1200   0 
    310 D1201   0 
    311 D1202   1 
     333D1201a  0 
     334D1201b  0 
     335D1202   7 
    312336D1203   7 
    313337D1204   7 
    314338D1205   1 
    315339D1206   1 
     340D1207   0 
    316341D1300   0 
    317342D1300b  0 
    318343D1301   0 
    319344D1301b  0 
    320345D1302   0 
    321 D1303   0 
    322 D1304   0 
     346D1303   1 
     347D1304   1 
    323348D1305   3 
    324 D1306   7 
     349D1306   0 
    325350D1307   4 
    326351D1308   0 
    327352D1309   0 
    328 D1309b  0 
    329 D1310   0 
     353D1309b  6 
     354D1310   6 
    330355D1311   1 
    331356D1312   2 
    332357D1313   1 
    333358D1314   3 
    334359D1315   6 
    335 D1316   6 
    336 D1316b  6 
    337 D1317   3 
    338 D1318   4 
     360D1316   0 
     361D1316b  0 
     362D1317   7 
     363D1318   2 
    339364D1319   5 
    340365D1320   1 
    341366D1320a  6 
    342367D1320b  1 
    343368D1321   1 
    344369D1321b  1 
    345 D1322   1 
     370D1322   2 
    346371D1323   1 
    347372D1323a  6 
    348373D1324   1 
    349 D1325   1 
     374D1325   2 
    350375D1326   1 
    351 D1327   1 
    352 D1328   1 
    353376D1329   1 
    354377D1330   0 
    355 D1331   6 
    356 D1332   0 
     378D1331   7 
     379D1332   7 
    357380D1333   0 
    358 D1333b  7 
     381D1333b  0 
    359382D1334   2 
    360383D1335   1 
    361384D1336   5 
    362385D1337   0 
    363 D1338   3 
     386D1338   4 
    364387D1339   1 
    365388D1340   0 
    366 D1341   0 
     389D1341   7 
    367390D1342   2 
    368391D1343a  3 
    369392D1343b  5 
     
    372395D1344   6 
    373396D1345   0 
    374397D1346   0 
    375 D1347   0 
     398D1347   7 
    376399D1348   6 
    377400D1348b  6 
    378401D1348c  6 
    379402D1348d  6 
    380403D1350   1 
    381404D1351   7 
    382 D1352   6 
    383 D1353   6 
    384 D1354   4 
     405D1352   0 
     406D1353   0 
     407D1354   5 
    385408D1355   0 
    386409D1356   1 
    387410D1356a  1 
     411D1356b  0 
    388412D1357   5 
    389413D1358   0 
    390414D1359   7 
    391415D1360   0 
    392 D1361   1 
    393 D1362   0 
     416D1361a  1 
     417D1361b  1 
     418D1362   1 
    394419D1363   6 
    395420D1364   0 
    396421D1365   7 
    397 D1366   1 
     422D1366   5 
    398423D1367   1 
    399 D1368   0 
     424D1368   7 
    400425D1370   3 
    401426D1371   0 
    402 D1372   7 
     427D1372   0 
    403428D1373   3 
    404 D1374   0 
     429D1374   7 
    405430D1375   7 
    406431D1376   7 
    407 D1377   7 
     432D1377   0 
    408433D1378   2 
    409434D1379   6 
    410 D1380   1 
    411 D1381   2 
    412 D1382   4 
    413 D1383   0 
     435D1380   5 
     436D1381   5 
     437D1382   3 
     438D1383   7 
    414439D1384   6 
    415440D1385   6 
    416441D1386a  0 
     
    418443D1387   0 
    419444D1388   0 
    420445D1389   0 
    421 D1400   7 
    422 D1400b  7 
    423 D1401   7 
     446D1390   6 
     447D1391   0 
     448D1392   2 
     449D1393   7 
     450D1394   7 
     451D1395   7 
     452D1400   2 
     453D1400b  2 
     454D1401   2 
    424455D1402   0 
    425 D1403   7 
    426 D1404   3 
    427 D1405   3 
     456D1403   0 
     457D1404   6 
     458D1405   6 
    428459D1405b  3 
    429 D1406   3 
    430 D1407   7 
    431 D1408   7 
    432 D1409   7 
     460D1406   6 
     461D1407   3 
     462D1408   1 
     463D1409   0 
    433464D1410   6 
    434 D1411   7 
    435 D1411b  7 
    436 D1412   7 
    437 D1413   7 
    438 D1414   3 
    439 D1415   1 
     465D1411   3 
     466D1411b  3 
     467D1412   6 
     468D1413   6 
     469D1414   7 
     470D1415   6 
    440471D1416   1 
    441 D1417   1 
     472D1417   6 
    442473D1418   1 
    443 D1419   2 
    444 D1420   2 
    445 D1421   7 
     474D1419   7 
     475D1420   7 
     476D1421   0 
    446477D1422   0 
    447478D1423   7 
    448 D1424   4 
     479D1424   7 
     480DC01a   6 
     481DC01b   6 
     482DC02    0 
     483DE01a   0 
     484DE01b   0 
     485DE02    7 
     486DE03    7 
     487DE04    0 
     488DR01    7 
  • patterns/owl_vital_apats.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/owl_vital_apats.dtr gnugo/patterns/owl_vital_apats.dtr
    old new  
    11VA1     1 
    22VA2     6 
    3 VA3     7 
     3VA3     3 
    44VA4     0 
    5 VA5     3 
    6 VA6     7 
     5VA5     7 
     6VA6     0 
    77VA7     5 
    8 VA8     1 
     8VA8     6 
    99VA9     1 
    1010VA10    1 
    1111VA11    0 
    12 VA12    7 
     12VA12    0 
    1313VA13    7 
    14 VA14    0 
     14VA14    6 
    1515VA15    6 
    16 VA16    4 
     16VA16    2 
    1717VA17    1 
    1818VA18    3 
    19 VA19    0 
    20 VA20    0 
     19VA19    7 
     20VA20    2 
    2121VA21    0 
    2222VA22    3 
    2323VA23    7 
    2424VA24    1 
    25 VA25    7 
     25VA25    0 
    2626VA26    0 
    2727VA26b   0 
    28 VA27    0 
     28VA27    7 
    2929VA28    0 
    3030VA29    7 
    31 VA30    6 
     31VA30    0 
    3232VA31    1 
    3333VA32    0 
    34 VA33    6 
     34VA33    0 
    3535VA34    0 
    36 VA35    0 
     36VA35    7 
    3737VA36    1 
    3838VA37    0 
    39 VA38    3 
    40 VA39    6 
     39VA38    7 
     40VA39    5 
    4141VA40    1 
    4242VA41    0 
    4343VA42    7 
    4444VA43    0 
    45 VA44    1 
     45VA44    0 
    4646VA45    0 
    47 VA46    0 
    48 VA47    0 
     47VA46    3 
     48VA47a   0 
     49VA47b   0 
    4950VA48    2 
    5051VA49    0 
    5152VA50    0 
    5253VA51    0 
    5354VA52a   0 
    5455VA52b   0 
    55 VA53    7 
     56VA53    0 
     57VA54    5 
     58VA55    2 
     59VA56    3 
  • patterns/patterns.db

    diff -N -r -u -X .ignore gnugo-copy/patterns/patterns.db gnugo/patterns/patterns.db
    old new  
    99299929X.*X 
    99309930---- 
    99319931 
    9932 # helper sets followup value 
    9933 :8,sXa,throw_in_atari_helper 
     9932:8,sXa 
    99349933 
    99359934?bba 
    99369935Xc*A 
    99379936---- 
    99389937 
    9939 ;lib(A)==2 && lib(a)>1 && !alive(b) && proper_eye(c) 
     9938# helper sets followup value 
     9939;lib(A)==2 && lib(a)>1 && !alive(b) && proper_eye(c) && throw_in_atari_helper(A,a,?) 
    99409940 
    99419941 
    99429942Pattern ED40 
     
    99469946X.X 
    99479947--- 
    99489948 
    9949 # helper sets followup value 
    9950 :8,sXa,throw_in_atari_helper 
     9949:8,sXa 
    99519950 
    99529951aAb 
    99539952X*X 
    99549953X.X 
    99559954--- 
    99569955 
    9957 ;lib(A)==2 && lib(a)>1 && lib(b)>1 
     9956# helper sets followup value 
     9957;lib(A)==2 && lib(a)>1 && lib(b)>1 && throw_in_atari_helper(A,a,b) 
    99589958 
    99599959 
    99609960Pattern ED41 
     
    99639963|.*X 
    99649964+--- 
    99659965 
    9966 # helper sets followup value 
    9967 :8,sXa,throw_in_atari_helper 
     9966:8,sXa 
    99689967 
    99699968|XXa 
    99709969|.*A 
    99719970+--- 
    99729971 
    9973 ;lib(A)==2 && lib(a)>1 
     9972# helper sets followup value 
     9973;lib(A)==2 && lib(a)>1 && throw_in_atari_helper(A,a,?) 
    99749974 
    99759975 
    99769976Pattern ED42 
     
    1128411284X.*X 
    1128511285?XXO 
    1128611286 
    11287 # helper sets followup value 
    11288 :8,sXa,throw_in_atari_helper 
     11287:8,sXa 
    1128911288 
    1129011289?XXa 
    1129111290Xc*A 
    1129211291?XXb 
    1129311292 
    11294 ;lib(A)==2 && lib(a)>1 && lib(b)>1 && proper_eye(c) 
     11293# helper sets followup value 
     11294;lib(A)==2 && lib(a)>1 && lib(b)>1 && proper_eye(c) && throw_in_atari_helper(A,a,b) 
    1129511295 
    1129611296 
    1129711297Pattern CD67 
  • patterns/patterns.dtr

    diff -N -r -u -X .ignore gnugo-copy/patterns/patterns.dtr gnugo/patterns/patterns.dtr
    old new  
     1CC1     6 
     2CC2     1 
     3CC3     1 
     4CC4     6 
     5CC5     1 
     6CC6     3 
     7CC7     1 
     8CC8     6 
     9CC9     0 
     10CC10    0 
     11CC10b   0 
     12CC11    4 
     13CC12    6 
     14CC13    3 
     15CC13b   3 
     16CC14    1 
     17CC15    6 
     18CC16    4 
     19CC17    6 
     20CC19    0 
     21CC20    0 
     22CC21    0 
     23CC22    0 
     24CC23    0 
     25CC24    6 
     26CC25    6 
     27CC26    2 
     28CC27    1 
     29CC28    1 
     30CC29    1 
     31CC30    1 
     32CC31    1 
     33CC32    1 
     34CC33    7 
     35CC34    1 
     36CC35    1 
     37CC36    7 
     38CC37    7 
     39CC38    7 
     40CC39    0 
     41CC40    1 
     42CC41    0 
     43CC42    0 
     44CC43    0 
     45CC44    3 
     46CC45    6 
     47CC46    0 
     48CC47    6 
     49CC48    6 
     50CC49    1 
     51CC50    7 
     52CC51    5 
     53CC52a   7 
     54CC52b   3 
     55CC53    5 
     56CC54    0 
     57CC55    0 
     58CC57    0 
     59CC58    0 
     60CC59    0 
     61CC60    3 
     62CC61    1 
     63CC62    0 
     64CC63    0 
     65CC64    0 
     66CC65    2 
     67CC66    2 
     68CC67    6 
     69CC68    5 
     70CC69    0 
     71CC70    1 
     72CC71    1 
     73CC72    0 
     74CC73    0 
     75CC74    6 
     76CC74b   6 
     77CC75    4 
     78CC76    6 
     79CC77    3 
     80CC78    1 
     81CC79    4 
     82CC80    2 
     83CC81    7 
     84CC82    0 
     85CC83    1 
     86CC84    3 
     87CC85    6 
     88CC86    6 
     89CC87    5 
     90CC88    1 
     91EC1     0 
     92EC2     7 
     93EC4     7 
     94EC5     7 
     95EC6     7 
     96EC7     0 
     97EC8     7 
     98EC8a    0 
     99EC9     0 
     100EC10    0 
     101EC11    0 
     102EC12    7 
     103EC13    0 
     104EC14    6 
     105EC15    0 
     106EC16    0 
     107EC16a   0 
     108EC17    7 
     109EC18    7 
     110EC19    0 
     111EC20    0 
     112EC21    0 
     113EC22    2 
     114EC23    3 
     115EC24    0 
     116EC25    0 
     117EC26    0 
     118EC27    6 
     119EC28    6 
     120EC29    3 
     121EC30    0 
     122EC31    0 
     123EC32    0 
     124EC33    0 
     125EC34    6 
     126EC35    7 
     127EC36    6 
     128EC42    0 
     129EC43    7 
     130EC44    0 
     131EC45    0 
     132EC46    7 
     133EC47    0 
     134EC48    0 
     135EC49    0 
     136EC50    0 
     137EC51    0 
     138EC52    0 
     139EC53    0 
     140EC54    6 
     141EC55    0 
     142EC56    0 
     143EC57    0 
     144EC58    7 
     145EC59    0 
     146EC60    6 
     147EC60a   6 
     148EC61    6 
     149EC62    7 
     150EC63    0 
     151EC64    7 
     152EC65    6 
     153EC66    7 
     154EC67    0 
     155EC68    7 
     156EC69    1 
     157EC70    0 
     158EC71    7 
     159EC73    7 
     160EC74    0 
     161EC75    6 
     162EC76    7 
     163EC77    4 
     164EC78    7 
     165EC79    0 
     166EC80    0 
     167EC81    7 
     168EC101   0 
     169EC102   0 
     170EC103   0 
     171EC104   0 
     172EC105   7 
     173EC106   0 
     174EC107   0 
     175EC108   0 
     176EC109   0 
     177EC110   0 
     178EC201   3 
     179EC202   3 
     180EC203   3 
     181EC204   3 
     182EC205   3 
     183EC206   0 
     184EC207   0 
     185EC208   0 
     186EC209   0 
     187EC210   0 
     188EC211   7 
     189EC212   7 
     190EC213   0 
     191EC214   6 
     192EC215   0 
     193EC216   0 
     194EC217   7 
     195EC218   7 
     196CS1     1 
     197CS2     6 
     198CS3     4 
     199CS4     3 
     200CS5     6 
     201CS6     6 
     202CS7     1 
     203CS8     1 
     204CS9     6 
     205CS10    0 
     206CS11    4 
     207CS12    6 
     208CS13    0 
     209CS14    0 
     210CS15    7 
     211CS16    7 
     212CS17    6 
     213CS18    0 
     214CS19    6 
     215CS20a   1 
     216CS20b   1 
     217CS21    5 
     218CS22    7 
     219CS23    0 
     220CS24    4 
     221CS25    1 
     222CS26    5 
     223ES1     0 
     224ES2     7 
     225ES3a    0 
     226ES3b    0 
     227EB4     7 
     228EB5     0 
     229EB6     0 
     230EB7     4 
     231EB8     7 
     232EB9     7 
     233EB10    6 
     234EB11    0 
     235EB102   7 
     236EB104   0 
     237EB105   0 
     238EB106   0 
     239EB107   7 
     240EB108   0 
     241EB109   7 
     242EB110   7 
     243EB111   7 
     244EB112   0 
     245EB113   3 
     246EB114   7 
     247EB201   0 
     248EB202   6 
     249EB203   5 
     250EB204   7 
     251EB205   0 
     252EB206   0 
     253EB207   0 
     254EB208   2 
     255EB209   7 
     256EB210   7 
     257EB211   7 
     258EB301   7 
     259EB302   0 
     260EB303   0 
     261EB304   7 
     262EB305   7 
     263EB306   6 
     264EB307   6 
     265EB308   7 
     266EB309   0 
     267EB310   0 
     268EB311   7 
     269EB312   7 
     270EB313   0 
     271EB314   6 
     272EB315   7 
     273EB316   0 
     274EB317   6 
     275EB401   0 
     276EB402   0 
     277EB403   0 
     278EB404   7 
     279EB405   7 
     280EB406   7 
     281EB407   7 
     282EB408   0 
     283EB409   0 
     284EB410   7 
     285EB411   7 
     286EB412   0 
     287EB501   5 
     288EB501a  2 
     289EB502   7 
     290EB503   7 
     291EB504   0 
     292EB505   0 
     293EB506   6 
     294EB507   7 
     295EB507a  7 
     296EB508   7 
     297EB509   7 
     298EB510   7 
     299EB511   0 
     300EB512   7 
     301EB513   2 
     302EB514   2 
     303EB515   7 
     304EB516   0 
     305EB517   7 
     306EB518   0 
     307EB519   3 
     308EB520   3 
     309EB521   7 
     310EB601   7 
     311EB602   2 
     312EB603   3 
     313EB604   6 
     314EB605   6 
     315EB606   0 
     316EB608   7 
     317EB609   0 
     318EB610   0 
     319EB611   6 
     320EB612   0 
     321EB615   0 
     322EB615b  0 
     323EB616   0 
     324EB617   0 
     325EB618   0 
     326EB619   0 
     327EB624   7 
     328EB626   7 
     329EB627   7 
     330EB628   0 
     331EB629   0 
     332EB630   0 
     333EB631   0 
     334EB632   0 
     335EB633   0 
     336EB634   0 
     337EB635   7 
     338EB637   7 
     339EB638   0 
     340EB639   0 
     341EB640a  0 
     342EB640b  7 
     343EB640c  0 
     344EB641a  7 
     345EB641b  7 
     346EB641c  6 
     347EB642   6 
     348EB643   6 
     349EB701   1 
     350EB702a  0 
     351EB702b  0 
     352EB703   6 
     353EB704   0 
     354EB705   7 
     355EB706   7 
     356EB707   7 
     357EB708   3 
     358EB709   5 
     359EB709b  5 
     360EB710   7 
     361EB711   7 
     362EB712   0 
     363EB712b  0 
     364EB713   7 
     365EB714   0 
     366EB715   0 
     367EB716   0 
     368EB717   0 
     369EB718   0 
     370EB719   0 
     371EB801   0 
     372EB802   6 
     373EB803   7 
     374EB804   7 
     375EB805   7 
     376EB806   7 
     377EB808   0 
     378EB909   3 
     379EB910   1 
     380EB911   6 
     381EB912   2 
     382EB913   0 
     383EB913b  0 
     384EB914   0 
     385EB915   0 
     386EB917   0 
     387EB918   6 
     388EB919   0 
     389EB920   0 
     390EB921   0 
     391EB922   3 
     392EB923   7 
     393EB924   0 
     394EB924a  0 
     395EB924b  0 
     396EB925   0 
     397EB1001  0 
     398EB1003  2 
     399EB1004  5 
     400EB1005  5 
     401EB1006  7 
     402EB1007  0 
     403EB1008  0 
     404EB1008b 0 
     405EB1008c 0 
     406EB1009  5 
     407EB1011  0 
     408EB1012  0 
     409EB1013  0 
     410EB1014  0 
     411EB1015  7 
     412EB1016  0 
     413EB1017  0 
     414EB1018  7 
     415EB1019  7 
     416EB1020  2 
     417EB1021  0 
     418EB1022  7 
     419EB1101  0 
     420EB1201  3 
     421EB1202  7 
     422EB1203  0 
     423EB1301  1 
     424EB1302  1 
     425EB1303  5 
     426EB1304  0 
     427EB1305  0 
     428EB1306  0 
     429EB1307  0 
     430EB1308  7 
     431EB1309  7 
     432EB1310  0 
     433EB1311  7 
     434EB1401  7 
     435EB1402  7 
     436EB1403  7 
     437EB1404a 6 
     438EB1404c 6 
     439EB1405  0 
     440EB1501  0 
     441EB1502  0 
     442EB1503  0 
     443EB1601  0 
     444EB1603  7 
     445EB1604  7 
     446EB1605  7 
     447EB1606  0 
     448EB1606b 0 
     449EB1607  3 
     450EB1608  6 
     451EB1609  3 
     452EB1610  7 
     453EB1611  0 
     454EB1701  0 
     455EB1702  0 
     456EB1702b 0 
     457EB1703  4 
     458EB1704  0 
     459EB1705  4 
     460EB1706  4 
     461EB1707  0 
     462EB1708  6 
     463EB1709  0 
     464EB1710  5 
     465EB1711  5 
     466EB1801  0 
     467EB1802  7 
     468EB1803  4 
     469EB1804  7 
     470EB1805  6 
     471EB1806  7 
     472EB1807  1 
     473EB1808  0 
     474EB1808a 0 
     475EB1809  7 
     476EB1810  0 
     477EB1901  7 
     478EB1902  6 
     479EB1903  0 
     480EB1904  7 
     481EB1905  7 
     482EB1906  6 
     483EB2001  0 
     484EB2002  6 
     485EB2003  6 
     486CB1     3 
     487CB2     6 
     488CB3     6 
     489CB4     1 
     490CB5     2 
     491CB6     7 
     492CB7     2 
     493CB8     7 
     494CB9     6 
     495CB10    5 
     496CB12    0 
     497CB13    4 
     498CB14    1 
     499CB14a   1 
     500CB14b   1 
     501CB15    6 
     502CB101   6 
     503CB103   6 
     504CB104   0 
     505CB105   6 
     506CB105b  6 
     507CB106   0 
     508CB207   6 
     509CB209   6 
     510CB210   1 
     511CB217   3 
     512CB217a  3 
     513CB277   5 
     514CB327   3 
     515CB328   3 
     516CB202   6 
     517CB212   3 
     518CB213   3 
     519CB216   7 
     520CB219   0 
     521CB220   0 
     522CB221   0 
     523CB223   1 
     524CB231   6 
     525CB232   0 
     526CB236   1 
     527CB240   5 
     528CB241a  0 
     529CB241b  1 
     530CB244   6 
     531CB245   4 
     532CB247   0 
     533CB262   6 
     534CB271   7 
     535CB275   6 
     536CB281   0 
     537CB288   1 
     538CB296   2 
     539CB297   2 
     540CB298   1 
     541CB307   7 
     542CB309   1 
     543CB310   7 
     544CB313   2 
     545CB323   6 
     546CB329a  0 
     547CB335   1 
     548CB339   3 
     549CB205   1 
     550CB225   1 
     551CB235   6 
     552CB251   7 
     553CB256   7 
     554CB257   6 
     555CB260   6 
     556CB267   2 
     557CB289   5 
     558CB203   6 
     559CB204   1 
     560CB204b  1 
     561CB206   1 
     562CB214   7 
     563CB215   7 
     564CB218   7 
     565CB224   1 
     566CB226   1 
     567CB227   5 
     568CB228   4 
     569CB229   2 
     570CB230   1 
     571CB233   6 
     572CB234   1 
     573CB237   6 
     574CB238   1 
     575CB239   1 
     576CB241c  6 
     577CB242   5 
     578CB243   1 
     579CB243b  1 
     580CB246   5 
     581CB248   6 
     582CB250   6 
     583CB252   0 
     584CB254   3 
     585CB255   3 
     586CB258   6 
     587CB259   6 
     588CB261   2 
     589CB263   5 
     590CB263b  5 
     591CB264   1 
     592CB265   3 
     593CB266   7 
     594CB268   6 
     595CB269   1 
     596CB270   3 
     597CB272   4 
     598CB273   7 
     599CB274   0 
     600CB276   0 
     601CB278   0 
     602CB279   0 
     603CB280   7 
     604CB282   3 
     605CB283   4 
     606CB284   3 
     607CB285   1 
     608CB286   1 
     609CB287   4 
     610CB290   6 
     611CB291   2 
     612CB292   0 
     613CB293   2 
     614CB294   5 
     615CB295   2 
     616CB299   1 
     617CB300   0 
     618CB301   7 
     619CB302   2 
     620CB303   7 
     621CB304   3 
     622CB305   2 
     623CB306   7 
     624CB308   1 
     625CB311   6 
     626CB312   5 
     627CB314   7 
     628CB315   0 
     629CB316   6 
     630CB317   4 
     631CB318   1 
     632CB319   3 
     633CB320   0 
     634CB321   1 
     635CB322   1 
     636CB322a  1 
     637CB324   1 
     638CB325   4 
     639CB326   6 
     640CB330   1 
     641CB331   1 
     642CB332   6 
     643CB333   0 
     644CB334   6 
     645CB337   1 
     646CB338   1 
     647CB338b  3 
     648CB340   7 
     649CB341   3 
     650CB342   7 
     651CB343   2 
     652CB344a  0 
     653CB344b  0 
     654CB344c  0 
     655ED1     0 
     656ED2     0 
     657ED3     0 
     658ED4     7 
     659ED6     0 
     660ED7     0 
     661ED8     7 
     662ED9     0 
     663ED10    0 
     664ED11    3 
     665ED12    0 
     666ED13    0 
     667ED14    6 
     668ED15    0 
     669ED16    0 
     670ED17    7 
     671ED18    0 
     672ED19    0 
     673ED20    0 
     674ED21    6 
     675ED22    7 
     676ED22b   7 
     677ED23    7 
     678ED24    6 
     679ED25    7 
     680ED26    7 
     681ED27    6 
     682ED28    0 
     683ED29    1 
     684ED30    0 
     685ED31    7 
     686ED31b   3 
     687ED31c   0 
     688ED32    0 
     689ED33    3 
     690ED34    0 
     691ED35    0 
     692ED36    0 
     693ED37    3 
     694ED38    3 
     695ED39    0 
     696ED40    1 
     697ED41    7 
     698ED42    7 
     699ED43    7 
     700ED44    7 
     701ED45    7 
     702ED46    1 
     703ED47    7 
     704ED48    6 
     705ED49    0 
     706ED49b   7 
     707ED50    0 
     708ED51    7 
     709ED52    0 
     710ED53    7 
     711ED54    0 
     712ED55    0 
     713ED56    3 
     714ED57    7 
     715ED58    6 
     716ED59    6 
     717ED61    0 
     718ED62    3 
     719ED63    0 
     720ED64    7 
     721ED65    3 
     722ED68    1 
     723ED69    3 
     724ED70    5 
     725ED71    6 
     726ED72    7 
     727ED73    7 
     728ED74    4 
     729ED75    4 
     730ED76    3 
     731ED77    7 
     732ED78    3 
     733ED79    7 
     734ED80    0 
     735ED81    0 
     736ED82    4 
     737ED83    1 
     738ED84    4 
     739ED85    7 
     740ED86    7 
     741ED87    0 
     742ED87a   0 
     743ED88    7 
     744ED89    7 
     745ED90    3 
     746ED91    7 
     747ED92    0 
     748ED93    7 
     749ED94    6 
     750ED95    0 
     751ED96    0 
     752ED97    0 
     753ED98    6 
     754ED99a   0 
     755ED100   7 
     756ED101   3 
     757CD1     7 
     758CD3     0 
     759CD7     1 
     760CD28    5 
     761CD31    2 
     762CD39    4 
     763CD40    1 
     764CD43    0 
     765CD48    5 
     766CD49    4 
     767CD55    3 
     768CD56    7 
     769CD64    0 
     770CD67    0 
     771CD76    2 
     772CD77    4 
     773CD79    0 
     774CD82    4 
     775CD83    0 
     776CD87    0 
     777CD88    6 
     778CD89    4 
     779CD90    5 
     780CD91    6 
     781CD92    7 
     782CD92a   7 
     783CD92b   7 
     784CD93    2 
     785CD94    2 
     786CD94b   4 
     787CD95    1 
     788CD96    6 
     789CD99    0 
     790CD102   1 
     791CD104a  4 
     792CD104b  4 
     793CD105   6 
     794CD107   0 
     795CD108   7 
     796CD109   0 
     797EJ1     6 
     798EJ2     5 
     799EJ2b    0 
     800EJ3     0 
     801EJ4     7 
     802EJ6     0 
     803EJ7     7 
     804EJ7b    7 
     805EJ8     0 
     806EJ9     0 
     807EJ12    6 
     808EJ13    0 
     809EJ13b   6 
     810EJ14    0 
     811EJ15    6 
     812EJ17    7 
     813EJ18    0 
     814EJ19    0 
     815EJ20    0 
     816EJ21    0 
     817EJ22    0 
     818EJ23    0 
     819EJ24    5 
     820EJ25    7 
     821EJ26    0 
     822EJ27    0 
     823EJ28    6 
     824EJ29    0 
     825EJ30    3 
     826EJ31    0 
     827EJ32    7 
     828EJ33    0 
     829EJ34    7 
     830EJ35    3 
     831EJ37    6 
     832EJ39    7 
     833EJ40    7 
     834EJ41    0 
     835EJ42    3 
     836EJ43    5 
     837EJ44    6 
     838EJ45    0 
     839EJ46    6 
     840EJ47    0 
     841EJ49b   6 
     842EJ50    0 
     843EJ51    3 
     844EJ52    0 
     845EJ53    7 
     846EJ54    6 
     847EJ55    7 
     848EJ56    7 
     849EJ57    0 
     850EJ58    7 
     851EJ59    0 
     852EJ60    0 
     853EJ62a   4 
     854EJ62b   4 
     855EJ63a   0 
     856EJ63    0 
     857EJ64    0 
     858EJ65    0 
     859EJ66    0 
     860EJ67    6 
     861EJ68    0 
     862EJ69    0 
     863EJ71    6 
     864EJ72    0 
     865EJ73    6 
     866EJ74    6 
     867EJ75    7 
     868EJ76    5 
     869EJ77    0 
     870EJ78    7 
     871EJ79    4 
     872EJ80    4 
     873EJ81    0 
     874EJ81b   7 
     875EJ81c   7 
     876EJ82    0 
     877EJ84    7 
     878EJ85    0 
     879EJ86    5 
     880EJ87    0 
     881EJ88    7 
     882EJ89    7 
     883EJ90    0 
     884EJ91    7 
     885EJ92    7 
     886EJ93    3 
     887EJ94    0 
     888EJ95    7 
     889EJ96    7 
     890EJ97    5 
     891EJ98    0 
     892EJ99    0 
     893EJ100   0 
     894EJ101   0 
     895S1      3 
     896S2      3 
     897S3      7 
     898S4      0 
     899S5      6 
     900S6      7 
     901S6b     0 
     902S6c     0 
     903S7      7 
     904S8      0 
     905S9      0 
     906S10     7 
     907S10b    0 
     908S10c    7 
     909S10d    0 
     910S11     0 
     911S12     7 
     912S13     0 
     913S14b    2 
     914HH1     1 
     915HH2     1 
     916HH3     0 
     917HH4     0 
     918HH5     3 
     919HH6     7 
     920HH7     5 
     921HH8     0 
     922HH9     6 
     923HH10    1 
     924HH11    6 
     925HH12    1 
     926HH13    6 
     927HH14    7 
     928HH15    3 
     929HH16    7 
     930HH17    7 
     931Reinforce1      0 
     932Reinforce2      0 
     933Reinforce3      0 
     934Reinforce4      4 
     935Reinforce5      4 
     936Reinforce102    0 
     937LE1     3 
     938LE2     7 
     939LE3     5 
     940LE5     0 
     941LE6     5 
     942LE8     0 
     943LE9     0 
     944LE10    0 
     945LE12    7 
     946LE13    7 
     947LE15    1 
     948LE16    2 
     949RE1     5 
     950RE2     7 
     951RE3     0 
     952RE5     1 
     953RE6     7 
     954RE7     3 
     955RE8     7 
     956RE9     0 
     957RE10    0 
     958RE12    0 
     959RE13    0 
     960RE14    4 
     961Th1     0 
     962Th2     0 
     963Th3     7 
     964Th4     0 
     965Th5     6 
     966Th6     6 
     967Th7     6 
     968Th8     0 
     969Th9     6 
     970Th10    1 
     971Th11    1 
     972Th12    1 
     973Th13    0 
     974Th14    1 
     975Th15    7 
     976Th16    0 
     977Th17    7 
     978Th18    7 
     979Th19    6 
     980Th20    3 
     981Th21    6 
     982Th22    7 
     983Th23    0 
     984Th24    0 
     985M1      0 
     986M2      0 
     987M3      7 
     988M4      0 
     989M5      6 
     990M6      6 
     991M7      6 
     992M8      6 
     993Conn101 1 
     994Conn102 1 
     995Conn103 6 
     996Conn104 6 
     997Conn105 0 
     998Conn106 6 
     999Conn201 1 
     1000Conn202 5 
     1001Conn203 1 
     1002Conn204 7 
     1003Conn205 7 
     1004Conn206 6 
     1005Conn207 1 
     1006Conn301 6 
     1007Conn302 6 
     1008Conn303 2 
     1009Conn304 2 
     1010Conn305 2 
     1011Conn306 4 
     1012Conn307 7 
     1013Conn308 6 
     1014Conn309 6 
     1015Conn310 1 
     1016Conn311 2 
     1017Conn312 5 
     1018Conn313 1 
     1019Conn314 6 
     1020Conn315 5 
     1021Conn401 4 
     1022Conn402 4 
     1023Conn403 6 
     1024Conn501 1 
     1025Conn502 6 
     1026Conn503 6 
     1027Conn504 6 
     1028Conn505 6 
     1029Conn506 0 
     1030Conn507 6 
     1031Conn508 5 
     1032Conn509 6 
     1033Conn509b        6 
     1034Conn510 1 
     1035Conn601 1 
     1036Conn602 6 
     1037Conn603 1 
     1038Conn603b        1 
     1039Conn604 6 
     1040Conn605 6 
     1041Conn606 6 
     1042Conn607 1 
     1043Conn608 1 
     1044Conn609 7 
     1045Conn610 0 
     1046Conn611 7 
     1047Conn701 6 
     1048Conn702 3 
     1049Conn703 4 
     1050Conn704 6 
     1051Conn705 6 
     1052Conn706 0 
     1053Conn707 0 
     1054Conn708 1 
     1055Conn801 7 
     1056Cut101  0 
     1057Cut201  0 
     1058Cut302  5 
     1059Cut303  5 
     1060Cut304  1 
     1061Cut501  7 
     1062Cut601  0 
     1063AS1     0 
     1064AS2     0 
     1065AS3     7 
     1066AS4     6 
     1067AS5     7 
     1068AS6     6 
     1069AS7     0 
     1070Shape1  6 
     1071Shape2  1 
     1072Shape3  0 
     1073Shape4  6 
     1074Shape5  6 
     1075Shape6  3 
     1076Shape6b 3 
     1077Shape7  3 
     1078Shape8a 3 
     1079Shape8b 3 
     1080Shape8c 3 
     1081Shape8d 7 
     1082Shape9a 0 
     1083Shape9b 0 
     1084Shape9c 0 
     1085Shape10 1 
     1086Shape11 6 
     1087Shape12 6 
     1088Shape12b        7 
     1089Shape13 0 
     1090Shape14 1 
     1091Shape15 1 
     1092Shape16 5 
     1093Shape17 4 
     1094Shape18 6 
     1095Shape18b        6 
     1096Shape18c        7 
     1097Shape19 6 
     1098Shape20 1 
     1099Shape21 6 
     1100Shape22 4 
     1101Shape23 7 
     1102Shape24 7 
     1103Shape25 7 
     1104Shape26 1 
     1105Shape27 7 
     1106Shape28 3 
     1107Shape29 2 
     1108Shape30 0 
     1109Shape31 0 
     1110Shape32 1 
     1111Shape33 6 
     1112Shape34 7 
     1113Shape35 2 
     1114Shape36 2 
     1115Shape37 2 
     1116Shape38 0 
     1117Shape39 3 
     1118Shape40 3 
     1119Shape41 3 
     1120Shape42 6 
     1121Shape43 0 
     1122Shape44 6 
     1123Shape45 1 
     1124Shape46 0 
     1125Shape47 1 
     1126Shape48 0 
     1127Shape49 7 
     1128Shape50 0 
     1129Shape51 0 
     1130Shape53 0 
     1131Shape54 0 
     1132Shape55 1 
     1133Shape56 7 
     1134Shape57 1 
     1135Shape58 3 
     1136Shape59 0 
     1137Shape60 7 
     1138Shape60b        7 
     1139Shape60c        0 
     1140Shape61 5 
     1141Shape62 7 
     1142Shape63 7 
     1143Shape64 0 
     1144Shape65 0 
     1145Shape66 1 
     1146Shape67 3 
     1147Shape68 7 
     1148Shape69 7 
     1149Shape70 7 
     1150Shape71 7 
     1151Shape72 7 
     1152Shape73 1 
     1153Shape73b        1 
     1154Shape74 4 
     1155Shape75 0 
     1156Shape76 5 
     1157Shape77 0 
     1158Shape78 0 
     1159Shape79 6 
     1160Shape80 4 
     1161Shape81 6 
     1162Shape82 4 
     1163Shape83 1 
     1164Shape84 5 
     1165Shape85 5 
     1166Shape86 0 
     1167Shape87 1 
     1168Shape88 0 
     1169Sente1  4 
     1170Sente1b 4 
     1171Sente1c 4 
     1172Sente1d 1 
     1173Sente2  1 
     1174Sente3  0 
     1175Sente4  0 
     1176Sente5  1 
     1177Sente6  6 
     1178Sente7  0 
     1179Sente8  0 
     1180Sente9  1 
     1181Sente10 0 
     1182Sente11 6 
     1183Sente13 3 
     1184Sente13b        3 
     1185Sente13c        6 
     1186Sente13d        7 
     1187Sente13e        2 
     1188Sente14 5 
     1189Sente15 5 
     1190Sente16 0 
     1191Sente17 0 
     1192Sente18 0 
     1193Sente19 5 
     1194Sente20 5 
     1195Sente21 5 
     1196Sente22 0 
     1197Sente23 6 
     1198Sente24 0 
     1199DD1     1 
     1200DD2     2 
     1201DD2b    2 
     1202DD3     1 
     1203DD4     1 
     1204DD5     1 
     1205DD6     1 
     1206DD7     0 
     1207DD8     2 
     1208DD8b    4 
     1209DD9     2 
     1210DD10    0 
     1211DD11    1 
     1212DD12    6 
     1213DD13    1 
     1214Temp1   0 
     1215Temp5   0 
     1216Temp6   6 
     1217Temp7a  7 
     1218Temp7b  7 
     1219Temp8   3 
     1220Temp9   0 
  • patterns/patterns.h

    diff -N -r -u -X .ignore gnugo-copy/patterns/patterns.h gnugo/patterns/patterns.h
    old new  
    306306DECLARE(jump_out_far_helper); 
    307307DECLARE(high_handicap_helper); 
    308308DECLARE(reinforce_helper); 
    309 DECLARE(throw_in_atari_helper); 
    310 DECLARE(cutstone2_helper); 
    311309DECLARE(thrash_around_helper); 
    312310 
    313311/* autohelper fns */ 
     
    329327int adjacent_to_defendable_stone_in_atari(int str); 
    330328void backfill_replace(int move, int str); 
    331329int break_mirror_helper(int str, int color); 
     330int throw_in_atari_helper(int move, int color, int apos, int cpos, int dpos); 
     331int cutstone2_helper(int move, int apos, int bpos, int cpos); 
    332332 
    333333 
    334334/* pattern arrays themselves */ 
  • patterns/patterns.vcproj

    diff -N -r -u -X .ignore gnugo-copy/patterns/patterns.vcproj gnugo/patterns/patterns.vcproj
    old new  
    675675                                        > 
    676676                                        <Tool 
    677677                                                Name="VCCustomBuildTool" 
    678                                                 CommandLine="$(IntDir)\mkpat -X  attpat -i ..\patterns\attack.db -o apatterns.c&#x0D;&#x0A;" 
     678                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\attack.dtr -X  attpat -i ..\patterns\attack.db -o apatterns.c&#x0D;&#x0A;" 
    679679                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    680680                                                Outputs="apatterns.c" 
    681681                                        /> 
     
    685685                                        > 
    686686                                        <Tool 
    687687                                                Name="VCCustomBuildTool" 
    688                                                 CommandLine="$(IntDir)\mkpat -X  attpat -i ..\patterns\attack.db -o apatterns.c&#x0D;&#x0A;" 
     688                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\attack.dtr -X  attpat -i ..\patterns\attack.db -o apatterns.c&#x0D;&#x0A;" 
    689689                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    690690                                                Outputs="apatterns.c" 
    691691                                        /> 
     
    699699                                        > 
    700700                                        <Tool 
    701701                                                Name="VCCustomBuildTool" 
    702                                                 CommandLine="$(IntDir)\mkpat -c -b barrierspat -i ..\patterns\barriers.db -o barriers.c&#x0D;&#x0A;" 
     702                                                CommandLine="$(IntDir)\mkpat -c -D -m -t ..\patterns\barriers.dtr -b barrierspat -i ..\patterns\barriers.db -o barriers.c&#x0D;&#x0A;" 
    703703                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    704704                                                Outputs="barriers.c" 
    705705                                        /> 
     
    709709                                        > 
    710710                                        <Tool 
    711711                                                Name="VCCustomBuildTool" 
    712                                                 CommandLine="$(IntDir)\mkpat -c -b barrierspat -i ..\patterns\barriers.db -o barriers.c&#x0D;&#x0A;" 
     712                                                CommandLine="$(IntDir)\mkpat -c -D -m -t ..\patterns\barriers.dtr -b barrierspat -i ..\patterns\barriers.db -o barriers.c&#x0D;&#x0A;" 
    713713                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    714714                                                Outputs="barriers.c" 
    715715                                        /> 
     
    723723                                        > 
    724724                                        <Tool 
    725725                                                Name="VCCustomBuildTool" 
    726                                                 CommandLine="$(IntDir)\mkpat -c conn -i ..\patterns\conn.db -o conn.c&#x0D;&#x0A;" 
     726                                                CommandLine="$(IntDir)\mkpat -c -D -m -t ..\patterns\conn.dtr conn -i ..\patterns\conn.db -o conn.c&#x0D;&#x0A;" 
    727727                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    728728                                                Outputs="conn.c" 
    729729                                        /> 
     
    733733                                        > 
    734734                                        <Tool 
    735735                                                Name="VCCustomBuildTool" 
    736                                                 CommandLine="$(IntDir)\mkpat -c conn -i ..\patterns\conn.db -o conn.c&#x0D;&#x0A;" 
     736                                                CommandLine="$(IntDir)\mkpat -c -D -m -t ..\patterns\conn.dtr conn -i ..\patterns\conn.db -o conn.c&#x0D;&#x0A;" 
    737737                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    738738                                                Outputs="conn.c" 
    739739                                        /> 
     
    747747                                        > 
    748748                                        <Tool 
    749749                                                Name="VCCustomBuildTool" 
    750                                                 CommandLine="$(IntDir)\mkpat defpat -i ..\patterns\defense.db -o dpatterns.c&#x0D;&#x0A;" 
     750                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\defense.dtr defpat -i ..\patterns\defense.db -o dpatterns.c&#x0D;&#x0A;" 
    751751                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    752752                                                Outputs="dpatterns.c" 
    753753                                        /> 
     
    757757                                        > 
    758758                                        <Tool 
    759759                                                Name="VCCustomBuildTool" 
    760                                                 CommandLine="$(IntDir)\mkpat defpat -i ..\patterns\defense.db -o dpatterns.c&#x0D;&#x0A;" 
     760                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\defense.dtr defpat -i ..\patterns\defense.db -o dpatterns.c&#x0D;&#x0A;" 
    761761                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    762762                                                Outputs="dpatterns.c" 
    763763                                        /> 
     
    771771                                        > 
    772772                                        <Tool 
    773773                                                Name="VCCustomBuildTool" 
    774                                                 CommandLine="$(IntDir)\mkpat -b endpat -i ..\patterns\endgame.db -o endgame.c&#x0D;&#x0A;" 
     774                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\endgame.dtr -b endpat -i ..\patterns\endgame.db -o endgame.c&#x0D;&#x0A;" 
    775775                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    776776                                                Outputs="endgame.c" 
    777777                                        /> 
     
    781781                                        > 
    782782                                        <Tool 
    783783                                                Name="VCCustomBuildTool" 
    784                                                 CommandLine="$(IntDir)\mkpat -b endpat -i ..\patterns\endgame.db -o endgame.c&#x0D;&#x0A;" 
     784                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\endgame.dtr -b endpat -i ..\patterns\endgame.db -o endgame.c&#x0D;&#x0A;" 
    785785                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    786786                                                Outputs="endgame.c" 
    787787                                        /> 
     
    819819                                        > 
    820820                                        <Tool 
    821821                                                Name="VCCustomBuildTool" 
    822                                                 CommandLine="$(IntDir)\mkpat -b fusekipat -i ..\patterns\fuseki.db -o fusekipat.c&#x0D;&#x0A;" 
     822                                                CommandLine="$(IntDir)\mkpat -b -m fusekipat -i ..\patterns\fuseki.db -o fusekipat.c&#x0D;&#x0A;" 
    823823                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    824824                                                Outputs="fusekipat.c" 
    825825                                        /> 
     
    829829                                        > 
    830830                                        <Tool 
    831831                                                Name="VCCustomBuildTool" 
    832                                                 CommandLine="$(IntDir)\mkpat -b fusekipat -i ..\patterns\fuseki.db -o fusekipat.c&#x0D;&#x0A;" 
     832                                                CommandLine="$(IntDir)\mkpat -b -m fusekipat -i ..\patterns\fuseki.db -o fusekipat.c&#x0D;&#x0A;" 
    833833                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    834834                                                Outputs="fusekipat.c" 
    835835                                        /> 
     
    915915                                        > 
    916916                                        <Tool 
    917917                                                Name="VCCustomBuildTool" 
    918                                                 CommandLine="$(IntDir)\mkpat -b handipat -i ..\patterns\handicap.db -o handipat.c&#x0D;&#x0A;" 
     918                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\handicap.dtr -b handipat -i ..\patterns\handicap.db -o handipat.c&#x0D;&#x0A;" 
    919919                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    920920                                                Outputs="handipat.c" 
    921921                                        /> 
     
    925925                                        > 
    926926                                        <Tool 
    927927                                                Name="VCCustomBuildTool" 
    928                                                 CommandLine="$(IntDir)\mkpat -b handipat -i ..\patterns\handicap.db -o handipat.c&#x0D;&#x0A;" 
     928                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\handicap.dtr -b handipat -i ..\patterns\handicap.db -o handipat.c&#x0D;&#x0A;" 
    929929                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    930930                                                Outputs="handipat.c" 
    931931                                        /> 
     
    963963                                        > 
    964964                                        <Tool 
    965965                                                Name="VCCustomBuildTool" 
    966                                                 CommandLine="$(IntDir)\mkpat -c influencepat -i ..\patterns\influence.db -o influence.c&#x0D;&#x0A;" 
     966                                                CommandLine="$(IntDir)\mkpat -c -D -m -t ..\patterns\influence.dtr influencepat -i ..\patterns\influence.db -o influence.c&#x0D;&#x0A;" 
    967967                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    968968                                                Outputs="influence.c" 
    969969                                        /> 
     
    973973                                        > 
    974974                                        <Tool 
    975975                                                Name="VCCustomBuildTool" 
    976                                                 CommandLine="$(IntDir)\mkpat -c influencepat -i ..\patterns\influence.db -o influence.c&#x0D;&#x0A;" 
     976                                                CommandLine="$(IntDir)\mkpat -c -D -m -t ..\patterns\influence.dtr influencepat -i ..\patterns\influence.db -o influence.c&#x0D;&#x0A;" 
    977977                                                AdditionalDependencies="$(IntDir)\mkpat.exe;" 
    978978                                                Outputs="influence.c" 
    979979                                        /> 
     
    10591059                                        > 
    10601060                                        <Tool 
    10611061                                                Name="VCCustomBuildTool" 
    1062                                                 CommandLine="$(IntDir)\mkpat -b pat -i patterns.db -i patterns2.db -o patterns.c&#x0D;&#x0A;" 
     1062                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\patterns.dtr -b pat -i patterns.db -i patterns2.db -o patterns.c&#x0D;&#x0A;" 
    10631063                                                AdditionalDependencies="$(IntDir)\mkpat.exe;patterns2.db;" 
    10641064                                                Outputs="patterns.c" 
    10651065                                        /> 
     
    10691069                                        > 
    10701070                                        <Tool 
    10711071                                                Name="VCCustomBuildTool" 
    1072                                                 CommandLine="$(IntDir)\mkpat -b pat -i patterns.db -i patterns2.db -o patterns.c&#x0D;&#x0A;" 
     1072                                                CommandLine="$(IntDir)\mkpat -D -m -t ..\patterns\patterns.dtr -b pat -i patterns.db -i patterns2.db -o patterns.c&#x0D;&#x0A;" 
    10731073                                                AdditionalDependencies="$(IntDir)\mkpat.exe;patterns2.db;" 
    10741074                                                Outputs="patterns.c" 
    10751075                                        />