@Override public IExpr evaluateArg1(IExpr arg1) { IExpr negExpr = AbstractFunctionEvaluator.getNormalizedNegativeExpression(arg1); if (negExpr.isPresent()) { return Sech(negExpr); } IExpr imPart = AbstractFunctionEvaluator.getPureImaginaryPart(arg1); if (imPart.isPresent()) { return F.Sec(imPart); } if (arg1.isZero()) { return F.C0; } return F.NIL; }
return F.Sech(imPart);
F.And(F.Not(F.NumberQ(F.m)), F.IntegerQ(F.n), F.Greater(F.n, F.C0))))); TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimesPower(// F.Power(F.Sech(x_), F.m_), // F.Condition(F.Times(F.Power(F.Sech(F.x), F.Plus(F.m, F.n)), F.Power(F.Sinh(F.x), F.n)), F.And(F.Not(F.NumberQ(F.m)), F.IntegerQ(F.n), F.Greater(F.n, F.C0))))); TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimesPower(// F.Sech(x))); TIMES_ORDERLESS_MATCHER.defineHashRule(new HashedPatternRulesTimes(// F.Sech(x_), // F.Csch(x))); F.Sech(x_), // F.Sech(x_), //
ORDERLESS_MATCHER.definePatternHashRule(Power(F.Sech(x_), C2), Power(F.Tanh(x_), C2), C1);