5 -- Unconstrained array types are vectorizable, possibly with special
6 -- help for the programmer
7 type Varray
is array (Vect6_Pkg
.Index_Type
range <>) of Long_Float;
8 for Varray
'Alignment use 16;
10 function "+" (X
: Varray
; Y
: Long_Float) return Varray
;
11 procedure Add
(X
: Varray
; Y
: Long_Float; R
: out Varray
);
12 procedure Add
(X
: not null access Varray
; Y
: Long_Float; R
: not null access Varray
);
15 -- Constrained array types are vectorizable
16 type Sarray
is array (Vect6_Pkg
.Index_Type
(1) .. Vect6_Pkg
.Index_Type
(4))
18 for Sarray
'Alignment use 16;
20 function "+" (X
: Sarray
; Y
: Long_Float) return Sarray
;
21 procedure Add
(X
: Sarray
; Y
: Long_Float; R
: out Sarray
);
22 procedure Add
(X
: not null access Sarray
; Y
: Long_Float; R
: not null access Sarray
);
25 type Darray1
is array (Vect6_Pkg
.Index_Type
(1) .. Vect6_Pkg
.N
) of Long_Float;
26 for Darray1
'Alignment use 16;
28 function "+" (X
: Darray1
; Y
: Long_Float) return Darray1
;
29 procedure Add
(X
: Darray1
; Y
: Long_Float; R
: out Darray1
);
30 procedure Add
(X
: not null access Darray1
; Y
: Long_Float; R
: not null access Darray1
);
33 type Darray2
is array (Vect6_Pkg
.K
.. Vect6_Pkg
.Index_Type
(4)) of Long_Float;
34 for Darray2
'Alignment use 16;
36 function "+" (X
: Darray2
; Y
: Long_Float) return Darray2
;
37 procedure Add
(X
: Darray2
; Y
: Long_Float; R
: out Darray2
);
38 procedure Add
(X
: not null access Darray2
; Y
: Long_Float; R
: not null access Darray2
);
41 type Darray3
is array (Vect6_Pkg
.K
.. Vect6_Pkg
.N
) of Long_Float;
42 for Darray3
'Alignment use 16;
44 function "+" (X
: Darray3
; Y
: Long_Float) return Darray3
;
45 procedure Add
(X
: Darray3
; Y
: Long_Float; R
: out Darray3
);
46 procedure Add
(X
: not null access Darray3
; Y
: Long_Float; R
: not null access Darray3
);