2 from nmigen
import Shape
3 from ieee754
.fpcommon
.fpscr
import FPSCR
, RoundingMode
6 class TestFPSCR(unittest
.TestCase
):
7 def test_FPSCR_layout(self
):
44 self
.assertEqual(FPSCR
.layout
, expected
)
46 def test_FPSCR_against_openpower_isa(self
):
48 from openpower
.fpscr
import FPSCRRecord
50 self
.skipTest("openpower-isa not installed")
51 expected
= dict(FPSCRRecord
.layout
)
52 self
.assertEqual(expected
['RN'], Shape
.cast(RoundingMode
).width
)
53 expected
['RN'] = RoundingMode
54 expected
= repr(expected
).replace("[", "(").replace("]", ")")
55 self
.assertEqual(repr(dict(FPSCR
.layout
)), expected
)
57 def test_parts_are_complete_without_overlaps(self
):
59 for part
in FPSCR
.Part
:
60 if part
is FPSCR
.PART
:
62 for name
, ty
in part
.layout
:
63 self
.assertNotIn(name
, fields
)
65 self
.assertEqual(fields
, dict(FPSCR
.layout
))
68 if __name__
== '__main__':