@Override public IExpr evaluateArg1(final IExpr arg1) { if (isNegativeExpression(arg1)) { return Times(CN1, Tan(Times(CN1, arg1))); } return null; }
@Override public IExpr evaluateArg1(final IExpr arg1) { IExpr negExpr = AbstractFunctionEvaluator.getNormalizedNegativeExpression(arg1); if (negExpr.isPresent()) { return Negate(Tanh(negExpr)); } IExpr imPart = AbstractFunctionEvaluator.getPureImaginaryPart(arg1); if (imPart.isPresent()) { return F.Times(F.CI, F.Tan(imPart)); } if (arg1.isZero()) { return F.C0; } return F.NIL; }
IExpr negExpr = AbstractFunctionEvaluator.getNormalizedNegativeExpression(arg1); if (negExpr.isPresent()) { return Negate(Tan(negExpr)); if (parts.arg2().isInteger()) { return F.Tan(parts.arg1()); IFraction rest = F.fraction(divRem[1], f.denominator()); if (!divRem[0].isZero()) { return Tan(Plus(parts.arg1(), Times(rest, Pi))); return F.Tan(parts.arg1());
if (F.LessEqual.ofQ(engine, temp, F.CPiHalf)) { return F.Log(F.Plus(F.Sec(z), F.Tan(z)));
F.Tan(x_), // TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimes(// F.Tan(x_), // F.Sin(x))); TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimes(// F.Tan(x_), // F.Sec(x))); TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimesPower(// TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimesPower(// F.Power(F.Tan(x_), F.n_DEFAULT), // F.Condition(F.Times(F.Power(F.Sec(F.x), F.Plus(F.m, F.n)), F.Power(F.Sin(F.x), F.n)), F.And(F.Not(F.NumberQ(F.m)), F.IntegerQ(F.n), F.Greater(F.n, F.C0))))); F.Tan(x))); TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimes(//
return Tan(Subtract(Divide(Pi, C2), arg1));
Plus(Times(C1D2, Sinh(Plus(x, Times(CN1, y)))), Times(C1D2, Sinh(Plus(x, y))))); ORDERLESS_MATCHER.defineHashRule(Sin(x_), Tan(y_), Times(C1D2, Subtract(Cos(Subtract(x, y)), Cos(Plus(x, y))), Sec(y))); ORDERLESS_MATCHER.defineHashRule(Cos(x_), Tan(y_), Times(CN1D2, Subtract(Sin(Subtract(x, y)), Sin(Plus(x, y))), Sec(y)));