📄 rsframe.java
字号:
blackboard.append(str + "\n");
str = "i is the data information before encoding.";
blackboard.append(str + "\n");
str = "Press ENTER for validate your value !";
blackboard.append(str + "\n");
break;
case 11 :
str = "--- What is I ? ---";
blackboard.append(str + "\n");
str = "I is the data information after decoding.";
blackboard.append(str + "\n");
break;
case 12 :
str = "--- What is c ? ---";
blackboard.append(str + "\n");
str = "c is the code word.";
blackboard.append(str + "\n");
str = "That means c is the data information after coding.";
blackboard.append(str + "\n");
break;
case 13 :
str = "--- What is e ? ---";
blackboard.append(str + "\n");
str = "e is the code error.";
blackboard.append(str + "\n");
str = "Press ENTER for validate your value !";
blackboard.append(str + "\n");
break;
case 14 :
str = "--- What is d ? ---";
blackboard.append(str + "\n");
str = "d is the code word + code error.";
blackboard.append(str + "\n");
break;
case 15 :
str = "--- What is D ? ---";
blackboard.append(str + "\n");
str = "D is the code word corrected.";
blackboard.append(str + "\n");
break;
case 16 :
str = "--- What is i(x) ? ---";
blackboard.append(str + "\n");
str = "i(x) is the data information polynomial before encoding.";
blackboard.append(str + "\n");
break;
case 17 :
str = "--- What is I(x) ? ---";
blackboard.append(str + "\n");
str = "I(x) is the data information polynomial after decoding.";
blackboard.append(str + "\n");
str = "We have : I(x) = D(x) / X^2t .";
blackboard.append(str + "\n");
break;
case 18 :
str = "--- What is c(x) ? ---";
blackboard.append(str + "\n");
str = "c(x) is the code word polynomial.";
blackboard.append(str + "\n");
break;
case 19 :
str = "--- What is e(x) ? ---";
blackboard.append(str + "\n");
str = "e(x) is the code error polynomial.";
blackboard.append(str + "\n");
break;
case 20 :
str = "--- What is d(x) ? ---";
blackboard.append(str + "\n");
str = "d(x) is the code receive polynomial, d(x) = c(x) + e(x) .";
blackboard.append(str + "\n");
break;
case 21 :
str = "--- What is D(x) ? ---";
blackboard.append(str + "\n");
str = "D(x) is the code receive polynomial corrected, D(x) = d(x) + v(x) .";
blackboard.append(str + "\n");
break;
case 22 :
str = "--- What is g(x) ? ---";
blackboard.append(str + "\n");
str = "g(x) is the generator polynomial.";
blackboard.append(str + "\n");
str = "g(x) = (x - a)(x - a^2)...(x - a^2t).";
blackboard.append(str + "\n");
str = "Where a = alpha, a root of the primitive polynomial P(x).";
blackboard.append(str + "\n");
break;
case 23 :
str = "--- What is s(x) ? ---";
blackboard.append(str + "\n");
str = "s(x) is the syndrome polynomial.";
blackboard.append(str + "\n");
str = "s(x) = S2t.x^2t-1 + ... + S3.x^2 + S2.x + S1 with Si = d(a^i).";
blackboard.append(str + "\n");
str = "Where a = alpha, a root of the primitive polynomial P(x).";
blackboard.append(str + "\n");
break;
case 24 :
str = "--- What is L(x) ? ---";
blackboard.append(str + "\n");
str = "L(x) = K.l(x), where l(x) is the locator polynomial, and K a constant.";
blackboard.append(str + "\n");
str = "It is given by the Euclid algorithm based on the fundamental relation : l(x).s(x) = w(x) + u(x).x^2t .";
blackboard.append(str + "\n");
break;
case 25 :
str = "--- What is W(x) ? ---";
blackboard.append(str + "\n");
str = "W(X) = K.w(x) is the evaluator polynomial, and K a constant.";
blackboard.append(str + "\n");
str = "It is given by the Euclid algorithm based on the fundamental relation : l(x).s(x) = w(x) + u(x).x^2t .";
blackboard.append(str + "\n");
break;
case 26 :
str = "--- What is U(x) ? ---";
blackboard.append(str + "\n");
str = "U(x) = K.u(x) is the co-evaluator polynomial, and K a constant.";
blackboard.append(str + "\n");
str = "It is given by the Euclid algorithm based on the fundamental relation : l(x).s(x) = w(x) + u(x).x^2t .";
blackboard.append(str + "\n");
break;
case 27 :
str = "--- What is p(x) ? ---";
blackboard.append(str + "\n");
str = "p(x) is the position error polynomial.";
blackboard.append(str + "\n");
str = "A non zero factor give the position of error location. The factors are given with the root of L(x).";
blackboard.append(str + "\n");
str = "For exemple : p(x) = 7X^5 .";
blackboard.append(str + "\n");
str = "Also, the position 5 of c(x) is an error block, and 7=a^-5 is a root of L(x).";
blackboard.append(str + "\n");
break;
case 28 :
str = "--- What is v(x) ? ---";
blackboard.append(str + "\n");
str = "v(x) is the value error polynomial.";
blackboard.append(str + "\n");
str = "A non zero factor give the value of the error block at this location.";
blackboard.append(str + "\n");
str = "It is given by W(b)/L'(b) where b is a root of L(x) and L'(x) is the derivate polynomial of L(x).";
blackboard.append(str + "\n");
str = "For exemple : p(x) = 7X^5 and v(x) = 3X^5 , 7 is a root of L(x) and 3 = W(7)/L'(7) .";
blackboard.append(str + "\n");
str = "We have : D(x) = d(x) + v(X) .";
blackboard.append(str + "\n");
break;
}
}
public polynomial getPolynomialSelected()
{
polynomial polynomialSelected;
polynomialSelected = null;
switch(indexPolynomial)
{
case 1 :
polynomialSelected = rs.messageSend;
break;
case 2 :
polynomialSelected = rs.messageReceive;
break;
case 3 :
polynomialSelected = rs.codeSend;
break;
case 4 :
polynomialSelected = rs.codeError;
break;
case 5 :
polynomialSelected = rs.codeReceive;
break;
case 6 :
polynomialSelected = rs.codeCorrected;
break;
case 7 :
polynomialSelected = rs.generator;
break;
case 8 :
polynomialSelected = rs.syndrome;
break;
case 9 :
polynomialSelected = rs.locator;
break;
case 10 :
polynomialSelected = rs.evaluator;
break;
case 11 :
polynomialSelected = rs.coevaluator;
break;
case 12 :
polynomialSelected = rs.errorPosition;
break;
case 13 :
polynomialSelected = rs.errorValue;
break;
}
return polynomialSelected;
}
public void writePolynomial()
{
String str = new String("");
String pol = new String("");
polynomial polynomialSelected;
pol = choicePolynomial.getSelectedItem();
polynomialSelected = getPolynomialSelected();
if (polynomialSelected != null)
{
str = rs.polynomialToString(polynomialSelected);
blackboard.append(pol + " " + str + "\n");
}
}
public void writeEvaluatedPolynomial()
{
String str = new String("");
polynomial ps;
int x,v,d;
str = textFieldX.getText();
x = Integer.parseInt(str,10);
x = rs.gf.inField(x);
ps = getPolynomialSelected();
v = rs.eval(ps,x);
d = rs.evald(ps,x);
str = choicePolynomial.getSelectedItem();
blackboard.append(str + v + " for x = " + x + "\n");
blackboard.append("derivate of " + str + d + " for x = " + x + "\n");
}
public void windowClosing(WindowEvent event)
{
}
public void windowClosed(WindowEvent event)
{
}
public void windowDeiconified(WindowEvent event)
{
}
public void windowIconified(WindowEvent event)
{
}
public void windowActivated(WindowEvent event)
{
}
public void windowDeactivated(WindowEvent event)
{
}
public void windowOpened(WindowEvent event)
{
}
public void actionPerformed(ActionEvent evt)
{
int i;
String str;
Object source = evt.getSource();
if (source == buttonQuit)
{
dispose();
}
if (source == buttonRandom)
{
makeRandom();
rs.processing();
writeAllValue();
writePolynomial();
}
if (source == buttonClear)
{
rs.clear(rs.messageSend);
rs.clear(rs.codeError);
rs.processing();
writeAllValue();
writePolynomial();
}
if (source == buttonBlank)
{
blackboard.setText("");
}
if (source == textFieldInformationSend)
{
str = textFieldInformationSend.getText();
i = Integer.parseInt(str,10);
i = rs.gf.inField(i);
rs.messageSend.coefficient[indexInformation] = i;
rs.messageSend.degree = rs.degree(rs.messageSend);
rs.processing();
writeAllValue();
writePolynomial();
}
if (source == textFieldCodeError)
{
str = textFieldCodeError.getText();
i = Integer.parseInt(str,10);
i = rs.gf.inField(i);
rs.codeError.coefficient[indexError] = i;
rs.codeError.degree = rs.degree(rs.codeError);
rs.processing();
writeAllValue();
writePolynomial();
}
if (source == textFieldX)
{
writeEvaluatedPolynomial();
}
}
public void adjustmentValueChanged(AdjustmentEvent evt)
{
int i;
String str;
Object source = evt.getAdjustable();
if (source == scrollbarLeft)
{
indexInformation = evt.getValue();
writeAllValue();
}
if (source == scrollbarRight)
{
indexError = evt.getValue();
writeAllValue();
}
}
public void itemStateChanged(ItemEvent evt)
{
int i;
String str;
Object source = evt.getItemSelectable();
if (source == choiceHelp)
{
indexHelp = choiceHelp.getSelectedIndex();
writeHelp();
}
if (source == choicePolynomial)
{
indexPolynomial = choicePolynomial.getSelectedIndex();
writePolynomial();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -