def test_gf2m_modmulinv__neg(self):
        """ Negative tests for gf2m_modmulinv(a,f) """
        # Not meant to be called with other values than int or long
        self.failUnlessRaises(AttributeError, ar.gf2m_modmulinv, 0.0, 0b10011)
        self.failUnlessRaises(TypeError, ar.gf2m_modmulinv, "asdf", 0b10011)

	self.failUnlessEqual(ar.gf2m_modmulinv(-0b1010011,0b100011011),0b11001010)
	self.failUnlessEqual(ar.gf2m_modmulinv(0b1010011,-0b100011011),0b11001010)
	self.failUnlessEqual(ar.gf2m_modmulinv(-0b1010011,-0b100011011),0b11001010)
    def test_gf2m_modmulinv__pos(self):
        """ Positive tests for gf2m_modmulinv(a,f)

        Sage test calculations::
            sage: F.<y> = GF(2)[]
            sage: a = y^6 + y^4 + y + 1         # a = 0b1010011
            sage: b = y^7 + y^6 + y^3 + y       # b = 0b11001010
            sage: p = y^8 + y^4 + y^3 + y + 1   # f = 0b100011011
            sage: ai = a.inverse_mod(p); ai
            y^7 + y^6 + y^3 + y
            sage: inverse_mod(a,p)
            y^7 + y^6 + y^3 + y
            sage: b == ai
            True
        """ 
	self.failUnlessEqual(ar.gf2m_modmulinv(0b1010011,0b100011011),0b11001010)