Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / primitive / prim-int-inf.sml
CommitLineData
7f918cf1
CE
1(* Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 * Copyright (C) 1997-2000 NEC Research Institute.
4 *
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
7 *)
8
9(* Primitive names are special -- see atoms/prim.fun. *)
10
11structure Primitive = struct
12
13open Primitive
14
15structure IntInf =
16 struct
17 open IntInf
18
19 val + = _prim "IntInf_add": int * int * C_Size.t -> int;
20 val andb = _prim "IntInf_andb": int * int * C_Size.t -> int;
21 val ~>> = _prim "IntInf_arshift": int * Word32.word * C_Size.t -> int;
22 val compare = _prim "IntInf_compare": int * int -> Int32.int;
23 val fromVector = _prim "WordVector_toIntInf": C_MPLimb.t vector -> int;
24 val fromWord = _prim "Word_toIntInf": ObjptrWord.word -> int;
25 val gcd = _prim "IntInf_gcd": int * int * C_Size.t -> int;
26 val << = _prim "IntInf_lshift": int * Word32.word * C_Size.t -> int;
27 val * = _prim "IntInf_mul": int * int * C_Size.t -> int;
28 val ~ = _prim "IntInf_neg": int * C_Size.t -> int;
29 val notb = _prim "IntInf_notb": int * C_Size.t -> int;
30 val orb = _prim "IntInf_orb": int * int * C_Size.t -> int;
31 val quot = _prim "IntInf_quot": int * int * C_Size.t -> int;
32 val rem = _prim "IntInf_rem": int * int * C_Size.t -> int;
33 val - = _prim "IntInf_sub": int * int * C_Size.t -> int;
34 val toString =
35 _prim "IntInf_toString": int * Int32.int * C_Size.t -> String8.string;
36 val toVector = _prim "IntInf_toVector": int -> C_MPLimb.t vector;
37 val toWord = _prim "IntInf_toWord": int -> ObjptrWord.word;
38 val xorb = _prim "IntInf_xorb": int * int * C_Size.t -> int;
39 end
40
41end