diff options
Diffstat (limited to 'tinycc/tests/tests2/110_average.c')
| -rw-r--r-- | tinycc/tests/tests2/110_average.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tinycc/tests/tests2/110_average.c b/tinycc/tests/tests2/110_average.c new file mode 100644 index 0000000..273b511 --- /dev/null +++ b/tinycc/tests/tests2/110_average.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +typedef struct +{ + double average; + int count; +} +stats_type; + +static void +testc (stats_type *s, long long data) +{ + s->average = (s->average * s->count + data) / (s->count + 1); + s->count++; +} + +int main (void) +{ + stats_type s; + + s.average = 0; + s.count = 0; + testc (&s, 10); + testc (&s, 20); + printf ("%g %d\n", s.average, s.count); + return 0; +} |
