MPFR Subnormalize
==================

>>> import gmpy2
>>> gmpy2.set_context(gmpy2.ieee(64))
>>> zeroes = '0.' + '0' * 323
>>> gmpy2.mpfr(zeroes + '2470328229206232720')
mpfr('0.0')
>>> gmpy2.mpfr(zeroes + '2470328229206232721')
mpfr('4.9406564584124654e-324')
>>> gmpy2.mpfr(zeroes + '247032822920623272088')
mpfr('0.0')
>>> gmpy2.mpfr(zeroes + '247032822920623272089')
mpfr('4.9406564584124654e-324')


>>> gmpy2.set_context(gmpy2.ieee(32))
>>> def fmt(v):
...     return '{:.23b}'.format(v)
...
>>> a = gmpy2.mpfr('0x1p-126')
>>> fmt(a)
'1.00000000000000000000000p-126'
>>> fmt(gmpy2.next_below(a))
'1.11111111111111111111110p-127'
>>> fmt(gmpy2.next_above(a))
'1.00000000000000000000001p-126'
>>> fmt(gmpy2.next_below(0))
'-1.00000000000000000000000p-149'
>>> fmt(gmpy2.next_above(0))
'1.00000000000000000000000p-149'
>>> fmt(gmpy2.next_toward(a, -10))
'1.11111111111111111111110p-127'
>>> fmt(gmpy2.next_toward(a, 10))
'1.00000000000000000000001p-126'

