6 static void *pi_arctan_sequence(cf_t cf
) {
18 mpz_add_ui(denom
, denom
, 2);
20 mpz_add(num
, num
, denom
);
34 pi
= cf_new(pi_arctan_sequence
, NULL
);
35 mpz_init(a
); mpz_init(b
); mpz_init(c
); mpz_init(d
);
36 mpz_set_ui(a
, 0); mpz_set_ui(b
, 4);
37 mpz_set_ui(c
, 1); mpz_set_ui(d
, 0);
39 conv
= cf_new_nonregular_to_cf(pi
, a
, b
, c
, d
);
40 cf_t dec
= cf_new_cf_to_decimal(conv
);
41 // Interestingly, regularizing the continued fraction and
42 // then converting to decimal is faster than doing everything at once:
43 // conv = cf_new_nonregular_mobius_to_decimal(pi, a, b, c, d);
44 for (int i
= 1; i
<= 5000; i
++) {
47 if (!(i
%5)) printf(" ");
48 if (!(i
%50)) printf("\n");
55 mpz_clear(d
); mpz_clear(c
); mpz_clear(b
); mpz_clear(a
);