bench: pass N as argument, update readme
[libc-test] / src / foo / foo.c
index 637d7fa..033557d 100644 (file)
@@ -2,27 +2,28 @@
 
 // dummy test
 
-static unsigned foo(unsigned n) {
+static int foo(int n) {
        int i;
 
-       for (i = 0; i < 10; i++) {
-               n = n*n;
-               n = n+123;
-               n = n/7;
+       for (i = 0; n > 1 && i < 100; i++) {
+               if (n % 2)
+                       n = 3*n + 1;
+               else
+                       n /= 2;
        }
        return n;
 }
 
-void bench_foo() {
+void bench_foo(int N) {
        int i;
 
        for (i = 0; i < N; i++)
-               foo(3);
+               foo(123);
 }
 
 void test_foo() {
-       unsigned n = foo(3);
+       int n = foo(123);
 
-       if (n != 123)
-               error("foo(3):%u expected 123\n", n);
+       if (n != 1)
+               error("foo(123):%d expected 1\n", n);
 }