Anonymous user
Hamming numbers: Difference between revisions
→{{header|ATS}}
Line 225:
=={{header|ATS}}==
<lang ATS>
#include
"share/atspre_staload.hats"
fun
Line 250 ⟶ 248:
) : int = let
//
var A = @[int](
val A = $UNSAFE.cast{arrayref(int, 3)}(addr@A)
var I = @[int](
val I = $UNSAFE.cast{arrayref(int, 3)}(addr@I)
val H = arrayref_make_elt<int> (i2sz(succ(n)),
val () = H[0] :=
//
fun
Line 271 ⟶ 269:
) : intBtwe(k2, k2+1)
val ii = I[i]
val () = I[i] := ii+
val ii = $UNSAFE.cast{natLte(n)}(ii)
val () = if i = 0 then A[i] :=
val () = if i = 1 then A[i] :=
val () = if i = 2 then A[i] :=
in
loop(k+1, k2)
|