+0.0 and -0.0 result in PlusZero term

Issue #9 resolved
Franck Cassez repo owner created an issue

Problem: if +0.0/-0.0 is a Double: +0.0.asFloat64 generates the term ConstantTerm(FPBVPlusZero(11,53)) -0.0asFloat64 does the same: ConstantTerm(FPBVPlusZero(11,53))

Should be FPBVMinusZero(11,53) in the latter case.

Same problem occurs with Floats.

Comments (2)

  1. Franck Cassez reporter
    • edited description

    Tests:

    val pZeroDouble : Double = +0.0e0
    val mZeroDouble : Double = -0.0e0
    val pZeroFloat : Float = +0.0.toFloat
    val mZeroFloat : Float = -0.0.toFloat
    
     pZeroDouble.asFloat64  generates  ConstantTerm(FPBVPlusZero(11,53))
     mZeroDouble.asFloat64  generates  ConstantTerm(FPBVMinusZero(11,53))
     pZeroFloat.asFloat32  generates  ConstantTerm(FPBVPlusZero(8,24))
     mZeroFloat.asFloat32  generates ConstantTerm(FPBVMinusZero(8,24))
    
  2. Log in to comment