static AddToTree.Tree FactorActivationFirstMinuseOrPluseFx(AddToTree.Tree Dummy, ref UknownIntegralSolver UIS) { if (Dummy == null) { return(Dummy); } if ((FactorActivation.SuitableForFactorActivation(Dummy.CopyNewTree(Dummy))) && ((Dummy.SampleAccess == "+") || (Dummy.SampleAccess == "-"))) { FactorActivation.FactorActivationOnlyMuLnodesListedFx(Dummy.CopyNewTree(Dummy)); Dummy = FactorActivation.FactorActivationActionFx(Dummy, ref UIS); } while (!(NotAbledFactors.ISEmpty())) { NotAbledFactors.DELETEFromTreeFirstNode(); } while (!(AbledFactors.ISEmpty())) { AbledFactors.DELETEFromTreeFirstNode(); } while (!(ONLYMULnODE.ISEmpty())) { ONLYMULnODE.DELETEFromTreeFirstNode(); } while (!(MULATEDELEMENTS.ISEmpty())) { MULATEDELEMENTS.DELETEFromTreeFirstNode(); } Dummy.LeftSideAccess = FactorActivation.FactorActivationFirstMinuseOrPluseFx(Dummy.LeftSideAccess, ref UIS); Dummy.RightSideAccess = FactorActivation.FactorActivationFirstMinuseOrPluseFx(Dummy.RightSideAccess, ref UIS); return(Dummy); }
static bool SuitableForFactorActivation(AddToTree.Tree Dummy) { if (Dummy == null) { return(false); } bool Is = false; if (Dummy.SampleAccess == "/") { Is = true; } Is = Is || FactorActivation.SuitableForFactorActivation(Dummy.LeftSideAccess); Is = Is || FactorActivation.SuitableForFactorActivation(Dummy.RightSideAccess); return(Is); }