Missing rules for Arctan2 function

Issue #180 resolved
Trần lê duy created an issue

See this test:

public void testArctan2Rules() {
        ExprEvaluator exprEvaluator = new ExprEvaluator();
        //compile arctan2 rules
        exprEvaluator.evaluate("ArcTan2(x_, y_) := If(x == 0, If(y == 0, 0, " +
                "If(y > 0, Pi/2, -Pi/2)), If(x > 0,ArcTan(y/x), If(y >= 0, ArcTan(y/x) + Pi, ArcTan(y/x) - Pi)))");

        IExpr result = exprEvaluator.evaluate("ArcTan2(1,Sqrt(3))");
        System.out.println(result);
        assertEquals(result.toString(), "Pi/3"); //output Pi/3

        result = exprEvaluator.evaluate("ArcTan(1,Sqrt(3))");
        System.out.println(result);
        assertEquals(result.toString(), "Pi/3");  //output ArcTan(1,Sqrt(3))
    }

Output

Pi/3
ArcTan(1,Sqrt(3))

junit.framework.ComparisonFailure: 
Expected :ArcTan(1,Sqrt(3))
Actual   :Pi/3
 <Click to see difference>

Comments (1)

  1. Log in to comment