package flint

  1. Overview
  2. Docs

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
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 fmpz_clear = foreign "fmpz_clear" (fmpz_t @-> returning void)
  let fmpz_get_si = foreign "fmpz_get_si" (fmpz_t @-> returning long)
  let fmpz_set_si = foreign "fmpz_set_si" (fmpz_t @-> long @-> returning void)
  let fmpz_init = foreign "fmpz_init" (fmpz_t @-> returning void)

  let fmpz_init_set_ui =
    foreign "fmpz_init_set_ui" (fmpz_t @-> ulong @-> returning void)

  let fmpq_clear = foreign "fmpq_clear" (fmpq_t @-> returning void)

  let fmpq_set_fmpz_frac =
    foreign "fmpq_set_fmpz_frac"
      (fmpq_t @-> fmpz_t @-> fmpz_t @-> returning void)

  let free = foreign "free" (ptr char @-> returning void)
  let strlen = foreign "strlen" (ptr char @-> returning size_t)
end
OCaml

Innovation. Community. Security.