NOTES
procedure Exchange(U, V : in out Elem) is -- See section 12.1 Generic Declarations T : Elem; -- the generic formal type begin T := U; U := V; V := T; end Exchange;
function Squaring(X : Item) return Item is -- See section 12.1 Generic Declarations begin return X*X; -- the formal operator "*" end Squaring;
package body On_Vectors is -- See section 12.1 Generic Declarations
function Sum(A, B : Vector) return Vector is
Result : Vector(A'Range); -- the formal type Vector
Bias : constant Integer := B'First - A'First;
begin
if A'Length /= B'Length then
raise Length_Error;
end if;
for N in A'Range loop
Result(N) := Sum(A(N), B(N + Bias));
-- the formal function Sum
end loop;
return Result;
end Sum;
function Sigma(A : Vector) return Item is
Total : Item := A(A'First); -- the formal type Item
begin
for N in A'First + 1 .. A'Last loop
Total := Sum(Total, A(N)); -- the formal function Sum
end loop;
return Total;
end Sigma;
end On_Vectors;
Go to the first, previous, next, last section, table of contents.