// fltk 7Fl_Tile 45 -2898 1048 476 25 [ // fltk N4xcas7EditeurE 45 -2898 1048 291 25 238 , // Parite paire ou impaire d'un octet represente par une liste parite1(l):={ return 1-irem(sum(l),2); }:; // Meme chose mais en testant le reste de la division par X+1 mod 2 parite2(l):={ return 1-size(rem(l % 2,poly1[1,1] % 2)); }:;, // fltk N4xcas10Log_OutputE 45 -2607 1048 185 25 // Parsing parite1£// Success compiling parite1££// Parsing parite2£// Success compiling parite2££ , // fltk N4xcas8EquationE 45 -2422 1048 0 25 "Done","Done" ] , // fltk 7Fl_Tile 45 -2420 1048 89 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -2420 1048 35 25 parite1([1,0,1,0]) , // fltk N4xcas10Log_OutputE 45 -2385 1048 1 25 , // fltk N4xcas8EquationE 45 -2384 1048 53 25 1 ] , // fltk 7Fl_Tile 45 -2329 1048 389 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -2329 1048 35 25 M:=[op(idn(4)),op(ranm(3,4))] % 2 // matrice aleatoire 7,4 , // fltk N4xcas10Log_OutputE 45 -2294 1048 1 25 , // fltk N4xcas8EquationE 45 -2293 1048 353 25 [[1 % 2,0 % 2,0 % 2,0 % 2],[0 % 2,1 % 2,0 % 2,0 % 2],[0 % 2,0 % 2,1 % 2,0 % 2],[0 % 2,0 % 2,0 % 2,1 % 2],[1 % 2,0 % 2,0 % 2,1 % 2],[1 % 2,1 % 2,1 % 2,1 % 2],[0 % 2,1 % 2,0 % 2,0 % 2]] ] , // fltk 7Fl_Tile 45 -1938 1048 246 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -1938 1048 114 25 est_code(M,v):={£ // M matrice du code lineaire, v vecteur a tester£ return rank(M)==rank([op(tran(M)),v]);£}:; , // fltk N4xcas10Log_OutputE 45 -1824 1048 79 25 // Parsing est_code£// Success compiling est_code££ , // fltk N4xcas8EquationE 45 -1745 1048 53 25 "Done" ] , // fltk 7Fl_Tile 45 -1690 1048 89 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -1690 1048 35 25 est_code(M,M*([1,0,0,1] %2)); v:=ranm(7)%2; est_code(M,v) , // fltk N4xcas10Log_OutputE 45 -1655 1048 1 25 , // fltk N4xcas8EquationE 45 -1654 1048 53 25 1,[1 % 2,0 % 2,1 % 2,1 % 2,1 % 2,0 % 2,1 % 2],0 ] , // fltk 7Fl_Tile 45 -1599 1048 455 25 [ // fltk N4xcas7EditeurE 45 -1599 1048 323 25 320 , antecedent(M,v):={ // resoudre Mx=v, recherche sans utiliser la linearite local k,n,j,w; n:=nrows(M); k:=ncols(M); for (j:=0;j<2^k;j++){ // on ecrit en base 2 on rajoute des 0 si necessaire w:=convert(j,base,2); w:=[op(w),(0$(k-size(w)))] % 2; if (M*w==v) return w; } return 0; }:;, // fltk N4xcas10Log_OutputE 45 -1276 1048 79 25 // Parsing antecedent£// Success compiling antecedent££ , // fltk N4xcas8EquationE 45 -1197 1048 53 16 "Done" ] , // fltk 7Fl_Tile 45 -1142 1048 89 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -1142 1048 35 25 antecedent(M,M*([1,0,0,1] %2)) , // fltk N4xcas10Log_OutputE 45 -1107 1048 1 25 , // fltk N4xcas8EquationE 45 -1106 1048 53 16 [1 % 2,0 % 2,0 % 2,1 % 2] ] , // fltk 7Fl_Tile 45 -1051 1048 219 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -1051 1048 87 25 ajout_parite(l):={£ return [op(l),size(rem(l%2,poly1[1,1]%2))];£}:; , // fltk N4xcas10Log_OutputE 45 -964 1048 79 25 // Parsing ajout_parite£// Success compiling ajout_parite££ , // fltk N4xcas8EquationE 45 -885 1048 53 25 "Done" ] , // fltk 7Fl_Tile 45 -830 1048 89 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -830 1048 35 25 ajout_parite([1,0]); ajout_parite([1,1]) , // fltk N4xcas10Log_OutputE 45 -795 1048 1 25 , // fltk N4xcas8EquationE 45 -794 1048 53 25 [1,0,1],[1,1,0] ] , // fltk 7Fl_Tile 45 -739 1048 271 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -739 1048 139 25 ajoute_reste(l,g):={£ local r;£ r:=rem(poly1[op(l),0$(size(g)-1)]%2,g%2);£ return poly1[op(l),(0$(size(g)-size(r)-1)),op(r)] %2;£}:; , // fltk N4xcas10Log_OutputE 45 -600 1048 79 25 // Parsing ajoute_reste£// Success compiling ajoute_reste££ , // fltk N4xcas8EquationE 45 -521 1048 53 16 "Done" ] , // fltk 7Fl_Tile 45 -466 1048 89 25 [ // fltk N4xcas19Multiline_Input_tabE 45 -466 1048 35 25 g:=[1,0,0,0,1,0,0,1]%2:; P:=ajoute_reste([1,1],g); rem(P,g) , // fltk N4xcas10Log_OutputE 45 -431 1048 1 25 , // fltk N4xcas8EquationE 45 -430 1048 53 16 "Done",poly1[1 % 2,1 % 2,0 % 2,0 % 2,1 % 2,1 % 2,0 % 2,1 % 2,1 % 2],poly1[] ] , // fltk 7Fl_Tile 45 -375 1048 530 25 [ // fltk N4xcas7EditeurE 45 -375 1048 323 25 427 , distance_ham(v):={ local j,s,res; res:=0; s:=size(v); for (j:=0;j