Changes in gmpy 1.10

Number conversion rules have changed.
-------------------------------------
The arguments in operations involving mixed types are converted using the
following rules:

   Integer --> Rational   --> Floating-point
    'int'       'Fraction'     'float'
    'long'      'mpq'          'Decimal'
    'mpz'                      'mpf'

   Old behavior:
     mpz(1) + float(1.2)     --> float(2.2)
     mpz(1) + Decimal('1.2') --> mpz(2)

   New behavior:
     mpz(1) + float(1.2)     --> mpf(2.2)
     mpz(1) + Decimal('1.2') --> mpf(2.2)

As a side-effect of Python 3.x compatibility, coerce() is no longer supported.

The result of // will be an mpz if the arguments are Integer or Rational, but
will be an mpf if either argument is Floating-point.

The result of 'mpq'/'mpq' will be an 'mpq'. It will not be converted to an
'mpf'. This matches the behavior of the 'Fraction' type in Python 3.x.

The result of 'mpz'/'float' will an 'mpf' instead of a 'float'.

Type-specific methods require appropriate arguments.
----------------------------------------------------
If you call an 'mpq' specific method, i.e. gmpy.qdiv, the arguments are
required to be either integer or rational. Floating-point arguments are not
automatically converted to rational when an 'mpq' specific method is
called. Similarly, if you call an 'mpz' specific method, the arguments must
be integers.

Other bug fixes and changes
--------------------------
Corrected formating bug with mpf where last digit was missing.

The wording of some error messages has changed. The type of error has not
changed.

The result of gcdext may no longer be the "minimal" values. They result
does solve gcd(a,b) = ax + by. This is a side-effect of GMP 4.3 using a
different (faster) algorithm.

Unicode strings are now supported.


