SV * Rmpfr_out_str(SV * p, SV * base, SV * dig, SV * round) {
if(SvIV(base) < 2 || SvIV(base) > 36) croak("2nd argument supplied to Rmpfr_out_str is out of allowable range (must be between 2 and 36 inclusive)");
return newSVuv(mpfr_out_str(NULL, SvUV(base), SvUV(dig), *(INT2PTR(mpfr_t *, SvIV(SvRV(p)))), SvUV(round)));
}
####
SV * Rmpfr_out_str(SV * p, SV * base, SV * dig, SV * round) {
unsigned long ret;
if(SvIV(base) < 2 || SvIV(base) > 36) croak("2nd argument supplied to Rmpfr_out_str is out of allowable range (must be between 2 and 36 inclusive)");
ret = mpfr_out_str(NULL, SvUV(base), SvUV(dig), *(INT2PTR(mpfr_t *, SvIV(SvRV(p)))), SvUV(round));
printf("\n");
return newSVuv(ret);
}
####
mpfr_get_str(out, expptr, b, n_dig, *(INT2PTR(mpfr_t *, SvIV(SvRV(p)))), SvUV(round));
####
mpfr_get_str(out, expptr, b, SvUV(n_digits), *(INT2PTR(mpfr_t *, SvIV(SvRV(p)))), SvUV(round));