def test_binary(method, prec, exp_range, restricted_range, itr, stat): """Iterate a binary function through many test cases.""" if method in BinaryRestricted: exp_range = restricted_range for op in all_binary(prec, exp_range, itr): t = TestSet(method, op) try: if not convert(t): continue callfuncs(t) verify(t, stat) except VerifyError as err: log(err)
def testcases(self): yield 0 yield 0.5 yield -0.5 yield 0.5j yield -0.5j yield self.min yield self.max prec = randrange(1, 10) for v, w in all_binary(prec, self.exp, 1): yield complex(float(v), float(w)) for v, w in bin_randfloat(): yield complex(float(v), float(w))
def test_quantize_api(method, prec, exprange, restricted_range, itr, stat): """Iterate the 'quantize' method through many test cases, using the optional arguments.""" for op in all_binary(prec, restricted_range, itr): for rounding in RoundModes: c = randcontext(exprange) quantizeop = (op[0], op[1], rounding, c) t = TestSet(method, quantizeop) try: if not convert(t): continue callfuncs(t) verify(t, stat) except VerifyError as err: log(err)