Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 35s
Single-formula generation: gray[i] = i lxor (i lsr 1) For n = 4, generates 16 values, each differing from its neighbour by one bit. Output is a permutation of 0..15, so its sum equals the natural-sequence sum 120; +16 entries -> 136. Tests lsl / lxor / lsr together (the iter-127 bitwise ops) plus Array.make / Array.fold_left. 95 baseline programs total.
13 lines
207 B
OCaml
13 lines
207 B
OCaml
let gray n =
|
|
let m = 1 lsl n in
|
|
let result = Array.make m 0 in
|
|
for i = 0 to m - 1 do
|
|
result.(i) <- i lxor (i lsr 1)
|
|
done;
|
|
result
|
|
|
|
;;
|
|
|
|
let g = gray 4 in
|
|
Array.fold_left (+) 0 g + Array.length g
|