with Interfaces.C; with Interfaces.C.Pointers; package C_Double_Arrays is -- DESCRIPTION : -- This package defines the type "C_Double_Array" to work with arrays -- of C doubles and instantiates the C pointers packages. -- The "Pointer_to_C_Double_Array" is needed to make matrices as -- arrays of arrays of doubles. type C_Double_Array is array ( Interfaces.C.size_t range <> ) of aliased Interfaces.C.double; type Pointer_to_C_Double_Array is access C_Double_Array; package C_DblArrs is new Interfaces.C.Pointers(Interfaces.C.size_t, Interfaces.C.double, C_Double_Array,0.0); function Concat ( a,b : C_Double_Array ) return C_Double_Array; -- DESCRIPTION : -- Concatenates the array b after the array a. end C_Double_Arrays;