У меня есть OCaml Bigarray.Array1
, созданный из файла с элементами char
и макетом C.Я пытаюсь извлечь его кусочки до Bytes.t
.Например, получить содержимое массива от символа 3 до символа 10 в переменную byte
длины 7.
Есть ли лучший способ, чем зацикливание индекса и использование Bytes.set?
Например,
(* this feels inefficient *)
let slice array a b =
let bytes = Bytes.create (b - a) in
for i = a to b-1 do
Bytes.set bytes i (Bigarray.Array1.get array i)
done ; bytes
Я знаю Bigarray.Array1.sub
, но на самом деле это не приближает меня.Проблема в том, что операции являются полиморфными в типе массива ... есть ли специализированные, эффективные операции для массивов символов?