1 (* Copyright (C
) 1999-2006 Henry Cejtin
, Matthew Fluet
, Suresh
2 * Jagannathan
, and Stephen Weeks
.
3 * Copyright (C
) 1997-2000 NEC Research Institute
.
5 * MLton is released under a BSD
-style license
.
6 * See the file MLton
-LICENSE for details
.
9 (* Primitive names are special
-- see atoms
/prim
.fun. *)
11 structure Primitive
= struct
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;
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;