public static bool TrigIdentitySinPlusCosRunnable(RPN.Node node) { return(node.IsAddition() && node[0].IsExponent() && node[1].IsExponent() && node[0, 0].IsNumber(2) && node[1, 0].IsNumber(2) && (node[0, 1].IsFunction("cos") || node[0, 1].IsFunction("sin")) && (node[1, 1].IsFunction("sin") || node[1, 1].IsFunction("cos")) && !node.ChildrenAreIdentical() && !node.ContainsDomainViolation() && node[0, 1, 0].Matches(node[1, 1, 0])); }
public static bool multiplicationToExponentRunnable(RPN.Node node) { return(node.ChildrenAreIdentical()); }
public static bool LogIdentitcalRunnable(RPN.Node node) { return(node.IsLog() && node.ChildrenAreIdentical()); }
public static bool SameFunctionRunnable(RPN.Node node) { return(node.ChildrenAreIdentical() && !node.ContainsDomainViolation()); }