瀏覽代碼

examples/axpy/axpy.c and gcc-plugin/examples/vector_scal/vector_scal.c: fix result checking.

Cyril Roelandt 13 年之前
父節點
當前提交
3aa160bc7d
共有 2 個文件被更改,包括 8 次插入4 次删除
  1. 1 1
      examples/axpy/axpy.c
  2. 7 3
      gcc-plugin/examples/vector_scal/vector_scal.c

+ 1 - 1
examples/axpy/axpy.c

@@ -101,7 +101,7 @@ check(void)
 	for (i = 0; i < N; i++)
 	{
 		TYPE expected_value = alpha * vec_x[i] + 4.0;
-		if (fabs(vec_y[i] - expected_value) > EPSILON) {
+		if (fabs(vec_y[i] - expected_value) > expected_value * EPSILON) {
 			FPRINTF(stderr,"at %d, %f*%f+%f=%f, expected %f\n", i, alpha, vec_x[i], 4.0, vec_y[i], expected_value);
 			return EXIT_FAILURE;
 		}

+ 7 - 3
gcc-plugin/examples/vector_scal/vector_scal.c

@@ -148,9 +148,13 @@ check (size_t size, float vector[size], float factor)
   size_t i;
 
   for (i = 0; i < size; i++)
-    if (fabs(vector[i] - i * factor) > EPSILON)
-      return false;
-
+    {
+      if (fabs(vector[i] - i * factor) > i*factor*EPSILON)
+        {
+          fprintf(stderr, "%.2f != %.2f\n", vector[i], i*factor);
+          return false;
+        }
+    }
   return true;
 }