Add more testing for special values in DoubleDoubleSummation

XMLWordPrintableJSON

    • Fully Compatible
    • v4.2, v4.0, v3.6
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      TEST(Summation, ConvertSpecialToDecimal) {
          constexpr double infinity = std::numeric_limits<double>::infinity();
          DoubleDoubleSummation sum;
          
          sum.addDouble(infinity);    
          ASSERT_EQUALS(infinity, sum.getDouble()); // ok
          ASSERT_TRUE(sum.getDecimal().isInfinite()); // <-- fail here, it's nan
          ASSERT_FALSE(sum.getDecimal().isNaN()); // <!-- fail here, it is actually nan
          
          sum.addDouble(1); // now once we add something to sum, everything is ok
          ASSERT_EQUALS(infinity, sum.getDouble()); // ok, still infinity
          ASSERT_TRUE(sum.getDecimal().isInfinite()); // ok, now it's infinity
          ASSERT_FALSE(sum.getDecimal().isNaN()); // ok, not nan
      }
      

              Assignee:
              Anton Korshunov
              Reporter:
              Geert Bosch
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: