Example #1
0
 def __long__(self):
     if gmp.mpz_fits_slong_p(self._mpz):
         return long(gmp.mpz_get_si(self._mpz))
     elif gmp.mpz_fits_ulong_p(self._mpz):
         return gmp.mpz_get_ui(self._mpz)
     else:
         return _mpz_to_pylong(self._mpz)
Example #2
0
 def __long__(self):
     if gmp.mpz_fits_slong_p(self._mpz):
         return long(gmp.mpz_get_si(self._mpz))
     elif gmp.mpz_fits_ulong_p(self._mpz):
         return gmp.mpz_get_ui(self._mpz)
     else:
         return _mpz_to_pylong(self._mpz)
Example #3
0
 def __int__(self):
     if not gmp.mpfr_number_p(self._mpfr):
         raise ValueError("Cannot convert '%s' to int" % self)
     elif gmp.mpfr_fits_slong_p(self._mpfr, gmp.MPFR_RNDN):
         return gmp.mpfr_get_si(self._mpfr, gmp.MPFR_RNDN)
     elif gmp.mpfr_fits_ulong_p(self._mpfr, gmp.MPFR_RNDN):
         return gmp.mpfr_get_ui(self._mpfr, gmp.MPFR_RNDN)
     else:
         tmp_mpz = _new_mpz()
         gmp.mpfr_get_z(tmp_mpz, self._mpfr, gmp.MPFR_RNDN)
         res = _mpz_to_pylong(tmp_mpz)
         _del_mpz(tmp_mpz)
         return res