Mercurial > hg > Members > kono > Cerium
diff example/word_count/spe/Exec.cc @ 467:44c0bce54dcf
fix all examples. test_render is not working now.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 01 Oct 2009 19:25:25 +0900 |
parents | e08d0aa94367 |
children | ab866bc8a624 |
line wrap: on
line diff
--- a/example/word_count/spe/Exec.cc Thu Oct 01 17:33:58 2009 +0900 +++ b/example/word_count/spe/Exec.cc Thu Oct 01 19:25:25 2009 +0900 @@ -6,13 +6,13 @@ /* これは必須 */ SchedDefineTask(Exec); -int -Exec::run(void *rbuf, void *wbuf) +static int +run(SchedTask *s, void *rbuf, void *wbuf) { - char *i_data = (char*)get_input(rbuf, 0); - unsigned long long *o_data = (unsigned long long*)get_output(wbuf, 0); - int length = get_param(0); - int word_flag = get_param(1); + char *i_data = (char*)s->get_input(rbuf, 0); + unsigned long long *o_data = (unsigned long long*)s->get_output(wbuf, 0); + int length = s->get_param(0); + int word_flag = s->get_param(1); int word_num = 0; int line_num = 0; int i; @@ -20,10 +20,10 @@ /*先頭の文字まで、飛ぶルーチン*/ for(i = 0; i < length; i++) { if ((i_data[i] != 0x20) && (i_data[i] != 0x0A)) { - //printf("[SPE%d] break[%d] %d\n",id,i,i_data[i]); + //s->printf("[SPE%d] break[%d] %d\n",id,i,i_data[i]); break; } - //printf("[SPE%d]%c",id,i_data[start_num]); + //s->printf("[SPE%d]%c",id,i_data[start_num]); word_num += word_flag; word_flag = 0; line_num += (i_data[i] == 0x0A); @@ -33,16 +33,16 @@ for (; i < length; i++) { - //printf("[SPE%d]%c",id,i_data[i]); + //s->printf("[SPE%d]%c",id,i_data[i]); if (i_data[i] == 0x20) { - //printf("スペース\n"); + //s->printf("スペース\n"); word_flag = 1; } else if (i_data[i] == 0x0A) { - //printf("改行\n"); + //s->printf("改行\n"); line_num += 1; word_flag = 1; } @@ -56,7 +56,7 @@ word_num += word_flag; - //printf("%d %d\n",word_num,line_num); + //s->printf("%d %d\n",word_num,line_num); o_data[0] = (unsigned long long)word_num; o_data[1] = (unsigned long long)line_num;