Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-658

Dead code in FastMath.pow(double, double) and some improvement in test coverage

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0
    • Labels:
      None

      Description

      This issue concerns the FastMath class and its test class.

      (1) In the double pow(double, double) function, there are 2 identical "if" blocks. The second one can be suppressed.
      if (y < 0 && y == yi && (yi & 1) == 1)

      { return Double.NEGATIVE_INFINITY; }

      // this block is never used -> to be suppressed
      if (y < 0 && y == yi && (yi & 1) == 1)

      { return -0.0; }

      if (y > 0 && y == yi && (yi & 1) == 1) { return -0.0; }

      (2) To obtain better code coverage, we added some tests case in FastMathTest.java (see attached file)

      • Added test for log1p
      • Added tests in testPowSpecialCases()
      • Added tests for a 100% coverage of acos().
      • Added tests for a 100% coverage of asin().

        Attachments

        1. FastMathTest.java.diff
          23 kB
          Yannick TANGUY
        2. FastMath.java.diff
          0.6 kB
          Yannick TANGUY

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ytanguy Yannick TANGUY
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: