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

37 lines
1 KiB
Ada
Raw Normal View History

generic
type T_Element is digits <>;
nb_rows: Positive;
nb_cols: Positive;
package Google_Naive is
type T_Google is limited private;
function "*"(left, right: T_Google) return T_Google with
Pre => left'Length(2) = right'Length(1),
Post => "*"'Result'Length(1) = left'Length(1)
and "*"'Result'Length(2) = right'Length(2);
function "+"(left, right: T_Google) return T_Google with
Pre => left'Length(1) = right'Length(1)
and left'Length(2) = right'Length(2);
function "*"(left: in T_Google; right: T_Element) return T_Google;
function "/"(left: in T_Google; right: T_Element) return T_Google with
Pre => right /= 0.0;
procedure initialize(mat: in out T_Google);
function ones(rows, cols: Positive) return T_Google;
procedure insert(mat: in out T_Google; i, j: Natural; elm: T_Element);
--function transpose(mat: in T_Google) return T_Google;
private
type T_Google is array (0..nb_rows-1, 0..nb_cols-1) of T_Element;
end Google_Naive;