TIPE2021/Code.mli

40 lines
989 B
OCaml

module CLineaire :
sig
type t = {
k : int;
n : int;
g : Math.matrice;
h : Math.matrice; }
type code_lineaire = t
exception PasDansLeCodeException
exception IndecodableException
val antecedent : code_lineaire -> Math.vecteur -> Math.vecteur
val encoder : code_lineaire -> Math.vecteur -> Math.vecteur
val systematiqueFromRedondance : int -> int -> Math.matrice -> code_lineaire
val distance_minimale : code_lineaire -> int
val decoder : code_lineaire -> Math.vecteur -> Math.vecteur
val appartenir : code_lineaire -> Math.vecteur -> bool
type classesLaterales = {
syndr : Math.vecteur -> Math.vecteur;
erreur : Math.vecteur -> Math.vecteur;
babr : Math.vecteur Math.binabr;
}
val genererClasses : t -> classesLaterales
val decoder2 : classesLaterales -> Math.vecteur -> Math.vecteur
end
module CCyclique :
sig
type t = {
k : int;
n : int;
pol : Math.polynome; }
val get : int -> int -> Math.polynome -> t
end
val cycliqueVersLineaire : CCyclique.t -> CLineaire.t