private void accept_button_Click(object sender, EventArgs e) { CheckFile(); quantum = new Quantum { n = Convert.ToInt32(n_tb.Text), lambda = Convert.ToDouble(lambda_tb.Text), h = Convert.ToInt32(h_tb.Text), k = Convert.ToInt32(k_tb.Text), N = Convert.ToInt32(count_beta_tb.Text), countAlpha = Convert.ToInt32(count_alpha_tb.Text), countX = Convert.ToInt32(count_x_tb.Text), a = Convert.ToDouble(a_tb.Text), minBeta = Convert.ToDouble(min_beta_tb.Text), maxBeta = Convert.ToDouble(max_beta_tb.Text), minAlpha = Convert.ToDouble(min_alpha_tb.Text), maxAlpha = Convert.ToDouble(max_alpha_tb.Text), minX = Convert.ToDouble(min_x_tb.Text), maxX = Convert.ToDouble(max_x_tb.Text), }; quantum.InitializeMatrixAndVectors(); threadOne = new Thread(quantum.GetPotential); threadOne.Start(); threadTwo = new Thread(quantum.GetEnergy); threadTwo.Start(); PotentialChart(); accept_button.Enabled = false; next_button.Enabled = true; update_button.Enabled = true; }
public Histogram(Quantum quantum, double min, double max) { this.min = min; this.max = max; vector = new double[quantum.countAlpha * quantum.N]; RewriteAndSortTable(quantum); numbOfSection = Convert.ToInt32(Math.Sqrt(vector.Length)); length = (vector.Max() - vector.Min()) / numbOfSection; section = new double[numbOfSection, 3]; CreataSection(); frequency = new double[numbOfSection]; sectionSum = new double[numbOfSection]; for (int i = 0; i < numbOfSection; i++) { frequency[i] = 0; sectionSum[i] = 0; } CountingData(); }
internal Register(ComputerModel compModel, Quantum.Register reg, RegisterModel regModel, int offsetToModel = 0) { _compModel = compModel; _register = reg; _model = regModel; _offsetToModel = offsetToModel; }
private void RewriteAndSortTable(Quantum _quantum) { int j = 0; for (int i = 0; i < _quantum.countAlpha; i++) { for (int k = 1; k < _quantum.N + 1; k++) { vector[j] = _quantum.outputMatrix[i, k]; j++; } } Array.Sort(vector); var tmp = Array.FindAll(vector, x => ( x >= min && x <= max )); vector = null; vector = tmp; }