Source file arb__c_generated_functions__Function_description__Function.ml

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
module CI = Cstubs_internals

external arb_stubs_1_acb_init : _ CI.fatptr -> unit = "arb_stubs_1_acb_init" 

external arb_stubs_2_acb_clear : _ CI.fatptr -> unit
  = "arb_stubs_2_acb_clear" 

external arb_stubs_3_mag_init : _ CI.fatptr -> unit = "arb_stubs_3_mag_init" 

external arb_stubs_4_mag_clear : _ CI.fatptr -> unit
  = "arb_stubs_4_mag_clear" 

external arb_stubs_5_arf_init : _ CI.fatptr -> unit = "arb_stubs_5_arf_init" 

external arb_stubs_6_arf_clear : _ CI.fatptr -> unit
  = "arb_stubs_6_arf_clear" 

external arb_stubs_7_arb_init : _ CI.fatptr -> unit = "arb_stubs_7_arb_init" 

external arb_stubs_8_arb_clear : _ CI.fatptr -> unit
  = "arb_stubs_8_arb_clear" 

external arb_stubs_9_acb_rel_accuracy_bits : _ CI.fatptr -> Signed.long
  = "arb_stubs_9_acb_rel_accuracy_bits" 

external arb_stubs_10_arf_get_fmpz_fixed_si
  : _ CI.fatptr -> _ CI.fatptr -> Signed.long -> bool
  = "arb_stubs_10_arf_get_fmpz_fixed_si" 

external arb_stubs_11_acb_set_arb_arb
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> unit
  = "arb_stubs_11_acb_set_arb_arb" 

external arb_stubs_12_arb_set_round_fmpz_2exp
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> Signed.long -> unit
  = "arb_stubs_12_arb_set_round_fmpz_2exp" 

external arb_stubs_13_arf_set_fmpz_2exp
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> unit
  = "arb_stubs_13_arf_set_fmpz_2exp" 

external arb_stubs_14_arb_set_interval_arf
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> Signed.long -> unit
  = "arb_stubs_14_arb_set_interval_arf" 

external arb_stubs_15_arb_zero : _ CI.fatptr -> unit
  = "arb_stubs_15_arb_zero" 

type 'a result = 'a
type 'a return = 'a
type 'a fn =
 | Returns  : 'a CI.typ   -> 'a return fn
 | Function : 'a CI.typ * 'b fn  -> ('a -> 'b) fn
let map_result f x = f x
let returning t = Returns t
let (@->) f p = Function (f, p)
let foreign : type a b. string -> (a -> b) fn -> (a -> b) =
  fun name t -> match t, name with
| Function (CI.Pointer _, Returns CI.Void), "arb_zero" ->
  (fun x1 -> let CI.CPointer x2 = x1 in arb_stubs_15_arb_zero x2)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _, Function (CI.Primitive CI.Long, Returns CI.Void)))),
  "arb_set_interval_arf" ->
  (fun x3 x5 x7 x9 ->
    let CI.CPointer x8 = x7 in
    let CI.CPointer x6 = x5 in
    let CI.CPointer x4 = x3 in arb_stubs_14_arb_set_interval_arf x4 x6 x8 x9)
| Function
    (CI.Pointer _,
     Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void))),
  "arf_set_fmpz_2exp" ->
  (fun x10 x12 x14 ->
    let CI.CPointer x15 = x14 in
    let CI.CPointer x13 = x12 in
    let CI.CPointer x11 = x10 in arb_stubs_13_arf_set_fmpz_2exp x11 x13 x15)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _, Function (CI.Primitive CI.Long, Returns CI.Void)))),
  "arb_set_round_fmpz_2exp" ->
  (fun x16 x18 x20 x22 ->
    let CI.CPointer x21 = x20 in
    let CI.CPointer x19 = x18 in
    let CI.CPointer x17 = x16 in
    arb_stubs_12_arb_set_round_fmpz_2exp x17 x19 x21 x22)
| Function
    (CI.Pointer _,
     Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void))),
  "acb_set_arb_arb" ->
  (fun x23 x25 x27 ->
    let CI.CPointer x28 = x27 in
    let CI.CPointer x26 = x25 in
    let CI.CPointer x24 = x23 in arb_stubs_11_acb_set_arb_arb x24 x26 x28)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function (CI.Primitive CI.Long, Returns (CI.Primitive CI.Bool)))),
  "arf_get_fmpz_fixed_si" ->
  (fun x29 x31 x33 ->
    let CI.CPointer x32 = x31 in
    let CI.CPointer x30 = x29 in
    arb_stubs_10_arf_get_fmpz_fixed_si x30 x32 x33)
| Function (CI.Pointer _, Returns (CI.Primitive CI.Long)),
  "acb_rel_accuracy_bits" ->
  (fun x34 ->
    let CI.CPointer x35 = x34 in arb_stubs_9_acb_rel_accuracy_bits x35)
| Function (CI.Pointer _, Returns CI.Void), "arb_clear" ->
  (fun x36 -> let CI.CPointer x37 = x36 in arb_stubs_8_arb_clear x37)
| Function (CI.Pointer _, Returns CI.Void), "arb_init" ->
  (fun x38 -> let CI.CPointer x39 = x38 in arb_stubs_7_arb_init x39)
| Function (CI.Pointer _, Returns CI.Void), "arf_clear" ->
  (fun x40 -> let CI.CPointer x41 = x40 in arb_stubs_6_arf_clear x41)
| Function (CI.Pointer _, Returns CI.Void), "arf_init" ->
  (fun x42 -> let CI.CPointer x43 = x42 in arb_stubs_5_arf_init x43)
| Function (CI.Pointer _, Returns CI.Void), "mag_clear" ->
  (fun x44 -> let CI.CPointer x45 = x44 in arb_stubs_4_mag_clear x45)
| Function (CI.Pointer _, Returns CI.Void), "mag_init" ->
  (fun x46 -> let CI.CPointer x47 = x46 in arb_stubs_3_mag_init x47)
| Function (CI.Pointer _, Returns CI.Void), "acb_clear" ->
  (fun x48 -> let CI.CPointer x49 = x48 in arb_stubs_2_acb_clear x49)
| Function (CI.Pointer _, Returns CI.Void), "acb_init" ->
  (fun x50 -> let CI.CPointer x51 = x50 in arb_stubs_1_acb_init x51)
| _, s ->  Printf.ksprintf failwith "No match for %s" s


let foreign_value : type a. string -> a Ctypes.typ -> a Ctypes.ptr =
  fun name t -> match t, name with
| _, s ->  Printf.ksprintf failwith "No match for %s" s