'Compare arguments expected and got, as floats, if either
is a float, using a tolerance expressed in multiples of
ulp(expected) or absolutely, whichever is greater.
As a convenience, when neither argument is a float, and for
non-finite floats, exact equality is demanded. Also, nan==nan
in this function.'

def ftest(self, name, got, expected, ulp_tol=5, abs_tol=0.0):

    failure = result_check(expected, got, ulp_tol, abs_tol)
    if (failure is not None):
        self.fail('{}:    {}'.format(name, failure))
