# MPFR is missing a "mpfr_ui_div_ui"

% Remco Bloemen % 2009-11-24, last updated 2014-03-03

Strangely, MPFR is lacking a `mpfr_ui_div_ui`

function, that is, a function that calculates the fraction of two small
unsigned integers to very high accuracy. Until now I’ve been calculating
it like this:

```
mpfr_set_ui(invprime, prime[i], GMP_RNDN);
mpfr_ui_div(invprime, 1, invprime, GMP_RNDN);
```

which is very slow! The reason is probably that the `mpfr_ui_div`

is
calculated using all bits in `invprime`

, even though most of them are
zero. A much faster method is to prepare a two-bit `one`

constant like
this:

```
mpfr_t one;
mpfr_init2(one, 2);
mpfr_set_ui(one, 1, GMP_RNDN);
```

and then do this:

```
mpfr_div_ui(invprime, one, primes[i], GMP_RNDN);
```