let iteri f bitarray =
let array = bitarray.array in
let vlength = bitarray.length / size + if bitarray.length mod size = 0 then 0 else 1 in
for i = 0 to vlength - 1 do
let delta = i * size in
if i = vlength - 1
then
let modulo = (length bitarray) mod size in
Array.iteri (fun index x -> if index <= modulo || modulo = 0 then f (delta + index) ((x land array.{i})!=0)) values
else
Array.iteri (fun index x -> f (delta+index) ((x land array.{i}) != 0)) values;
done