X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fadd%2Ftest_div.py;h=3f1923384032b90db1235d4730a1e6f3eab61a61;hb=481d00c37b31e7908e624235e6e9c93b12baeebb;hp=d6baa0242794fd84499d00dfe9b73f36f3c4ff4a;hpb=0a011e052efcd87791dcdc5e99cac9122f68418c;p=ieee754fpu.git diff --git a/src/add/test_div.py b/src/add/test_div.py index d6baa024..3f192338 100644 --- a/src/add/test_div.py +++ b/src/add/test_div.py @@ -11,10 +11,13 @@ from nmigen_div_experiment import FPDIV from unit_test_single import (get_mantissa, get_exponent, get_sign, is_nan, is_inf, is_pos_inf, is_neg_inf, match, get_case, check_case, run_test, - run_edge_cases) + run_edge_cases, run_corner_cases) def testbench(dut): + yield from check_case(dut, 0x80000000, 0x00000000, 0xffc00000) + yield from check_case(dut, 0x00000000, 0x80000000, 0xffc00000) + yield from check_case(dut, 0x0002b017, 0xff3807ab, 0x80000000) yield from check_case(dut, 0x40000000, 0x3F800000, 0x40000000) yield from check_case(dut, 0x3F800000, 0x40000000, 0x3F000000) yield from check_case(dut, 0x3F800000, 0x40400000, 0x3EAAAAAB) @@ -30,19 +33,12 @@ def testbench(dut): #regression tests stimulus_a = [0xbf9b1e94, 0x34082401, 0x5e8ef81, 0x5c75da81, 0x2b017] stimulus_b = [0xc038ed3a, 0xb328cd45, 0x114f3db, 0x2f642a39, 0xff3807ab] - yield from run_test(dut, stimulus_a, stimulus_b, truediv) + yield from run_test(dut, stimulus_a, stimulus_b, truediv, get_case) count += len(stimulus_a) print (count, "vectors passed") - #corner cases - from itertools import permutations - stimulus_a = [i[0] for i in permutations([0x80000000, 0x00000000, 0x7f800000, 0xff800000, 0x7fc00000, 0xffc00000], 2)] - stimulus_b = [i[1] for i in permutations([0x80000000, 0x00000000, 0x7f800000, 0xff800000, 0x7fc00000, 0xffc00000], 2)] - yield from run_test(dut, stimulus_a, stimulus_b, truediv) - count += len(stimulus_a) - print (count, "vectors passed") - - yield from run_edge_cases(dut, count, truediv) + yield from run_corner_cases(dut, count, truediv, get_case) + yield from run_edge_cases(dut, count, truediv, get_case) if __name__ == '__main__':