add new FP32-FRSQRT regression test
[ieee754fpu.git] / src / ieee754 / fpdiv / test / test_fprsqrt_pipe.py
1 """ test of FPDIVMuxInOut
2 """
3
4 from ieee754.fpdiv.pipeline import (FPDIVMuxInOut,)
5 from ieee754.fpcommon.test.fpmux import runfp
6
7 from sfpy import Float64, Float32, Float16
8
9 def rsqrt(x):
10 return x.__class__(1.0) / x.sqrt()
11
12 def test_pipe_rsqrt_fp16():
13 dut = FPDIVMuxInOut(16, 4)
14 runfp(dut, 16, "test_fprsqrt_pipe_fp16", Float16, rsqrt,
15 single_op=True, opcode=2, n_vals=100)
16
17 def test_pipe_rsqrt_fp32():
18 dut = FPDIVMuxInOut(32, 4)
19 runfp(dut, 32, "test_fprsqrt_pipe_fp32", Float32, rsqrt,
20 single_op=True, opcode=2, n_vals=100)
21
22 def test_pipe_rsqrt_fp64():
23 dut = FPDIVMuxInOut(64, 4)
24 runfp(dut, 64, "test_fprsqrt_pipe_fp64", Float64, rsqrt,
25 single_op=True, opcode=2, n_vals=100)
26
27 if __name__ == '__main__':
28 test_pipe_rsqrt_fp32()
29 test_pipe_rsqrt_fp16()
30 test_pipe_rsqrt_fp64()