public double[] code(double[] colonne) { double[][] matriceA = this.Structure; double[] resultat = new double[matriceA.Length]; for (int i = 0; i < matriceA.Length; i++) { double[] ligneA = matriceA[i]; double donnee = 0; for (int j = 0; j < colonne.Length; j++) { double calcul = ligneA[j] * colonne[j]; donnee = BinaireClass.calculBinaire(donnee, calcul); } resultat[i] = donnee; } return(resultat); }
public BitDeParite[] equationAvecErreur(double[] code) { List <BitDeParite> equationsErreur = new List <BitDeParite>(); BitDeParite[] bitsDeParite = this.BitsDeParite; for (int i = 0; i < bitsDeParite.Length; i++) { BitDeParite bitDeParite = bitsDeParite[i]; List <int> equation = bitDeParite.PositionControle; int valeur = 0; for (int j = 0; j < equation.Count(); j++) { Console.WriteLine(equation[j]); int element = (int)code[equation[j] - 1]; valeur = BinaireClass.calculBinaire(valeur, element); } if (valeur == 1) { equationsErreur.Add(bitDeParite); } } this.EquationErreur = equationsErreur.ToArray(); return(this.EquationErreur); }