#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include MODULE = Math::Tobase PACKAGE = Math::Tobase SV * tobase(radix, num) int radix long num CODE: ST(0) = sv_newmortal(); if (2 <= radix && radix <= 62 || -36 <= radix && radix <= -2) { mpz_t big; mpz_init_set_si(big, num); if (mpz_sizeinbase(big, radix) <= 70) { char buf[72]; mpz_get_str(buf, radix, big); sv_setpv(ST(0), buf); } mpz_clear(big); }