projet-programmation-impera.../src/google_naive.ads

47 lines
1.4 KiB
Ada
Raw Normal View History

with Ada.Text_IO; use Ada.Text_IO;
generic
type T_Element is digits <>;
N: Positive;
package Google_Naive is
-- on permet l'affichage direct des T_Element
package Text_T_Element is
new Ada.Text_IO.Float_IO(Num => T_Element);
use Text_T_Element;
type T_Google is private;
type T_Vecteur is private;
function "*"(left: T_Vecteur; right: T_Google) return T_Vecteur;
function "*"(left: T_Element; right: T_Google) return T_Google;
function "/"(left: T_Google; right: T_Element) return T_Google with Pre => right /= 0.0;
function "+"(left, right: T_Google) return T_Google;
procedure initialize(mat: in out T_Google);
procedure initialize(vec: in out T_Vecteur);
function ones return T_Google;
procedure insert(mat: in out T_Google; i, j: Natural; elm: T_Element);
procedure create_H(mat: in out T_Google; file: in Ada.Text_IO.File_Type);
procedure create_S(mat: in out T_Google);
procedure create_G(mat: in out T_Google; alpha: in T_Element);
procedure put(vec: in T_Vecteur);
procedure put(mat: in T_Google);
procedure put(file: in out Ada.Text_IO.File_Type; vec: in T_Vecteur);
procedure sort_with_index_desc(pi: in T_Vecteur; pi_sorted: out T_Vecteur; pi_index: out T_Vecteur);
private
type T_Google is array (0..N-1, 0..N-1) of T_Element;
type T_Vecteur is array (0..N-1) of T_Element;
end Google_Naive;