diff options
Diffstat (limited to 'tests/eyal1.c')
| -rw-r--r-- | tests/eyal1.c | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/eyal1.c b/tests/eyal1.c index a9ba909..6954c3b 100644 --- a/tests/eyal1.c +++ b/tests/eyal1.c @@ -63,7 +63,7 @@ typedef struct thread_control	TC;  static TC		*tcs = NULL;  static int		nthreads = 10; -static int		nwork = 1000; +static int		nwork = 100;  static int		quiet = 0;  static int		todo = -1; @@ -86,7 +86,7 @@ die (int ret)  } -static void +static double  waste_time (int n)  {    int		i; @@ -98,6 +98,7 @@ waste_time (int n)      {        f = 2 * f * f / (f * f);      } +  return f;  }  static int @@ -105,6 +106,7 @@ do_work_unit (int who, int n)  {    int		i;    static int	nchars = 0; +  double	f = 0.0;    if (quiet)      i = 0; @@ -131,7 +133,11 @@ do_work_unit (int who, int n)    }    n = rand () % 10000;	/* ignore incoming 'n' */ -  waste_time (n); +  f = waste_time (n); + +  /* This prevents the statement above from being optimised out */ +  if (f > 0.0) +    return(n);    return (n);  }  | 
