예제 #1
0
        private void txtEEAc_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (!afterInitialize)
            {
                return;
            }

            // Do validation of phi(a, b)
            // Event is called by both textboxes!
            int p1 = -1, p2 = -1, p3 = -1;

            if (int.TryParse(this.txtEEAa.Text, out p1) && int.TryParse(this.txtEEAb.Text, out p2) && int.TryParse(this.txtEEAc.Text, out p3))
            {
                this.ValidationEEA = (p1 > 0 && p2 > 0 && p3 > 0);
            }

            else
            {
                this.ValidationEEA = false;
            }

            if (chkUseGGT.IsChecked.HasValue && chkUseGGT.IsChecked.Value && this.ValidationEEA)
            {
                this.txtEEAc.Text = MathAlgorithms.GGT(int.Parse(this.txtEEAa.Text), int.Parse(this.txtEEAb.Text)).ToString();
            }
        }
예제 #2
0
 private void chkUseGGT_Checked(object sender, RoutedEventArgs e)
 {
     if (chkUseGGT.IsChecked.HasValue && chkUseGGT.IsChecked.Value && this.ValidationEEA)
     {
         this.txtEEAc.Text = MathAlgorithms.GGT(int.Parse(this.txtEEAa.Text), int.Parse(this.txtEEAb.Text)).ToString();
     }
 }
예제 #3
0
 private void btnCalculateKGV_Click(object sender, RoutedEventArgs e)
 {
     if (validationKGV)
     {
         this.txtKGVResult.Text = MathAlgorithms.KGV(int.Parse(this.txtKGVa.Text), int.Parse(this.txtKGVb.Text)).ToString();
     }
     else
     {
         this.txtKGVResult.Text = string.Empty;
     }
 }
예제 #4
0
 private void btnCalculateGGT_Click(object sender, RoutedEventArgs e)
 {
     if (validationGGT)
     {
         this.txtGGTResult.Text = MathAlgorithms.GGT(int.Parse(this.txtGGTa.Text), int.Parse(this.txtGGTb.Text)).ToString();
     }
     else
     {
         this.txtGGTResult.Text = string.Empty;
     }
 }
예제 #5
0
 private void btnCalculatePrimeFactorization_Click(object sender, RoutedEventArgs e)
 {
     if (ValidationPrimeFactorization)
     {
         int          currentValue = int.Parse(this.txtPrimeFactorization.Text);
         List <Prime> result       = MathAlgorithms.CalculatePrimeFactorization(currentValue);
         this.lblPrimeFactorizationResult.Text = currentValue + " = " + Prime.GenerateString(result);
     }
     else
     {
         this.lblPrimeFactorizationResult.Text = string.Empty;
     }
 }
예제 #6
0
        private void btnCalculatePhi_Click(object sender, RoutedEventArgs e)
        {
            if (ValidationPhi)
            {
                List <string> lstValues = new List <string>();
                for (int i = int.Parse(this.txtPhiTo.Text); i <= int.Parse(this.txtPhiA.Text); i++)
                {
                    lstValues.Add("phi(" + i + ") = " + MathAlgorithms.CalculatePhi(i));
                }

                this.lstPhi.ItemsSource = lstValues;
            }
        }
예제 #7
0
 private void btnGenerate_Click(object sender, RoutedEventArgs e)
 {
     if (validationPrime)
     {
         List <int> lstPrime = new List <int>();
         for (int i = 2; i <= int.Parse(this.txtPrime.Text); i++)
         {
             if (MathAlgorithms.IsPrimeNumber(i))
             {
                 lstPrime.Add(i);
             }
         }
         lstPrimeNumbers.ItemsSource = lstPrime;
     }
 }
예제 #8
0
        private void btnCalculateEEA_Click(object sender, RoutedEventArgs e)
        {
            if (this.ValidationEEA)
            {
                dgwGrid.Items.Clear();
                dgwGrid.Columns.Clear();

                int a = int.Parse(this.txtEEAa.Text);
                int b = int.Parse(this.txtEEAb.Text);

                if (b > a)
                {   // Swap, higher element has to be left-sided!
                    int temp = a;
                    a = b;
                    b = temp;

                    this.txtEEAa.Text = a.ToString();
                    this.txtEEAb.Text = b.ToString();
                }

                Result   rst     = MathAlgorithms.CalculateExtendedAlgo(a, b);
                string[] columns = new string[] { "a", "b", "q", "r", "x", "y" };

                for (int i = 0; i <= columns.Length - 1; i++)
                {
                    DataGridTextColumn column = new DataGridTextColumn();
                    column.Header  = columns[i];
                    column.Width   = 100;
                    column.Binding = new Binding(columns[i]);
                    dgwGrid.Columns.Add(column);
                }

                // Adding the rows in datatable
                for (int i = 0; i <= rst.lstA.Count - 1; i++)
                {
                    dgwGrid.Items.Add(new DataItem()
                    {
                        a = rst.lstA[i].ToString(),
                        b = rst.lstB[i].ToString(),
                        q = rst.lstQ[i].ToString(),
                        r = rst.lstR[i].ToString(),
                        x = rst.lstX[i].ToString(),
                        y = rst.lstY[i].ToString(),
                    });
                }
            }
        }