arb/examples/pi.c
2016-03-03 15:42:23 +01:00

44 lines
798 B
C

/* This file is public domain. Author: Fredrik Johansson. */
#include "arb.h"
#include "flint/profiler.h"
int main(int argc, char *argv[])
{
arb_t x;
slong prec, digits, condense;
if (argc < 2)
{
flint_printf("usage: build/examples/pi digits [condense = 20]\n");
return 1;
}
digits = atol(argv[1]);
if (argc > 2)
condense = atol(argv[2]);
else
condense = 20;
arb_init(x);
prec = digits * 3.3219280948873623 + 5;
flint_printf("computing pi with a precision of %wd bits... ", prec);
TIMEIT_ONCE_START
arb_const_pi(x, prec);
TIMEIT_ONCE_STOP
SHOW_MEMORY_USAGE
arb_printn(x, digits, ARB_STR_CONDENSE * condense);
flint_printf("\n");
arb_clear(x);
flint_cleanup();
return 0;
}