@@ -1647,46 +1647,6 @@ cdef class fmpz_mod_poly(flint_poly):
16471647 )
16481648 return res
16491649
1650- def mul_high (self , other , slong start ):
1651- r """
1652- Returns from coefficients from ``start`` onwards of the multiplication of ``self`` with ``other``
1653-
1654- # TODO!!!
1655- #
1656- # Is this expected behaviour? Seems weird.
1657- #
1658- >>> R = fmpz_mod_poly_ctx( 163)
1659- >>> f = R( [2,3,5,7,11 ])
1660- >>> g = R( [1,2,4,8,16 ])
1661- >>> f. mul_high( g, 0)
1662- 13* x^ 8 + 37* x^ 7 + 17* x^ 6 + 138* x^ 5 + 101* x^ 4 + 45* x^ 3 + 19* x^ 2 + 7* x + 2
1663- >>> f. mul_high( g, 1)
1664- 13* x^ 8 + 37* x^ 7 + 17* x^ 6 + 138* x^ 5 + 101* x^ 4 + 45* x^ 3 + 19* x^ 2 + 7* x
1665- >>> f. mul_high( g, 2)
1666- 13* x^ 8 + 37* x^ 7 + 17* x^ 6 + 138* x^ 5 + 101* x^ 4 + 45* x^ 3 + 19* x^ 2
1667- >>> f. mul_high( g, 3)
1668- 13* x^ 8 + 37* x^ 7 + 17* x^ 6 + 138* x^ 5 + 101* x^ 4 + 45* x^ 3
1669- >>> f. mul_high( g, 4)
1670- 13* x^ 8 + 37* x^ 7 + 17* x^ 6 + 138* x^ 5 + 101* x^ 4
1671- >>> f. mul_high( g, 5)
1672- 13* x^ 8 + 37* x^ 7 + 17* x^ 6 + 138* x^ 5 + 101* x^ 4 + 45* x^ 3 + 19* x^ 2 + 7* x + 2
1673- """
1674- # Only allow multiplication with other fmpz_mod_poly
1675- if not typecheck(other, fmpz_mod_poly):
1676- raise TypeError (" other polynomial must be of type fmpz_mod_poly" )
1677-
1678- # Ensure the contexts match
1679- other_c = < fmpz_mod_poly> other
1680- if self .ctx != other_c.ctx:
1681- raise ValueError (" other polynomial's context does not match" )
1682-
1683- cdef fmpz_mod_poly res
1684- res = self .ctx.new_ctype_poly()
1685- fmpz_mod_poly_mulhigh(
1686- res.val, self .val, other_c.val, start, res.ctx.mod.val
1687- )
1688- return res
1689-
16901650 def mul_mod (self , other , modulus ):
16911651 r """
16921652 Returns remainder of the product of ``self`` with ``other`` after reduction by ``modulus``
0 commit comments