From 2a7cf896b55315a9bf6b4339949dfbf033c6ab26 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Fri, 15 Oct 2010 18:36:14 +0200 Subject: [PATCH] pattern_record(): Record only single pattern, called twice now --- pattern3.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pattern3.c b/pattern3.c index d60719b..c90a949 100644 --- a/pattern3.c +++ b/pattern3.c @@ -11,13 +11,8 @@ static void pattern_record(struct pattern3s *p, char *str, hash3_t pat, int fixed_color) { - /* Original color assignment */ p->hash[pat] = fixed_color ? fixed_color : 3; //fprintf(stderr, "[%s] %04x %d\n", str, pat, fixed_color); - - /* Reverse color assignment */ - p->hash[pattern3_reverse(pat)] = fixed_color ? 2 - (fixed_color == 2) : 3; - //fprintf(stderr, "[%s] %04x %d\n", str, pat, fixed_color); } static int @@ -112,8 +107,14 @@ pattern_gen(struct pattern3s *p, hash3_t pat, char *src, int srclen, int fixed_c /* Original pattern, all transpositions and rotations */ hash3_t transp[8]; pattern3_transpose(pat, &transp); - for (int i = 0; i < 8; i++) + for (int i = 0; i < 8; i++) { + /* Original color assignment */ pattern_record(p, src - 9, transp[i], fixed_color); + /* Reverse color assignment */ + if (fixed_color) + fixed_color = 2 - (fixed_color == 2); + pattern_record(p, src - 9, pattern3_reverse(transp[i]), fixed_color); + } } static void -- 2.11.4.GIT