'Construct a Progress object.  a and b must be numbers, and must have
0 <= a <= b and b > 0'

def __init__(self, a, b):

    if (not (isinstance(a, numbers.Number) and isinstance(b, numbers.Number))):
        raise TypeError('a    and    b    must    be    numbers.        Passed    {0}/{1}'.format(a, b))
    if (a > b):
        a = b
    if (a < 0):
        a = 0
    if (b <= 0):
        raise ValueError('fraction    a/b    =    {0}/{1}    must    have    b    >    0'.format(a, b))
    self._a = a
    self._b = b
