Mercurial > hg > Game > Cerium
comparison example/regex_mas/ppe/Exec.cc @ 1759:11d3bd9d2244 draft
minor fix
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 22 Nov 2013 19:51:08 +0900 |
parents | 68e5872085ff |
children | b98e23499add |
comparison
equal
deleted
inserted
replaced
1751:224802aba3bd | 1759:11d3bd9d2244 |
---|---|
8 /* これは必須 */ | 8 /* これは必須 */ |
9 SchedDefineTask(Exec); | 9 SchedDefineTask(Exec); |
10 | 10 |
11 //ボイヤームーア法による文字列検索アルゴリズム | 11 //ボイヤームーア法による文字列検索アルゴリズム |
12 int BM_method(unsigned char *text,int text_length, | 12 int BM_method(unsigned char *text,int text_length, |
13 unsigned char *pattern,unsigned long long *match_string) | 13 unsigned char *pattern,int sw_len,unsigned long long *match_string) |
14 { | 14 { |
15 int skip[256]; | 15 int skip[256]; |
16 int text_len = (long int)text_length; | 16 int text_len = (long int)text_length; |
17 int pattern_len = strlen((char *)pattern); | 17 int pattern_len = sw_len; |
18 int i = 0; | 18 int i = 0; |
19 int match_counter = 0; | 19 int match_counter = 0; |
20 | 20 |
21 for (i = 0; i < 256; ++i){ | 21 for (i = 0; i < 256; ++i){ |
22 skip[i] = pattern_len; | 22 skip[i] = pattern_len; |
50 unsigned char *i_data = (unsigned char *)s->get_input(rbuf,0); | 50 unsigned char *i_data = (unsigned char *)s->get_input(rbuf,0); |
51 unsigned char *search_word = (unsigned char*)s->get_input(rbuf,1); | 51 unsigned char *search_word = (unsigned char*)s->get_input(rbuf,1); |
52 | 52 |
53 unsigned long long *o_data = (unsigned long long*)wbuf; | 53 unsigned long long *o_data = (unsigned long long*)wbuf; |
54 int length = (int)s->get_inputSize(0); | 54 int length = (int)s->get_inputSize(0); |
55 int sw_len = (int)s->get_inputSize(1); | |
55 //unsigned char search_word[] = "doing"; | 56 //unsigned char search_word[] = "doing"; |
56 | 57 |
57 o_data[0] = BM_method(i_data,length,search_word,o_data); | 58 o_data[0] = BM_method(i_data,length,search_word,sw_len,o_data); |
58 | 59 |
59 //s->printf("in Exec.cc\n"); | 60 //s->printf("in Exec.cc\n"); |
60 | 61 |
61 return 0; | 62 return 0; |
62 } | 63 } |