Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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();
        }