//public override bool Execute(ref QSData data) //{ // base.Execute(ref data); // long sqrt = (long)Math.Floor(Math.Sqrt(m_QSData.N)) + 1; // ControlHandler.SetPropertyValue( // m_lblInfo, // "Text", // "Die Quadratwurzel aus " + m_QSData.N.ToString("D") + " ist " + Math.Sqrt(m_QSData.N).ToString("N") + " ≈ " + sqrt); // int counter = 0; // for (long i = data.From; i <= data.To; i++) // { // ControlHandler.AddRowDefintion(Grid, 1, GridUnitType.Auto); // string a = StringFormat.FormatDoubleToIntString((sqrt + i)) + "²"; // string aminus1 = StringFormat.FormatDoubleToIntString((Math.Pow((sqrt + i), 2) - m_QSData.N)); // data.Add(new QuadraticPair(sqrt + i, ((long)Math.Pow((sqrt + i), 2) - m_QSData.N))); // ControlHandler.ExecuteMethod( // this, // "AddToGrid", // new object[] { Grid, a, counter + 1, 0, 0, 0 }); // ControlHandler.ExecuteMethod( // this, // "AddToGrid", // new object[] { Grid, aminus1, counter + 1, 1, 0, 0 }); // counter++; // Thread.Sleep(m_Delay); // } // return true; //} public override QSResult Execute(ref QSData data) { base.Execute(ref data); long sqrt = (long)Math.Ceiling(Math.Sqrt(m_QSData.N)); String msg = String.Format(Primes.Resources.lang.WpfControls.Factorization.Factorization.qs_step1_squareroot, m_QSData.N, Math.Sqrt(m_QSData.N).ToString("N"), sqrt, data.From, data.To); ControlHandler.SetPropertyValue(m_lblInfo, "Text", msg); int counter = 2; for (long i = data.From; i <= data.To; i++) { int a = (int)i; int b = (int)(a * a - m_QSData.N); data.Add(new QuadraticPair(a, b)); ControlHandler.AddColumnDefintion(Grid, 1, GridUnitType.Auto); base.AddToGrid(Grid, a.ToString() + "²", 0, counter); base.AddToGrid(Grid, b.ToString(), 1, counter); counter++; //Thread.Sleep(m_Delay); } return(QSResult.Ok); }