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);