Add FLT and FLE functionality to FPCMP
[ieee754fpu.git] / src / ieee754 / fpcmp / test / test_fpcmp_pipe.py
1 """ test of FPCVTMuxInOut
2 """
3
4 from ieee754.fpcmp.pipeline import (FPCMPMuxInOut)
5 from ieee754.fpcommon.test.fpmux import runfp
6
7 from sfpy import Float16, Float32, Float64
8 import math
9
10
11 def fpcmp_eq(a, b):
12 return Float32(a.eq(b))
13
14 def fpcmp_lt(a, b):
15 return Float32(a.lt(b))
16
17 def fpcmp_le(a, b):
18 return Float32(a.le(b))
19
20 def test_fpcmp_eq():
21 dut = FPCMPMuxInOut(32, 4)
22 runfp(dut, 32, "test_fpcmp_eq", Float32, fpcmp_eq,
23 n_vals=100, opcode=0b10)
24
25 def test_fpcmp_lt():
26 dut = FPCMPMuxInOut(32, 4)
27 runfp(dut, 32, "test_fpcmp_lt", Float32, fpcmp_lt,
28 n_vals=100, opcode=0b00)
29
30 def test_fpcmp_le():
31 dut = FPCMPMuxInOut(32, 4)
32 runfp(dut, 32, "test_fpcmp_le", Float32, fpcmp_le,
33 n_vals=100, opcode=0b01)
34
35
36 if __name__ == '__main__':
37 for i in range(50):
38 test_fpcmp_lt()
39 test_fpcmp_eq()
40 test_fpcmp_le()