def testDownshiftDegree(self): t1 = array_poly([1, 2, 0, 0, 3]) t2 = array_poly([0]) t3 = array_poly([0, 3]) self.assertEqual(t1, self.f.downshift_degree(0)) self.assertEqual(t2, self.f.downshift_degree(10)) self.assertEqual(t3, self.f.downshift_degree(3))
def testFFTMul(self): t = array_poly([0, -1, -2, 2, 4, -3, 0, 6]) self.assertEqual(t, self.f.FFT_mul(self.g)) self.assertEqual(t, self.g.FFT_mul(self.f))
def testSplitAt(self): t1 = array_poly([0, -1]) t2 = array_poly([0, 0, 0, 2]) self.assertEqual((array_poly([0]), self.g), self.g.split_at(0)) self.assertEqual((self.g, array_poly([0])), self.g.split_at(10)) self.assertEqual((t1, t2), self.g.split_at(2))
def testPower(self): t = array_poly([1, 4, 4, 0, 6, 12, 0, 0, 9]) self.assertEqual(t, self.f.power())
def testMul(self): t = array_poly([0, -1, -2, 2, 4, -3, 0, 6]) self.assertEqual(t, self.f * self.g) self.assertEqual(t, self.g * self.f)
def testNe(self): t = array_poly([1, 2, 0, 0, 3]) self.assertEqual(t, self.g)
def setUp(self): self.f = array_poly([1, 2, 0, 0, 3]) self.g = array_poly([0, -1, 0, 2]) self.h = array_poly([1, 2, 3, 4, 0])
def testUpshiftDegree(self): t1 = array_poly([1, 2, 0, 0, 3]) t2 = array_poly([0, 0, 0, 1, 2, 0, 0, 3]) self.assertEqual(t1, self.f.upshift_degree(0)) self.assertEqual(t2, self.f.upshift_degree(3))
def testSub(self): t = array_poly([1, 1, 0, -2, 3]) self.assertEqual(t, self.f - self.g)
def testAdd(self): t = array_poly([1, 1, 0, 2, 3]) self.assertEqual(t, self.f + self.g) self.assertEqual(t, self.g + self.f)