switch to exact version of cython
[ieee754fpu.git] / src / ieee754 / fpdiv / test / test_fpdiv_pipe.py
1 """ test of FPDIVMuxInOut
2 """
3
4 from ieee754.fpdiv.pipeline import FPDIVMuxInOut
5 from ieee754.fpcommon.test.fpmux import runfp
6 from ieee754.div_rem_sqrt_rsqrt.core import DivPipeCoreOperation
7
8 import unittest
9 from sfpy import Float64, Float32, Float16
10 from operator import truediv as div
11
12
13 class TestDivPipe(unittest.TestCase):
14 # FIXME: AttributeError: 'PrevControl' object has no attribute 'valid_i'
15 @unittest.expectedFailure
16 def test_pipe_div_fp16(self):
17 dut = FPDIVMuxInOut(16, 4)
18 # don't forget to initialize opcode; don't use magic numbers
19 opcode = int(DivPipeCoreOperation.UDivRem)
20 runfp(dut, 16, "test_fpdiv_pipe_fp16", Float16, div,
21 opcode=opcode)
22
23 # FIXME: AttributeError: 'PrevControl' object has no attribute 'valid_i'
24 @unittest.expectedFailure
25 def test_pipe_div_fp32(self):
26 dut = FPDIVMuxInOut(32, 4)
27 # don't forget to initialize opcode; don't use magic numbers
28 opcode = int(DivPipeCoreOperation.UDivRem)
29 runfp(dut, 32, "test_fpdiv_pipe_fp32", Float32, div,
30 opcode=opcode)
31
32 # FIXME: AttributeError: 'PrevControl' object has no attribute 'valid_i'
33 @unittest.expectedFailure
34 def test_pipe_div_fp64(self):
35 dut = FPDIVMuxInOut(64, 4)
36 # don't forget to initialize opcode; don't use magic numbers
37 opcode = int(DivPipeCoreOperation.UDivRem)
38 runfp(dut, 64, "test_fpdiv_pipe_fp64", Float64, div,
39 opcode=opcode)
40
41
42 if __name__ == '__main__':
43 unittest.main()