Esempio n. 1
0
 def from_sympy(self, a):
     """Convert SymPy's Integer to SymPy's `Integer`. """
     if a.is_Integer:
         return a
     elif a.is_Float and int(a) == a:
         return SymPyIntegerType(int(a))
     else:
         raise CoercionFailed("expected an integer, got %s" % a)
Esempio n. 2
0
    def from_RR_sympy(K1, a, K0):
        """Convert SymPy's `Float` to SymPy's `Integer`. """
        p, q = K0.as_integer_ratio(a)

        if q == 1:
            return SymPyIntegerType(p)
Esempio n. 3
0
 def from_QQ_gmpy(K1, a, K0):
     """Convert GMPY's `mpq` to SymPy's `Integer`. """
     if a.denom() == 1:
         return SymPyIntegerType(int(a.numer()))
Esempio n. 4
0
 def from_ZZ_gmpy(K1, a, K0):
     """Convert GMPY's `mpz` to SymPy's `Integer`. """
     return SymPyIntegerType(int(a))
Esempio n. 5
0
 def from_FF_gmpy(K1, a, K0):
     """Convert `ModularInteger(mpz)` to SymPy's `Integer`. """
     return SymPyIntegerType(int(a.to_int()))
Esempio n. 6
0
 def from_QQ_sympy(K1, a, K0):
     """Convert SymPy's `Rational` to SymPy's `Integer`. """
     if a.q == 1:
         return SymPyIntegerType(a.p)
Esempio n. 7
0
 def from_QQ_python(K1, a, K0):
     """Convert Python's `Fraction` to SymPy's `Integer`. """
     if a.denominator == 1:
         return SymPyIntegerType(a.numerator)
Esempio n. 8
0
 def lcm(self, a, b):
     """Compute LCM of ``a`` and ``b``. """
     return SymPyIntegerType(python_lcm(int(a), int(b)))
Esempio n. 9
0
 def from_FF_python(K1, a, K0):
     """Convert `ModularInteger(int)` to SymPy's `Integer`. """
     return SymPyIntegerType(a.to_int())
Esempio n. 10
0
 def denom(self, a):
     """Returns denominator of `a`. """
     return SymPyIntegerType(a.q)
Esempio n. 11
0
 def numer(self, a):
     """Returns numerator of `a`. """
     return SymPyIntegerType(a.p)
Esempio n. 12
0
 def factorial(self, a):
     """Compute factorial of ``a``. """
     return SymPyIntegerType(python_factorial(int(a)))
Esempio n. 13
0
 def sqrt(self, a):
     """Compute square root of ``a``. """
     return SymPyIntegerType(python_sqrt(int(a)))
Esempio n. 14
0
    def from_RR_mpmath(K1, a, K0):
        """Convert mpmath's `mpf` to SymPy's `Integer`. """
        p, q = K0.as_integer_ratio(a)

        if q == 1:
            return SymPyIntegerType(p)
Esempio n. 15
0
 def from_ZZ_python(K1, a, K0):
     """Convert Python's `int` to SymPy's `Integer`. """
     return SymPyIntegerType(a)
Esempio n. 16
0
 def to_sympy(self, a):
     """Convert `a` to a SymPy object. """
     return SymPyIntegerType(int(a))
Esempio n. 17
0
 def gcd(self, a, b):
     """Compute GCD of ``a`` and ``b``. """
     return SymPyIntegerType(python_gcd(int(a), int(b)))