supportclasses.py
1 import gmpy2 2 3 class Z: 4 def __mpz__(self): return gmpy2.mpz(2) 5 class Q: 6 def __mpz__(self): return gmpy2.mpz(1) 7 def __mpq__(self): return gmpy2.mpq(3,2) 8 class R: 9 def __mpfr__(self): return gmpy2.mpfr(1.5) 10 class Cx: 11 def __mpfr__(self): return gmpy2.mpfr(1.5) 12 def __mpc__(self): return gmpy2.mpc(42,67) 13 14 z = Z() 15 q = Q() 16 r = R() 17 cx = Cx() 18 19 class A: 20 def __mpz__(self): return gmpy2.mpz(1) 21 def __mpq__(self): return gmpy2.mpq(3,2) 22 def __mpfr__(self): return gmpy2.mpfr(1.5) 23 def __mpc__(self): return gmpy2.mpc(42,67) 24 class B: 25 def __mpz__(self): return 'hello' 26 def __mpq__(self): return 'hello' 27 def __mpfr__(self): return 'hello' 28 def __mpc__(self): return 'hello' 29 class C: 30 pass 31 class D: 32 def __mpz__(self): raise TypeError 33 def __mpq__(self): raise TypeError 34 def __mpfr__(self): raise TypeError 35 def __mpc__(self): raise TypeError 36 37 a = A() 38 b = B() 39 c = C() 40 d = D()