X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fieee754%2Ffpcommon%2Ftest%2Funit_test_single.py;h=160ac5b1cf187ed153992bb5286f423039f11302;hb=3cd9a94a65be2121db5f95297631a890238f285c;hp=2b0d9e569e2a86d3382ef17579fc62cf63fa835e;hpb=c3c766cd5a2052f23ed8ede119a9bff7ef00da98;p=ieee754fpu.git diff --git a/src/ieee754/fpcommon/test/unit_test_single.py b/src/ieee754/fpcommon/test/unit_test_single.py index 2b0d9e56..160ac5b1 100644 --- a/src/ieee754/fpcommon/test/unit_test_single.py +++ b/src/ieee754/fpcommon/test/unit_test_single.py @@ -199,56 +199,57 @@ def run_test_2(dut, stimulus_a, stimulus_b, op, get_case_fn): yield from run_test(dut, stimulus_a, stimulus_b, op, get_case_fn) yield from run_test(dut, stimulus_b, stimulus_a, op, get_case_fn) -def run_cases(dut, count, op, fixed_num, num_entries, get_case_fn): +def run_cases(dut, count, op, fixed_num, maxcount, get_case_fn): if isinstance(fixed_num, int): - stimulus_a = [fixed_num for i in range(num_entries)] + stimulus_a = [fixed_num for i in range(maxcount)] report = hex(fixed_num) else: stimulus_a = fixed_num report = "random" - stimulus_b = [randint(0, 1<<32) for i in range(num_entries)] + stimulus_b = [randint(0, 1<<32) for i in range(maxcount)] yield from run_test_2(dut, stimulus_a, stimulus_b, op, get_case_fn) count += len(stimulus_a) print (count, "vectors passed 2^32", report) # non-canonical NaNs. stimulus_b = [set_exponent(randint(0, 1<<32), 128) \ - for i in range(num_entries)] + for i in range(maxcount)] yield from run_test_2(dut, stimulus_a, stimulus_b, op, get_case_fn) count += len(stimulus_a) print (count, "vectors passed Non-Canonical NaN", report) # -127 stimulus_b = [set_exponent(randint(0, 1<<32), -127) \ - for i in range(num_entries)] + for i in range(maxcount)] yield from run_test_2(dut, stimulus_a, stimulus_b, op, get_case_fn) count += len(stimulus_a) print (count, "vectors passed exp=-127", report) # nearly zero stimulus_b = [set_exponent(randint(0, 1<<32), -126) \ - for i in range(num_entries)] + for i in range(maxcount)] yield from run_test_2(dut, stimulus_a, stimulus_b, op, get_case_fn) count += len(stimulus_a) print (count, "vectors passed exp=-126", report) # nearly inf stimulus_b = [set_exponent(randint(0, 1<<32), 127) \ - for i in range(num_entries)] + for i in range(maxcount)] yield from run_test_2(dut, stimulus_a, stimulus_b, op, get_case_fn) count += len(stimulus_a) print (count, "vectors passed exp=127", report) return count -def run_edge_cases(dut, count, op, get_case_fn): +def run_edge_cases(dut, count, op, get_case_fn, maxcount=10, num_loops=1000): #edge cases for testme in corner_cases: - count = yield from run_cases(dut, count, op, testme, 10, get_case_fn) + count = yield from run_cases(dut, count, op, testme, + maxcount, get_case_fn) - for i in range(100000): - stimulus_a = [randint(0, 1<<32) for i in range(10)] + for i in range(num_loops): + stimulus_a = [randint(0, 1<<32) for i in range(maxcount)] count = yield from run_cases(dut, count, op, stimulus_a, 10, get_case_fn) return count