2020-12-24 16:55:22 +00:00
|
|
|
package body Vector is
|
|
|
|
|
|
|
|
package body Entier is
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
procedure initialize(vec: in out T_Vecteur; value: in T_Entier) is
|
2020-12-24 16:55:22 +00:00
|
|
|
begin
|
|
|
|
for i in 0..Capacite-1 loop
|
|
|
|
vec(i) := value;
|
2020-12-23 19:55:16 +00:00
|
|
|
end loop;
|
2020-12-24 16:55:22 +00:00
|
|
|
end initialize;
|
|
|
|
|
|
|
|
procedure identity(vec: in out T_Vecteur) is
|
|
|
|
begin
|
|
|
|
for i in 0..Capacite-1 loop
|
2021-01-22 14:26:52 +00:00
|
|
|
vec(i) := T_Entier(i);
|
2020-12-19 15:12:22 +00:00
|
|
|
end loop;
|
2020-12-24 16:55:22 +00:00
|
|
|
end identity;
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
procedure repartition(vec: in out T_Vecteur) is
|
|
|
|
begin
|
|
|
|
for i in 1..Capacite-1 loop
|
|
|
|
vec(i) := vec(i-1) + vec(i);
|
|
|
|
end loop;
|
|
|
|
end repartition;
|
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure flip(vec: in out T_Vecteur) is
|
2021-01-22 14:26:52 +00:00
|
|
|
tmp: T_Entier;
|
2020-12-24 16:55:22 +00:00
|
|
|
begin
|
|
|
|
for i in 0..Capacite/2-1 loop
|
|
|
|
tmp := vec(i);
|
|
|
|
vec(i) := vec(Capacite-i-1);
|
|
|
|
vec(Capacite-i-1) := tmp;
|
|
|
|
end loop;
|
|
|
|
end flip;
|
|
|
|
|
|
|
|
procedure put(vec: in T_Vecteur) is
|
|
|
|
begin
|
|
|
|
for i in 0..Capacite-1 loop
|
2021-01-22 14:26:52 +00:00
|
|
|
put(vec(i), 1); new_line;
|
2020-12-24 16:55:22 +00:00
|
|
|
end loop;
|
|
|
|
end put;
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
procedure put(file: in Ada.Text_IO.File_Type; vec: in T_Vecteur) is
|
2020-12-24 16:55:22 +00:00
|
|
|
begin
|
|
|
|
for i in 0..Capacite-1 loop
|
2021-01-22 14:26:52 +00:00
|
|
|
put(file, vec(i), 1);
|
2020-12-24 16:55:22 +00:00
|
|
|
new_line(file);
|
|
|
|
end loop;
|
|
|
|
end put;
|
|
|
|
|
|
|
|
end Entier;
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
package body Reel is
|
2020-12-24 16:55:22 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
procedure initialize(vec: in out T_Vecteur; value: in T_Reel) is
|
2020-12-23 15:16:37 +00:00
|
|
|
begin
|
2020-12-24 16:55:22 +00:00
|
|
|
for i in 0..Capacite-1 loop
|
|
|
|
vec(i) := value;
|
|
|
|
end loop;
|
|
|
|
end initialize;
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
function sum(vec: in T_Vecteur) return T_Reel is
|
|
|
|
s: T_Reel := 0.0;
|
2020-12-24 16:55:22 +00:00
|
|
|
begin
|
|
|
|
for i in 0..Capacite-1 loop
|
|
|
|
s := s + vec(i);
|
|
|
|
end loop;
|
|
|
|
return s;
|
|
|
|
end sum;
|
|
|
|
|
|
|
|
procedure flip(vec: in out T_Vecteur) is
|
2021-01-22 14:26:52 +00:00
|
|
|
tmp: T_Reel;
|
2020-12-24 16:55:22 +00:00
|
|
|
begin
|
|
|
|
for i in 0..Capacite/2-1 loop
|
|
|
|
tmp := vec(i);
|
|
|
|
vec(i) := vec(Capacite-i-1);
|
|
|
|
vec(Capacite-i-1) := tmp;
|
|
|
|
end loop;
|
|
|
|
end flip;
|
|
|
|
|
|
|
|
procedure put(vec: in T_Vecteur) is
|
|
|
|
begin
|
|
|
|
for i in 0..Capacite-1 loop
|
2021-01-22 14:26:52 +00:00
|
|
|
put(vec(i), Fore=>1, Aft=>10); new_line;
|
2020-12-24 16:55:22 +00:00
|
|
|
end loop;
|
|
|
|
end put;
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
procedure put(file: in Ada.Text_IO.File_Type; vec: in T_Vecteur) is
|
2020-12-24 16:55:22 +00:00
|
|
|
begin
|
|
|
|
for i in 0..Capacite-1 loop
|
|
|
|
put(file, vec(i), Fore=>1, Aft=>10);
|
|
|
|
new_line(file);
|
|
|
|
end loop;
|
|
|
|
end put;
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
end Reel;
|
2020-12-22 15:55:58 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
end Vector;
|