Mercurial > hg > Game > Cerium
diff example/regex_mas/ppe/Exec.cc @ 1761:b98e23499add draft
refactoring in regex_mas
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 22 Nov 2013 22:48:05 +0900 |
parents | 11d3bd9d2244 |
children | 39734c8cbcfe |
line wrap: on
line diff
--- a/example/regex_mas/ppe/Exec.cc Fri Nov 22 20:10:59 2013 +0900 +++ b/example/regex_mas/ppe/Exec.cc Fri Nov 22 22:48:05 2013 +0900 @@ -9,8 +9,8 @@ SchedDefineTask(Exec); //ボイヤームーア法による文字列検索アルゴリズム -int BM_method(unsigned char *text,int text_length, - unsigned char *pattern,int sw_len,unsigned long long *match_string) +static int BM_method(unsigned char *text,int text_length, + unsigned char *pattern,int sw_len) { int skip[256]; int text_len = (long int)text_length; @@ -26,8 +26,6 @@ skip[(int)pattern[i]] = pattern_len - i - 1; } - - i = pattern_len - 1; while ( i < text_len){ @@ -49,13 +47,13 @@ { unsigned char *i_data = (unsigned char *)s->get_input(rbuf,0); unsigned char *search_word = (unsigned char*)s->get_input(rbuf,1); - - unsigned long long *o_data = (unsigned long long*)wbuf; int length = (int)s->get_inputSize(0); int sw_len = (int)s->get_inputSize(1); //unsigned char search_word[] = "doing"; - o_data[0] = BM_method(i_data,length,search_word,sw_len,o_data); + unsigned long long *o_data = (unsigned long long*)wbuf; + + o_data[0] = BM_method(i_data,length,search_word,sw_len); //s->printf("in Exec.cc\n");