<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=utf8" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Z" rel="Chapter" href="Z.html"> <link title="Q" rel="Chapter" href="Q.html"> <link title="Big_int_Z" rel="Chapter" href="Big_int_Z.html"><title>Z</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">exception</span> <span class="constructor">Overflow</span><br> <span class="keyword">val</span> zero : <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> one : <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> minus_one : <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> of_int : int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">external</span> of_int32 : int32 <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_of_int32"</span><br> <span class="keyword">external</span> of_int64 : int64 <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_of_int64"</span><br> <span class="keyword">external</span> of_nativeint : nativeint <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_of_nativeint"</span><br> <span class="keyword">external</span> of_float : float <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_of_float"</span><br> <span class="keyword">val</span> of_string : string <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">external</span> of_string_base : int <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_of_string_base"</span><br> <span class="keyword">external</span> succ : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_succ"</span> <span class="string">"ml_as_z_succ"</span><br> <span class="keyword">external</span> pred : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_pred"</span> <span class="string">"ml_as_z_pred"</span><br> <span class="keyword">external</span> abs : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_abs"</span> <span class="string">"ml_as_z_abs"</span><br> <span class="keyword">external</span> neg : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_neg"</span> <span class="string">"ml_as_z_neg"</span><br> <span class="keyword">external</span> add : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_add"</span> <span class="string">"ml_as_z_add"</span><br> <span class="keyword">external</span> sub : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_sub"</span> <span class="string">"ml_as_z_sub"</span><br> <span class="keyword">external</span> mul : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_mul"</span> <span class="string">"ml_as_z_mul"</span><br> <span class="keyword">external</span> div : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_div"</span> <span class="string">"ml_as_z_div"</span><br> <span class="keyword">external</span> rem : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_rem"</span> <span class="string">"ml_as_z_rem"</span><br> <span class="keyword">external</span> div_rem : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t * <span class="constructor">Z</span>.t = <span class="string">"ml_z_div_rem"</span><br> <span class="keyword">external</span> cdiv : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_cdiv"</span><br> <span class="keyword">external</span> fdiv : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_fdiv"</span><br> <span class="keyword">val</span> ediv_rem : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t * <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> ediv : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> erem : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">external</span> divexact : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_divexact"</span><br> <span class="keyword">external</span> logand : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_logand"</span> <span class="string">"ml_as_z_logand"</span><br> <span class="keyword">external</span> logor : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_logor"</span> <span class="string">"ml_as_z_logor"</span><br> <span class="keyword">external</span> logxor : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_logxor"</span> <span class="string">"ml_as_z_logxor"</span><br> <span class="keyword">external</span> lognot : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_lognot"</span> <span class="string">"ml_as_z_lognot"</span><br> <span class="keyword">external</span> shift_left : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_shift_left"</span><br> <span class="string">"ml_as_z_shift_left"</span><br> <span class="keyword">external</span> shift_right : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_shift_right"</span><br> <span class="string">"ml_as_z_shift_right"</span><br> <span class="keyword">external</span> shift_right_trunc : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_shift_right_trunc"</span><br> <span class="keyword">external</span> popcount : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int = <span class="string">"ml_z_popcount"</span><br> <span class="keyword">external</span> hamdist : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int = <span class="string">"ml_z_hamdist"</span><br> <span class="keyword">external</span> to_int : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int = <span class="string">"ml_z_to_int"</span><br> <span class="keyword">external</span> to_int32 : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int32 = <span class="string">"ml_z_to_int32"</span><br> <span class="keyword">external</span> to_int64 : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int64 = <span class="string">"ml_z_to_int64"</span><br> <span class="keyword">external</span> to_nativeint : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> nativeint = <span class="string">"ml_z_to_nativeint"</span><br> <span class="keyword">external</span> to_float : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> float = <span class="string">"ml_z_to_float"</span><br> <span class="keyword">val</span> to_string : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">external</span> format : string <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> string = <span class="string">"ml_z_format"</span><br> <span class="keyword">external</span> fits_int : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool = <span class="string">"ml_z_fits_int"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> fits_int32 : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool = <span class="string">"ml_z_fits_int32"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> fits_int64 : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool = <span class="string">"ml_z_fits_int64"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> fits_nativeint : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool = <span class="string">"ml_z_fits_nativeint"</span> <span class="string">"noalloc"</span><br> <span class="keyword">val</span> print : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> output : <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> sprint : unit <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> bprint : <span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> pp_print : <span class="constructor">Format</span>.formatter <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">external</span> compare : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int = <span class="string">"ml_z_compare"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> equal : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool = <span class="string">"ml_z_equal"</span> <span class="string">"noalloc"</span><br> <span class="keyword">val</span> leq : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> geq : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> lt : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> gt : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">external</span> sign : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int = <span class="string">"ml_z_sign"</span> <span class="string">"noalloc"</span><br> <span class="keyword">val</span> min : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> max : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> hash : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">external</span> gcd : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_gcd"</span><br> <span class="keyword">val</span> gcdext : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t * <span class="constructor">Z</span>.t * <span class="constructor">Z</span>.t<br> <span class="keyword">val</span> lcm : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">external</span> powm : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_powm"</span><br> <span class="keyword">external</span> invert : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_invert"</span><br> <span class="keyword">external</span> probab_prime : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int = <span class="string">"ml_z_probab_prime"</span><br> <span class="keyword">external</span> nextprime : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_nextprime"</span><br> <span class="keyword">external</span> pow : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_pow"</span><br> <span class="keyword">external</span> sqrt : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_sqrt"</span><br> <span class="keyword">external</span> sqrt_rem : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t * <span class="constructor">Z</span>.t = <span class="string">"ml_z_sqrt_rem"</span><br> <span class="keyword">external</span> root : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_root"</span><br> <span class="keyword">external</span> perfect_power : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool = <span class="string">"ml_z_perfect_power"</span><br> <span class="keyword">external</span> perfect_square : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> bool = <span class="string">"ml_z_perfect_square"</span><br> <span class="keyword">external</span> size : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int = <span class="string">"ml_z_size"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_extract"</span><br> <span class="keyword">val</span> signed_extract : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t<br> <span class="keyword">external</span> to_bits : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> string = <span class="string">"ml_z_to_bits"</span><br> <span class="keyword">external</span> of_bits : string <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_of_bits"</span><br> <span class="keyword">external</span> ( <span class="keywordsign">~-</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_neg"</span> <span class="string">"ml_as_z_neg"</span><br> <span class="keyword">external</span> ( <span class="keywordsign">~+</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"%identity"</span><br> <span class="keyword">external</span> ( + ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_add"</span> <span class="string">"ml_as_z_add"</span><br> <span class="keyword">external</span> ( - ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_sub"</span> <span class="string">"ml_as_z_sub"</span><br> <span class="keyword">external</span> ( * ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_mul"</span> <span class="string">"ml_as_z_mul"</span><br> <span class="keyword">external</span> ( / ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_div"</span> <span class="string">"ml_as_z_div"</span><br> <span class="keyword">external</span> ( /> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_cdiv"</span><br> <span class="keyword">external</span> ( /< ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_fdiv"</span><br> <span class="keyword">external</span> ( /| ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_divexact"</span><br> <span class="keyword">external</span> ( <span class="keyword">mod</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_rem"</span> <span class="string">"ml_as_z_rem"</span><br> <span class="keyword">external</span> ( <span class="keyword">land</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_logand"</span> <span class="string">"ml_as_z_logand"</span><br> <span class="keyword">external</span> ( <span class="keyword">lor</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_logor"</span> <span class="string">"ml_as_z_logor"</span><br> <span class="keyword">external</span> ( <span class="keyword">lxor</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_logxor"</span> <span class="string">"ml_as_z_logxor"</span><br> <span class="keyword">external</span> ( <span class="keywordsign">~!</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_lognot"</span> <span class="string">"ml_as_z_lognot"</span><br> <span class="keyword">external</span> ( <span class="keyword">lsl</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_shift_left"</span><br> <span class="string">"ml_as_z_shift_left"</span><br> <span class="keyword">external</span> ( <span class="keyword">asr</span> ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_shift_right"</span><br> <span class="string">"ml_as_z_shift_right"</span><br> <span class="keyword">external</span> ( <span class="keywordsign">~$</span> ) : int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"%identity"</span><br> <span class="keyword">external</span> ( ** ) : <span class="constructor">Z</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Z</span>.t = <span class="string">"ml_z_pow"</span><br> <span class="keyword">val</span> version : string<br> <span class="keyword">end</span></code></body></html>