Mercurial > hg > Game > Cerium
diff example/Miller_Rabin/main.cc @ 1244:cd50c48f45e7 draft real_matrix
fix
author | Daichi Toma <amothic@gmail.com> |
---|---|
date | Thu, 03 Nov 2011 20:40:17 +0900 |
parents | 9d37fa6bc1da |
children | 6b974390833b |
line wrap: on
line diff
--- a/example/Miller_Rabin/main.cc Tue Nov 01 19:23:11 2011 +0900 +++ b/example/Miller_Rabin/main.cc Thu Nov 03 20:40:17 2011 +0900 @@ -39,9 +39,9 @@ { U64 div_size = 1000; - U64 task_num = ((num >> 1) + div_size - 1) / div_size; + U64 task_num = (num + div_size - 1) / div_size; - bool *output = (bool*)manager->allocate(sizeof(bool)*task_num*div_size); /* 判定結果を収める配列 */ + bool *output = (bool*)manager->allocate(sizeof(bool)*(task_num*div_size >> 1)); /* 判定結果を収める配列 */ HTask *print = manager->create_task(PrintTask); @@ -49,12 +49,12 @@ HTask *prime = manager->create_task(Prime); - prime->set_outData(0,&output[i*div_size],sizeof(bool)*div_size); + prime->set_outData(0,&output[i*div_size>>1],sizeof(bool)*div_size>>1); prime->set_cpu(SPE_ANY); prime->set_param(0,(memaddr)(i*div_size)); // 開始地点 - prime->set_param(1,(memaddr)((i+1)*div_size - 1)); // 終了地点 + prime->set_param(1,(memaddr)((i+1)*div_size)); // 終了地点 print->wait_for(prime);