コード例 #1
0
ファイル: mpz.py プロジェクト: sn6uv/gmpy_cffi
 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)
コード例 #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)
コード例 #3
0
ファイル: mpz.py プロジェクト: sn6uv/gmpy_cffi
 def __rshift__(self, other):
     if not isinstance(other, (int, long, mpz)):
         return NotImplemented
     oth = gmp.mpz_get_ui(other._mpz) if isinstance(other, mpz) else other
     res = _new_mpz()
     gmp.mpz_fdiv_q_2exp(res, self._mpz, oth)
     return mpz._from_c_mpz(res)
コード例 #4
0
 def __rshift__(self, other):
     if not isinstance(other, (int, long, mpz)):
         return NotImplemented
     oth = gmp.mpz_get_ui(other._mpz) if isinstance(other, mpz) else other
     res = _new_mpz()
     gmp.mpz_fdiv_q_2exp(res, self._mpz, oth)
     return mpz._from_c_mpz(res)