me.assertEqual(str(y), '6556380541834372447694561492436749633')
me.assertEqual(repr(y), 'MP(6556380541834372447694561492436749633)')
me.assertEqual(hex(y), '0x4eeb684a0954ec4ceb255e3e9778d41')
- me.assertEqual(oct(y), '047353320450112516611472622536175135706501')
+ me.assertEqual(oct(y), T.py23('0', '0o') +
+ '47353320450112516611472622536175135706501')
+ try: bin
+ except NameError: pass
+ else: me.assertEqual(bin(C.MP(661438603)),
+ '0b100111011011001100000010001011')
def test_number(me):
x, y, m, zero = C.MP(169), C.MP(24), C.MP(205), C.MP(0)
while z == z + 1: z *= 2.0
me.assertNotEqual(C.MP(int(z)) + 1, z)
+ def test_strconv(me):
+ x, y = C.MP(169), "24"
+ for fn in [T.add, T.sub]:
+ me.assertRaises(TypeError, fn, x, y)
+ me.assertRaises(TypeError, fn, y, x)
+ me.assertEqual(x*y, 169*"24")
+ me.assertEqual(y*x, 169*"24")
+
def test_bits(me):
x, y, zero = C.MP(169), C.MP(-24), C.MP(0)
me.assertTrue(x.testbit(0))
me.assertEqual(C.GF(E(1, 4)), C.GF(1))
me.assertRaises(TypeError, C.GF, E())
+ me.assertNotEqual(x, 5) # no implicit conversion to int
me.assertEqual(int(x), 5)
y = C.GF(0x4eeb684a0954ec4ceb255e3e9778d41)
me.assertEqual(type(int(y)), T.long)
me.assertEqual(str(y), '0x4eeb684a0954ec4ceb255e3e9778d41')
me.assertEqual(repr(y), 'GF(0x4eeb684a0954ec4ceb255e3e9778d41)')
me.assertEqual(hex(y), '0x4eeb684a0954ec4ceb255e3e9778d41')
- me.assertEqual(oct(y), '047353320450112516611472622536175135706501')
+ me.assertEqual(oct(y), T.py23('0', '0o') +
+ '47353320450112516611472622536175135706501')
+ try: bin
+ except NameError: pass
+ else: me.assertEqual(bin(C.GF(661438603)),
+ '0b100111011011001100000010001011')
def test_number(me):
x, y, m, zero = C.GF(0xa9), C.GF(0x18), C.GF(0x11b), C.GF(0)