libzahl

big integer library
git clone git://git.suckless.org/libzahl
Log | Files | Refs | README | LICENSE

02-prod.c (496B)


      1 /* Calculates the product 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 prod, factor;
     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(prod);
     21 	zinit(factor);
     22 	zsetu(prod, 1);
     23 
     24 	for (i = 1; i < argc; i++) {
     25 		zsets(factor, argv[i]);
     26 		zmul(prod, prod, factor);
     27 	}
     28 
     29 	printf("%s\n", buf = zstr(prod, NULL, 0));
     30 	free(buf);
     31 
     32 	zfree(factor);
     33 	zfree(prod);
     34 	zunsetup();
     35 	return 0;
     36 }