OSDN Git Service

bbd22dbc7c2b4b2115d9852fd06964acdcb1b2fc
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / vect2.ads
1 with Vect2_Pkg;
2
3 package Vect2 is
4
5    -- Unconstrained array types are vectorizable, possibly with special
6    -- help for the programmer
7    type Varray is array (Positive range <>) of Long_Float;
8    for Varray'Alignment use 16;
9
10    function "+" (X, Y : Varray) return Varray;
11    procedure Add (X, Y : Varray; R : out Varray);
12    procedure Add (X, Y : not null access Varray; R : not null access Varray);
13
14
15    -- Constrained array types are vectorizable
16    type Sarray is array (Positive(1) .. Positive(4)) of Long_Float;
17    for Sarray'Alignment use 16;
18
19    function "+" (X, Y : Sarray) return Sarray;
20    procedure Add (X, Y : Sarray; R : out Sarray);
21    procedure Add (X, Y : not null access Sarray; R : not null access Sarray);
22
23
24    type Darray1 is array (Positive(1) .. Vect2_Pkg.N) of Long_Float;
25    for Darray1'Alignment use 16;
26
27    function "+" (X, Y : Darray1) return Darray1;
28    procedure Add (X, Y : Darray1; R : out Darray1);
29    procedure Add (X, Y : not null access Darray1; R : not null access Darray1);
30
31
32    type Darray2 is array (Vect2_Pkg.K .. Positive(4)) of Long_Float;
33    for Darray2'Alignment use 16;
34
35    function "+" (X, Y : Darray2) return Darray2;
36    procedure Add (X, Y : Darray2; R : out Darray2);
37    procedure Add (X, Y : not null access Darray2; R : not null access Darray2);
38
39
40    type Darray3 is array (Vect2_Pkg.K .. Vect2_Pkg.N) of Long_Float;
41    for Darray3'Alignment use 16;
42
43    function "+" (X, Y : Darray3) return Darray3;
44    procedure Add (X, Y : Darray3; R : out Darray3);
45    procedure Add (X, Y : not null access Darray3; R : not null access Darray3);
46
47 end Vect2;