def test_dmp_ff_div(): raises(ZeroDivisionError, lambda: dmp_ff_div([[1,2],[3]], [[]], 1, QQ)) f = dmp_normal([[1], [], [1,0,0]], 1, QQ) g = dmp_normal([[1], [-1,0]], 1, QQ) q = [[QQ(1, 1)], [QQ(1, 1), QQ(0, 1)]] r = [[QQ(2, 1), QQ(0, 1), QQ(0, 1)]] assert dmp_ff_div(f, g, 1, QQ) == (q, r) f = dmp_normal([[1], [], [1,0,0]], 1, QQ) g = dmp_normal([[-1], [1,0]], 1, QQ) q = [[QQ(-1, 1)], [QQ(-1, 1), QQ(0, 1)]] r = [[QQ(2, 1), QQ(0, 1), QQ(0, 1)]] assert dmp_ff_div(f, g, 1, QQ) == (q, r) f = dmp_normal([[1], [], [1,0,0]], 1, QQ) g = dmp_normal([[2], [-2,0]], 1, QQ) q = [[QQ(1, 2)], [QQ(1, 2), QQ(0, 1)]] r = [[QQ(2, 1), QQ(0, 1), QQ(0, 1)]] assert dmp_ff_div(f, g, 1, QQ) == (q, r)
def test_dup_ff_div_gmpy2(): try: from gmpy2 import mpq except ImportError: return from sympy.polys.domains import GMPYRationalField K = GMPYRationalField() f = [mpq(1,3), mpq(3,2)] g = [mpq(2,1)] assert dmp_ff_div(f, g, 0, K) == ([mpq(1,6), mpq(3,4)], []) f = [mpq(1,2), mpq(1,3), mpq(1,4), mpq(1,5)] g = [mpq(-1,1), mpq(1,1), mpq(-1,1)] assert dmp_ff_div(f, g, 0, K) == ([mpq(-1,2), mpq(-5,6)], [mpq(7,12), mpq(-19,30)])
def test_dup_ff_div_gmpy2(): try: from gmpy2 import mpq except ImportError: return from sympy.polys.domains import GMPYRationalField K = GMPYRationalField() f = [mpq(1, 3), mpq(3, 2)] g = [mpq(2, 1)] assert dmp_ff_div(f, g, 0, K) == ([mpq(1, 6), mpq(3, 4)], []) f = [mpq(1, 2), mpq(1, 3), mpq(1, 4), mpq(1, 5)] g = [mpq(-1, 1), mpq(1, 1), mpq(-1, 1)] assert dmp_ff_div(f, g, 0, K) == ([mpq(-1, 2), mpq(-5, 6)], [mpq(7, 12), mpq(-19, 30)])