Source file function_description.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
open Ctypes

(* This Types_generated module is an instantiation of the Types
   functor defined in the type_description.ml file. It's generated by
   a C program that dune creates and runs behind the scenes. *)
module Types = Types_generated

module Functions (F : Ctypes.FOREIGN) = struct
  open F
  open Types

  (* let ml_z_mpz_init_set_z =
   *   foreign "ml_z_mpz_init_set_z" (MPZ.t @-> z @-> returning void)
   *
   * let ml_z_from_mpz = foreign "ml_z_from_mpz" (MPZ.t @-> returning z) *)

  let ca_init = foreign "ca_init" (ca_t @-> ca_ctx_t @-> returning void)
  let ca_clear = foreign "ca_clear" (ca_t @-> ca_ctx_t @-> returning void)

  let ca_set_si =
    foreign "ca_set_si" (ca_t @-> long @-> ca_ctx_t @-> returning void)

  let ca_set_fmpz =
    foreign "ca_set_fmpz"
      (ca_t @-> Flint.FMPZ.C.fmpz_t @-> ca_ctx_t @-> returning void)

  let ca_set_fmpq =
    foreign "ca_set_fmpq"
      (ca_t @-> Flint.FMPQ.C.fmpq_t @-> ca_ctx_t @-> returning void)

  let ca_ctx_init = foreign "ca_ctx_init" (ca_ctx_t @-> returning void)
  let ca_ctx_clear = foreign "ca_ctx_clear" (ca_ctx_t @-> returning void)

  let ca_equal_repr =
    foreign "ca_equal_repr" (ca_t @-> ca_t @-> ca_ctx_t @-> returning bool)

  let ca_cmp_repr =
    foreign "ca_cmp_repr" (ca_t @-> ca_t @-> ca_ctx_t @-> returning int)

  let ca_hash_repr =
    foreign "ca_hash_repr" (ca_t @-> ca_ctx_t @-> returning ulong)

  let ca_is_unknown =
    foreign "ca_is_unknown" (ca_t @-> ca_ctx_t @-> returning bool)

  let ca_is_special =
    foreign "ca_is_special" (ca_t @-> ca_ctx_t @-> returning bool)

  let ca_check_equal =
    foreign "ca_check_equal" (ca_t @-> ca_t @-> ca_ctx_t @-> returning truth_t)

  let ca_check_lt =
    foreign "ca_check_lt" (ca_t @-> ca_t @-> ca_ctx_t @-> returning truth_t)

  let ca_check_le =
    foreign "ca_check_le" (ca_t @-> ca_t @-> ca_ctx_t @-> returning truth_t)

  let ca_check_gt =
    foreign "ca_check_gt" (ca_t @-> ca_t @-> ca_ctx_t @-> returning truth_t)

  let ca_check_ge =
    foreign "ca_check_ge" (ca_t @-> ca_t @-> ca_ctx_t @-> returning truth_t)

  let ca_floor =
    foreign "ca_floor" (ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_ceil = foreign "ca_ceil" (ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_get_acb_accurate_parts =
    foreign "ca_get_acb_accurate_parts"
      (Arb.ACB.C.acb_t @-> ca_t @-> long @-> ca_ctx_t @-> returning void)

  let ca_sqrt = foreign "ca_sqrt" (ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_add =
    foreign "ca_add" (ca_t @-> ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_sub =
    foreign "ca_sub" (ca_t @-> ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_mul =
    foreign "ca_mul" (ca_t @-> ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_div =
    foreign "ca_div" (ca_t @-> ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_pow_si =
    foreign "ca_pow_si" (ca_t @-> ca_t @-> long @-> ca_ctx_t @-> returning void)

  let ca_pow_fmpq =
    foreign "ca_pow_fmpq"
      (ca_t @-> ca_t @-> Flint.FMPQ.C.fmpq_t @-> ca_ctx_t @-> returning void)

  let ca_neg = foreign "ca_neg" (ca_t @-> ca_t @-> ca_ctx_t @-> returning void)
  let ca_inv = foreign "ca_inv" (ca_t @-> ca_t @-> ca_ctx_t @-> returning void)
  let ca_abs = foreign "ca_abs" (ca_t @-> ca_t @-> ca_ctx_t @-> returning void)

  let ca_get_fmpq =
    foreign "ca_get_fmpq"
      (Flint.FMPQ.C.fmpq_t @-> ca_t @-> ca_ctx_t @-> returning bool)

  let ca_get_fmpz =
    foreign "ca_get_fmpz"
      (Flint.FMPZ.C.fmpz_t @-> ca_t @-> ca_ctx_t @-> returning bool)

  let ca_check_is_negative_real =
    foreign "ca_check_is_negative_real" (ca_t @-> ca_ctx_t @-> returning truth_t)
end