package body vector is procedure initialize(vec: in out T_Vecteur) is begin for i in 0..N-1 loop vec(i) := 1.0/T_Element(N); end loop; end initialize; procedure initialize(vec: in out T_Vecteur_Index) is begin for i in 0..N-1 loop vec(i) := i; end loop; end initialize; procedure put(vec: in T_Vecteur) is begin for i in 0..N-1 loop put(vec(i)); new_line; end loop; end put; procedure put(file: in out Ada.Text_IO.File_Type; vec: in T_Vecteur) is begin for i in 0..N-1 loop put(file, vec(i), 1); new_line(file); end loop; end put; procedure put(file: in out Ada.Text_IO.File_Type; vec: in T_Vecteur_Index) is begin for i in 0..N-1 loop put(file, vec(i), 1); new_line(file); end loop; end put; procedure sort_with_index_desc(vec: in out T_Vecteur; vec_index: out T_Vecteur_Index) is tmp_Element: T_Element; tmp_Natural: Natural; max: Natural; begin for i in 0..N-2 loop max := i; for j in i+1..N-1 loop if vec(max) < vec(j) then max := j; end if; end loop; if max /= i then tmp_Element := vec(i); vec(i) := vec(max); vec(max) := tmp_Element; tmp_Natural := vec_index(i); vec_index(i) := vec_index(max); vec_index(max) := tmp_Natural; end if; end loop; end sort_with_index_desc; end vector;