Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 06ac1aec281c5ae61f8a37c77d031209 > files > 27

ocaml-zarith-devel-1.2.1-3.mga4.x86_64.rpm

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