public QuadraticSieveControl() { InitializeComponent(); m_State = QSResult.Ok; stepwise = false; resetEvent = new ManualResetEvent(false); m_Count = 10; m_Step1 = new Step1(gridFirstStep, lblInfoStep1); m_Step2 = new Step2(gridSecondStep, lblInfoStep2); m_Step2.PreStep(); m_Step3 = new Step3(gridThirdStep, lblInfoStep3); m_Step3.PreStep(); m_Step4 = new Step4(gridFourthStep, lblInfoStep4); m_Step4.FoundFactor += new FoundFactor(m_Step4_FoundFactor); m_Step4.PreStep(); m_Data = new QSData(); m_Factors = new Dictionary <PrimesBigInteger, PrimesBigInteger>(); //m_Data.From = -41; //m_Data.To = 41; }
private void ExecuteStep3() { m_State = QSResult.Ok; ControlHandler.SetPropertyValue(expThird, "IsExpanded", true); m_Step3.PreStep(); m_Step3.Execute(ref m_Data); m_Step3.PostStep(); WaitStepWise(); ControlHandler.SetPropertyValue(expFourth, "IsExpanded", true); ControlHandler.SetPropertyValue(btnRestart_Step4, "Visibility", Visibility.Hidden); ControlHandler.SetPropertyValue(btnRestart, "Visibility", Visibility.Hidden); m_Step4.PreStep(); m_State = m_Step4.Execute(ref m_Data); m_Step4.PostStep(); switch (m_State) { case QSResult.Ok: break; case QSResult.Failed: ControlHandler.SetPropertyValue(btnRestart_Step4, "Visibility", Visibility.Visible); break; case QSResult.Restart: ControlHandler.SetPropertyValue(btnRestart, "Visibility", Visibility.Visible); break; default: break; } if (m_State == QSResult.Ok) { FireOnStop(); } }
private void DoExecute() { m_State = QSResult.Ok; Reset(); ControlHandler.SetPropertyValue(expFirst, "IsExpanded", true); m_Step1.PreStep(); m_Step1.Execute(ref m_Data); m_Step1.PostStep(); WaitStepWise(); ControlHandler.SetPropertyValue(expSecond, "IsExpanded", true); m_Step2.PreStep(); m_Step2.Execute(ref m_Data); m_Step2.PostStep(); WaitStepWise(); ExecuteStep3(); }