static public AddToTree.Tree SimplifierCommonSubFactorFx(AddToTree.Tree Dummy, ref UknownIntegralSolver UIS) { Dummy = Spliter.SpliterFx(Dummy, ref UIS); bool CONTINUE = false; //do //{ // CONTINUE = false; Dummy = NumberDivMul.NumberDivMulFx(Dummy, ref UIS); Dummy = SimplifierCommonSubFactor.SimplifierCommonSubFactorCalculatorFx(Dummy, ref CONTINUE, ref UIS); //} while (CONTINUE); return(Dummy); }
static AddToTree.Tree SimplifierCommonSubFactorActionRightSideFx(AddToTree.Tree Dummy, AddToTree.Tree COMMONSUBFACTOR, ref bool END, AddToTreeTreeLinkList NOTFACTOR) { if (Dummy == null) { return(Dummy); } if (Dummy.SampleAccess != "*") { if (NOTFACTOR.FINDTreeWithOutThreadConsideration(Dummy)) { return(Dummy); } } if (END) { return(Dummy); } try { //ERROCRECTIOn98217487 :the last condition (Dummy.ThreadAccess.SampleAccess) is Div. if ((EqualToObject.IsEqualWithOutThreadConsiderationCommonly(Dummy, COMMONSUBFACTOR) && (Dummy.ThreadAccess.SampleAccess == "*") || (Dummy.ThreadAccess.SampleAccess == "/"))) { Dummy.SetLefTandRightCommonlySide(null, null); Dummy.SampleAccess = "1"; END = true; } else if ((Dummy.ThreadAccess.SampleAccess == "^") && (EqualToObject.IsEqualWithOutThreadConsiderationCommonly(Dummy, COMMONSUBFACTOR)) && (IS.IsNumber(Dummy.ThreadAccess.RightSideAccess.SampleAccess))) { float NUM = (float)System.Convert.ToDouble(Dummy.ThreadAccess.RightSideAccess.SampleAccess); NUM = NUM - 1; if (NUM > 0) { Dummy.ThreadAccess.RightSideAccess.SampleAccess = NUM.ToString(); } else { Dummy.SetLefTandRightCommonlySide(null, null); Dummy.SampleAccess = "1"; } END = true; } } catch (NullReferenceException t) { ExceptionClass.ExceptionClassMethod(t); } Dummy.LeftSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorActionRightSideFx(Dummy.LeftSideAccess, COMMONSUBFACTOR, ref END, NOTFACTOR); Dummy.RightSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorActionRightSideFx(Dummy.RightSideAccess, COMMONSUBFACTOR, ref END, NOTFACTOR); return(Dummy); }
static AddToTree.Tree SimplifierCommonSubFactorActionLeftSideFx(AddToTree.Tree Dummy, AddToTree.Tree COMMONSUBFACTOR, ref bool END, AddToTreeTreeLinkList NOTFACTOR) { if (Dummy == null) { return(Dummy); } if (Dummy.SampleAccess != "*") { if (NOTFACTOR.FINDTreeWithOutThreadConsideration(Dummy)) { return(Dummy); } } if (END) { return(Dummy); } if ((Dummy.ThreadAccess.SampleAccess == "*") && (EqualToObject.IsEqualWithOutThreadConsiderationCommonly(Dummy, COMMONSUBFACTOR))) { Dummy.SetLefTandRightCommonlySide(null, null); Dummy.SampleAccess = "1"; END = true; } else if ((Dummy.ThreadAccess.SampleAccess == "^") && (EqualToObject.IsEqualWithOutThreadConsiderationCommonly(Dummy.ThreadAccess.LeftSideAccess, COMMONSUBFACTOR)) && (IS.IsNumber(Dummy.ThreadAccess.RightSideAccess.SampleAccess))) { float NUM = (float)System.Convert.ToDouble(Dummy.ThreadAccess.RightSideAccess.SampleAccess); NUM = NUM - 1; if (NUM > 0) { Dummy.ThreadAccess.RightSideAccess.SampleAccess = NUM.ToString(); } else { Dummy.SetLefTandRightCommonlySide(null, null); Dummy.SampleAccess = "1"; } END = true; } Dummy.LeftSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorActionLeftSideFx(Dummy.LeftSideAccess, COMMONSUBFACTOR, ref END, NOTFACTOR); Dummy.RightSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorActionLeftSideFx(Dummy.RightSideAccess, COMMONSUBFACTOR, ref END, NOTFACTOR); return(Dummy); }
static public AddToTree.Tree SimplifierCommonSubFactorCalculatorFx(AddToTree.Tree Dummy, ref bool CONTINUE, ref UknownIntegralSolver UIS) { if ((Dummy == null) || (!(IS.IsDivInNode(Dummy)))) { return(Dummy); } //ERRORCORECTION2189743 :the Second condition of above is added. int INCREASE = 2147483647 / 9; UIS.SetProgressValue(UIS.progressBar9, 0); if (Dummy.SampleAccess == "/") { UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); Dummy = Simplifier.SimplifierFxSimpler(Dummy, ref UIS); UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); Dummy.LeftSideAccess = FactorActivation.FactorActivationFx(Dummy.LeftSideAccess, ref UIS); UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); Dummy.RightSideAccess = FactorActivation.FactorActivationFx(Dummy.RightSideAccess, ref UIS); UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); /* try * { * Dummy.LeftSideAccess.ThreadAccess = Dummy; * Dummy.RightSideAccess.ThreadAccess = Dummy; * } * catch (NullReferenceException t) { ExceptionClass.ExceptionClassMethod(t); } */ UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); Dummy = Simplifier.SimplifierFxSimpler(Dummy, ref UIS); UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); Dummy = NumberDivMul.NumberDivMulFx(Dummy, ref UIS); UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); AddToTreeTreeLinkList COMMONFACTOR = FindSubFactor.FindSubFactorFx(Dummy.LeftSideAccess, Dummy.RightSideAccess); bool ENDLEFT = false; bool ENDRIGHT = false; AddToTree.Tree COMMONSUBFACORT = new AddToTree.Tree(null, false); UIS.SetProgressValue(UIS.progressBar9, INCREASE + UIS.progressBar9.Value); while (!((COMMONFACTOR.ISEmpty())) && ((ENDLEFT && ENDRIGHT))) { CONTINUE = true; COMMONSUBFACORT = COMMONFACTOR.DELETEFromTreeFirstNode(); if (!ENDLEFT) { Dummy.LeftSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorActionLeftSideFx(Dummy.LeftSideAccess, COMMONSUBFACORT, ref ENDLEFT, FindSubFactor.FACTORLISTEDSAccess()); } if (!ENDRIGHT) { Dummy.RightSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorActionRightSideFx(Dummy.RightSideAccess, COMMONSUBFACORT, ref ENDRIGHT, FindSubFactor.NotExpectedAccess()); } Dummy = Simplifier.SimplifierFxSimpler(Dummy, ref UIS); } UIS.SetProgressValue(UIS.progressBar9, 2147483647); if (!((IS.IsDivInNode(Dummy.LeftSideAccess)) || (IS.IsDivInNode(Dummy.RightSideAccess)))) { return(Dummy); } } if (Dummy.LeftSideAccess != null) { Dummy.LeftSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorCalculatorFx(Dummy.LeftSideAccess, ref CONTINUE, ref UIS); } if (Dummy.RightSideAccess != null) { Dummy.RightSideAccess = SimplifierCommonSubFactor.SimplifierCommonSubFactorCalculatorFx(Dummy.RightSideAccess, ref CONTINUE, ref UIS); } return(Dummy); }
static AddToTree.Tree AddingSameUnderElementsActionReciverFx(AddToTree.Tree Node, AddToTree.Tree Dummy, AddToTree.Tree DummySender, ref bool CllingRightTrueLeftFalse, ref UknownIntegralSolver UIS) { if (Dummy == null) { return(Dummy); } try { if ((IS.IsPluSinNode(Dummy))) { CllingRightTrueLeftFalse = false; Dummy.LeftSideAccess = AddingSameUnderElements.AddingSameUnderElementsActionReciverFx(Node, Dummy.LeftSideAccess, DummySender, ref CllingRightTrueLeftFalse, ref UIS); } } catch (NullReferenceException t) { ExceptionClass.ExceptionClassMethod(t); } try { if ((IS.IsPluSinNode(Dummy))) { CllingRightTrueLeftFalse = true; Dummy.RightSideAccess = AddingSameUnderElements.AddingSameUnderElementsActionReciverFx(Node, Dummy.RightSideAccess, DummySender, ref CllingRightTrueLeftFalse, ref UIS); } } catch (NullReferenceException t) { ExceptionClass.ExceptionClassMethod(t); } bool CurrentSimplification = false; AddToTree.Tree Befor = Dummy.CopyNewTree(Dummy); int INCREASE = 2147483647 / 3; try { UIS.SetProgressValue(UIS.progressBar16, 0); if (((Dummy.ThreadAccess == null) || (Dummy.ThreadAccess.SampleAccess == "+")) && (((Dummy.SampleAccess == "/"))) && ((EqualToObject.IsEqualWithOutThreadConsiderationCommonly(Dummy.RightSideAccess, DummySender.RightSideAccess))) && ((!(EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy, DummySender))))) { AddToTree.Tree ADD = new AddToTree.Tree("+", false); AddToTree.Tree Div = new AddToTree.Tree("/", false); ADD.SetLefTandRightCommonlySide(Dummy.CopyNewTree(Dummy.LeftSideAccess), DummySender.CopyNewTree(DummySender.LeftSideAccess)); ADD.LeftSideAccess.ThreadAccess = ADD; ADD.RightSideAccess.ThreadAccess = ADD; Div.SetLefTandRightCommonlySide(ADD, Dummy.CopyNewTree(Dummy.RightSideAccess)); if (EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.ThreadAccess.RightSideAccess, Dummy)) { Dummy = Dummy.ThreadAccess; Div.ThreadAccess = Dummy; Dummy.RightSideAccess = Div; } else if (EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.ThreadAccess.LeftSideAccess, Dummy)) { Dummy = Dummy.ThreadAccess; Div.ThreadAccess = Dummy; Dummy.LeftSideAccess = Div; } //AddToTree.Tree HOLDER = Dummy.CopyReferenclyTree(Dummy); AddToTree.Tree HOLDER = Dummy.CopyReferenclyTree(Dummy); UIS.SetProgressValue(UIS.progressBar16, INCREASE + UIS.progressBar16.Value); Node = Dummy.CopyReferenclyTree(Dummy); while (Node.ThreadAccess != null) { Node = Node.ThreadAccess; } Dummy = Dummy.FINDTreeWithOutThreadConsideration(Node, DummySender); if (EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.ThreadAccess.RightSideAccess, Dummy)) { Dummy = Dummy.ThreadAccess; Dummy.LeftSideAccess.ThreadAccess = Dummy.ThreadAccess; Dummy = Dummy.LeftSideAccess; } else if (Dummy.ThreadAccess.LeftSideAccess != null && EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.ThreadAccess.LeftSideAccess, Dummy)) { Dummy = Dummy.ThreadAccess; Dummy.RightSideAccess.ThreadAccess = Dummy.ThreadAccess; Dummy = Dummy.RightSideAccess; } //Node = AddingSameUnderElements.OptimizeNode(Dummy); UIS.SetProgressValue(UIS.progressBar16, INCREASE + UIS.progressBar16.Value); Node = Dummy.CopyReferenclyTree(Dummy); while (Node.ThreadAccess != null) { Node = Node.ThreadAccess; } if (!(EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy, Node))) { Dummy = Dummy.FINDTreeWithOutThreadConsideration(HOLDER, Node); } CurrentSimplification = true; } else { UIS.SetProgressValue(UIS.progressBar16, 2147483647); //if(!CurrentSimplification) // Dummy = Dummy.FINDTreeWithThreadConsideration(Befor,Dummy); return(Dummy); } if (CurrentSimplification) { Dummy = SimplifierCommonSubFactor.SimplifierCommonSubFactorFx(Dummy, ref UIS); Dummy = LocalSimplifier.LocalSimplifierFx(Dummy, ref UIS); } if (EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy, Befor)) { UIS.SetProgressValue(UIS.progressBar16, 2147483647); return(Dummy); } } catch (NullReferenceException t) { ExceptionClass.ExceptionClassMethod(t); } UIS.SetProgressValue(UIS.progressBar16, 2147483647); return(Dummy); }