/ test / supportclasses.py
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()