X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fieee754%2Ffpcommon%2Ftest%2Funit_test_double.py;h=ac7ab7b66f8168620584bdf0ad8b22181f943394;hb=d4bf60f2b005ff110c2cc096c4cf387f3a49c0d7;hp=8cc097f2a2fe1ebdad669d0bdd531d92d796d85a;hpb=c3c766cd5a2052f23ed8ede119a9bff7ef00da98;p=ieee754fpu.git diff --git a/src/ieee754/fpcommon/test/unit_test_double.py b/src/ieee754/fpcommon/test/unit_test_double.py index 8cc097f2..ac7ab7b6 100644 --- a/src/ieee754/fpcommon/test/unit_test_double.py +++ b/src/ieee754/fpcommon/test/unit_test_double.py @@ -67,7 +67,7 @@ def check_case(dut, a, b, z): assert out_z == z, "Output z 0x%x not equal to expected 0x%x" % (out_z, z) -def run_test(dut, stimulus_a, stimulus_b, op): +def run_fpunit(dut, stimulus_a, stimulus_b, op): expected_responses = [] actual_responses = [] @@ -138,90 +138,90 @@ def run_corner_cases(dut, count, op): 0x7ff0000000000000, 0xfff0000000000000 ], 2)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") -def run_edge_cases(dut, count, op): +def run_edge_cases(dut, count, op, maxcount=1000, num_loops=1000): #edge cases - stimulus_a = [0x8000000000000000 for i in range(1000)] - stimulus_b = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_a = [0x8000000000000000 for i in range(maxcount)] + stimulus_b = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_a = [0x0000000000000000 for i in range(1000)] - stimulus_b = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_a = [0x0000000000000000 for i in range(maxcount)] + stimulus_b = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_b = [0x8000000000000000 for i in range(1000)] - stimulus_a = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_b = [0x8000000000000000 for i in range(maxcount)] + stimulus_a = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_b = [0x0000000000000000 for i in range(1000)] - stimulus_a = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_b = [0x0000000000000000 for i in range(maxcount)] + stimulus_a = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_a = [0x7FF8000000000000 for i in range(1000)] - stimulus_b = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_a = [0x7FF8000000000000 for i in range(maxcount)] + stimulus_b = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_a = [0xFFF8000000000000 for i in range(1000)] - stimulus_b = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_a = [0xFFF8000000000000 for i in range(maxcount)] + stimulus_b = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_b = [0x7FF8000000000000 for i in range(1000)] - stimulus_a = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_b = [0x7FF8000000000000 for i in range(maxcount)] + stimulus_a = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_b = [0xFFF8000000000000 for i in range(1000)] - stimulus_a = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_b = [0xFFF8000000000000 for i in range(maxcount)] + stimulus_a = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_a = [0x7FF0000000000000 for i in range(1000)] - stimulus_b = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_a = [0x7FF0000000000000 for i in range(maxcount)] + stimulus_b = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_a = [0xFFF0000000000000 for i in range(1000)] - stimulus_b = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_a = [0xFFF0000000000000 for i in range(maxcount)] + stimulus_b = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_b = [0x7FF0000000000000 for i in range(1000)] - stimulus_a = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_b = [0x7FF0000000000000 for i in range(maxcount)] + stimulus_a = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") - stimulus_b = [0xFFF0000000000000 for i in range(1000)] - stimulus_a = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) + stimulus_b = [0xFFF0000000000000 for i in range(maxcount)] + stimulus_a = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) count += len(stimulus_a) print (count, "vectors passed") #seed(0) - for i in range(100000): - stimulus_a = [randint(0, 1<<64) for i in range(1000)] - stimulus_b = [randint(0, 1<<64) for i in range(1000)] - yield from run_test(dut, stimulus_a, stimulus_b, op) - count += 1000 + for i in range(num_loops): + stimulus_a = [randint(0, 1<<64) for i in range(maxcount)] + stimulus_b = [randint(0, 1<<64) for i in range(maxcount)] + yield from run_fpunit(dut, stimulus_a, stimulus_b, op) + count += maxcount print (count, "random vectors passed")