03-avg.c - libzahl - big integer library
(HTM) git clone git://git.suckless.org/libzahl
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
03-avg.c (532B)
---
1 /* Calculates the truncated average of $@ */
2
3 #include <stdio.h>
4 #include <stdlib.h>
5
6 #include <zahl.h>
7
8 int
9 main(int argc, char *argv[])
10 {
11 z_t sum, term;
12 jmp_buf env;
13 char *buf;
14 int i;
15
16 if (setjmp(env))
17 return zperror(argv[0]), 1;
18
19 zsetup(env);
20 zinit(sum);
21 zinit(term);
22 zsetu(sum, 0);
23
24 for (i = 1; i < argc; i++) {
25 zsets(term, argv[i]);
26 zadd(sum, sum, term);
27 }
28 zseti(term, argc);
29 zdiv(sum, sum, term);
30
31 printf("%s\n", buf = zstr(sum, NULL, 0));
32 free(buf);
33
34 zfree(term);
35 zfree(sum);
36 zunsetup();
37 return 0;
38 }