adagsl_335d13f0/gsl/src/gsl.ads

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
with Interfaces.C; use Interfaces.C;
with Interfaces.C.Strings;
with Interfaces.C_Streams;
with Ada.Text_IO;  use Ada.Text_IO;
with Ada.Text_IO.Complex_IO;
with Ada.Numerics.Generic_Elementary_Functions;
with Ada.Numerics.Generic_Complex_Types;
with Ada.Numerics.Generic_Complex_Elementary_Functions;

with Ada.Numerics.Long_Real_Arrays; use Ada.Numerics.Long_Real_Arrays;
with Ada.Numerics.Real_Arrays;

package gsl is

   package ICS renames Interfaces.C_Streams;
   function Error (errno : int) return String;

   type double_array is array (Natural range <>) of double;
   type double_matrix is array (Natural range <>, Natural range <>) of double;

   function To_Ada
     (c : double_array; len : size_t)
      return Ada.Numerics.Long_Real_Arrays.Real_Vector;
   procedure To_C
     (a   : Ada.Numerics.Long_Real_Arrays.Real_Vector; c : out double_array;
      len : out size_t);

   procedure Sep;
   subtype Long_Float_array is double_array;

   GSL_SUCCESS : constant := 0;

   package Int_Text_Io is new Ada.Text_IO.Integer_IO (int);
   package double_text_Io is new Ada.Text_IO.Float_IO (double);
   package size_t_text_Io is new Ada.Text_IO.Modular_IO (size_t);
   package double_elementary_functions is new Ada.Numerics
     .Generic_Elementary_Functions
     (double);
   package double_complex_types is new Ada.Numerics.Generic_Complex_Types
     (double);
   package double_complex_functions is new Ada.Numerics
     .Generic_Complex_Elementary_Functions
     (double_complex_types);
   package complex_text_io is new Ada.Text_IO.Complex_IO
     (double_complex_types);
end gsl;