28735360e8a44004d236d1210923f88dfbbd1d45
[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 dut = FPCVTDownMuxInOut(32, 16, 4)
17 runfp(dut, 32, "test_fcvt_down_pipe_fp32_16", Float32, fcvt_16, True,
18 n_vals=100)
19
20 def test_down_pipe_fp64_16():
21 dut = FPCVTDownMuxInOut(64, 16, 4)
22 runfp(dut, 64, "test_fcvt_down_pipe_fp64_16", Float64, fcvt_16, True,
23 n_vals=100)
24
25 def test_down_pipe_fp64_32():
26 dut = FPCVTDownMuxInOut(64, 32, 4)
27 runfp(dut, 64, "test_fcvt_down_pipe_fp64_32", Float64, fcvt_32, True,
28 n_vals=100)
29
30 if __name__ == '__main__':
31 for i in range(200):
32 test_down_pipe_fp64_16()
33 test_down_pipe_fp32_16()
34 test_down_pipe_fp64_32()
35