FSGNJ working now in all three modes
authorMichael Nolan <mtnolan2640@gmail.com>
Sun, 26 Jan 2020 20:59:15 +0000 (15:59 -0500)
committerMichael Nolan <mtnolan2640@gmail.com>
Mon, 27 Jan 2020 02:28:53 +0000 (21:28 -0500)
commit9d37bed966d6bf49cb3a642272298337b752127e
treec16ec9b079079210af0131b981bdb5b21ef32b95
parent089a005078774bbf6dd83c85ef2c5a3cde1c7775
FSGNJ working now in all three modes

This adds the functionality of the FSIGNJ RISCV instruction, namely:

When the opcode is 0x00 - it combines the sign bit of operand B with
the rest of the value in operand A
When the opcode is 0x01 - it combines the inverted sign bit of operand
B with the rest of the value in operand A
When the opcode is 0x02 - it combines the sign bit composed of the
exclusive OR of the sign bits of A and B with the rest of the value in
operand A

This also modifies the unit test for the module to test each of these
behaviors for 32 bit floats
src/ieee754/fsgnj/fsgnj.py
src/ieee754/fsgnj/pipeline.py
src/ieee754/fsgnj/test/test_fsgnj_pipe.py