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

39 lines
1.1 KiB
Ada
Raw Normal View History

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;
generic
type T_Element is digits <>;
N: Positive;
package Google_Naive is
type T_Google is private;
type T_Vecteur is private;
function "*"(left: T_Vecteur ; right: T_Google) return T_Vecteur;
function "*"(left: Float; right: T_Google) return T_Google;
function "/"(left: T_Google; right: Float) 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 Float);
procedure put(vec: in T_Vecteur);
procedure put(mat: in T_Google);
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;