def test_nfloat_ops_binary():
# Signedness (nfloat + nfloat)
assert (nfloat( exponent=4 ) + nfloat( exponent=4 )).e == 4
assert (nfloat( exponent=4 ) + nfloat( exponent=8 )).e == 8
assert (nfloat( exponent=8 ) + nfloat( exponent=4 )).e == 8
assert (nfloat( exponent=8 ) + nfloat( exponent=8 )).e == 8
# Size (nfloat + nfloat)
assert (nfloat( mantissa=4 ) + nfloat( mantissa=4 )).m == 4
assert (nfloat( mantissa=4 ) + nfloat( mantissa=8 )).m == 8
assert (nfloat( mantissa=8 ) + nfloat( mantissa=4 )).m == 8
assert (nfloat( mantissa=8 ) + nfloat( mantissa=8 )).m == 8
# Signedness (nfloat + float)
assert (nfloat( exponent=4 ) + 0.0).e == 4
assert (nfloat( exponent=8 ) + 0.0).e == 8
# Size (nfloat + float)
assert (nfloat( mantissa=4 ) + 0.0).m == 4
assert (nfloat( mantissa=8 ) + 0.0).m == 8
# Arithmetic
assert float32(3.0) + float32(2.0) == float32(5.0)
assert float32(3.0) - float32(2.0) == float32(1.0)
assert float32(3.0) * float32(2.0) == float32(6.0)
assert float32(3.0) / float32(2.0) == float32(1.5)
assert float32(3.0) // float32(2.0) == float32(1.0)
assert float32(7.0) % float32(5.0) == float32(2.0)
assert float32(3.0) ** float32(4.0) == float32(81.0)
评论列表
文章目录