-- { dg-do compile } | |
-- { dg-options "-O" } | |
with Loop_Optimization13_Pkg; use Loop_Optimization13_Pkg; | |
package body Loop_Optimization13 is | |
function F (A : Rec) return Rec is | |
N : constant Integer := A.V'Length / L; | |
Res : Rec | |
:= (True, new Complex_Vector' (0 .. A.V'Length / L - 1 => (0.0, 0.0))); | |
begin | |
for I in 0 .. L - 1 loop | |
for J in 0 .. N - 1 loop | |
Res.V (J) := Res.V (J) + A.V (I * N + J); | |
end loop; | |
end loop; | |
return Res; | |
end; | |
end Loop_Optimization13; |