add bug cross-reference to #113 for FCVT unit tests
[ieee754fpu.git] / src / ieee754 / fcvt / test / test_fcvt_pipe.py
1 """ test of FPCVTMuxInOut
2 """
3
4 from ieee754.fcvt.pipeline import (FPCVTDownMuxInOut,)
5 from ieee754.fpcommon.test.fpmux import runfp
6
7 from sfpy import Float64, Float32, Float16
8
9 def fcvt_16(x):
10 return Float16(x)
11
12 def fcvt_32(x):
13 return Float32(x)
14
15 def test_down_pipe_fp32_16():
16 # XXX TODO: this has too great a dynamic range as input
17 # http://bugs.libre-riscv.org/show_bug.cgi?id=113
18 dut = FPCVTDownMuxInOut(32, 16, 4)
19 runfp(dut, 32, "test_fcvt_down_pipe_fp32_16", Float32, fcvt_16, True,
20 n_vals=100)
21
22 def test_down_pipe_fp64_16():
23 # XXX TODO: this has too great a dynamic range as input
24 # http://bugs.libre-riscv.org/show_bug.cgi?id=113
25 dut = FPCVTDownMuxInOut(64, 16, 4)
26 runfp(dut, 64, "test_fcvt_down_pipe_fp64_16", Float64, fcvt_16, True,
27 n_vals=100)
28
29 def test_down_pipe_fp64_32():
30 # XXX TODO: this has too great a dynamic range as input
31 # http://bugs.libre-riscv.org/show_bug.cgi?id=113
32 dut = FPCVTDownMuxInOut(64, 32, 4)
33 runfp(dut, 64, "test_fcvt_down_pipe_fp64_32", Float64, fcvt_32, True,
34 n_vals=100)
35
36 if __name__ == '__main__':
37 for i in range(200):
38 test_down_pipe_fp64_16()
39 test_down_pipe_fp32_16()
40 test_down_pipe_fp64_32()
41