2020-12-09 17:43:46 +00:00
|
|
|
with Ada.Text_IO; use Ada.Text_IO;
|
|
|
|
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
|
|
|
|
with Ada.Float_Text_IO; use Ada.Float_Text_IO;
|
|
|
|
|
2020-12-07 22:03:27 +00:00
|
|
|
generic
|
|
|
|
|
|
|
|
type T_Element is digits <>;
|
2020-12-09 14:43:16 +00:00
|
|
|
N: Positive;
|
2020-12-07 22:03:27 +00:00
|
|
|
|
|
|
|
package Google_Naive is
|
|
|
|
|
2020-12-09 17:43:46 +00:00
|
|
|
type T_Google is private;
|
|
|
|
type T_Vecteur is private;
|
2020-12-07 22:03:27 +00:00
|
|
|
|
2020-12-12 13:05:39 +00:00
|
|
|
function "*"(left: T_Vecteur ; right: T_Google) return T_Vecteur;
|
2020-12-09 17:43:46 +00:00
|
|
|
function "*"(left: Float; right: T_Google) return T_Google;
|
2020-12-12 13:05:39 +00:00
|
|
|
function "/"(left: T_Google; right: Float) return T_Google with Pre => right /= 0.0;
|
2020-12-09 17:43:46 +00:00
|
|
|
function "+"(left, right: T_Google) return T_Google;
|
2020-12-07 22:03:27 +00:00
|
|
|
|
|
|
|
procedure initialize(mat: in out T_Google);
|
2020-12-09 14:43:16 +00:00
|
|
|
procedure initialize(vec: in out T_Vecteur);
|
2020-12-07 22:03:27 +00:00
|
|
|
|
2020-12-09 14:43:16 +00:00
|
|
|
function ones return T_Google;
|
2020-12-07 22:03:27 +00:00
|
|
|
|
|
|
|
procedure insert(mat: in out T_Google; i, j: Natural; elm: T_Element);
|
|
|
|
|
2020-12-09 17:43:46 +00:00
|
|
|
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 Float);
|
|
|
|
|
|
|
|
procedure put(vec: in T_Vecteur);
|
2020-12-12 13:05:39 +00:00
|
|
|
procedure put(mat: in T_Google);
|
2020-12-16 16:41:52 +00:00
|
|
|
|
|
|
|
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);
|
2020-12-07 22:03:27 +00:00
|
|
|
private
|
|
|
|
|
2020-12-09 14:43:16 +00:00
|
|
|
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;
|
2020-12-07 22:03:27 +00:00
|
|
|
|
|
|
|
end Google_Naive;
|