Example #1
0
        private void vectorSendButton_Click(object sender, EventArgs e)
        {
            if (!Regex.IsMatch(mVectorTextBox.Text, "^[0-9]{1,}$"))
            {
                mLengthVectorLabel.Text = $"m should be a numeric value";
                return;
            }

            _mVector = int.Parse(mVectorTextBox.Text);

            mLengthVectorLabel.Text = $"Expected vector length is {Vector.GetExpectedVectorLength(_mVector)}";

            this.Refresh();

            if (!Regex.IsMatch(vectorErrorRate.Text.Replace(',', '.'), "^(0)$|^([0].[0-9]{1,})|^(1)$|^(1.(0){1,})$"))
            {
                vectorErrorValueLabel.Text = "Error rate should be a value between 0.0 and 1.0";
                return;
            }

            vectorErrorValueLabel.Text = "";

            List <int> errors;

            (_vectorFromChannel, errors) = _vectorHelpers.SendThroughChannel(_encodedVector, double.Parse(vectorErrorRate.Text.Replace(',', '.')));

            vectorErrorCountLabel.Text = $"{errors.Count} error(s) occured at positions: {string.Join(", ", errors)}";

            vectorFromChannelLabel.Visible = true;
            vectorFromChannelText.Visible  = true;
            vectorFromChannelText.Text     = _vectorFromChannel.ToString();
            vectorDecodeButton.Visible     = true;
        }