Конвертировать массив UInt64 в BitVector - PullRequest
0 голосов
/ 22 мая 2018

Я недавно обнаружил, что могу получить «резервный массив» UInt64 для BitVector, используя chunks.Однако я хотел бы пойти противоположным путем - учитывая одномерный массив UInt64, построить BitVector, используя некоторую функцию foo такую, что

foo(x.chunks) == x

Существует ли такая функция?

1 Ответ

0 голосов
/ 22 мая 2018

Будет ли что-то вроде работать ?

function foo(v::Vector{UInt64})
    siz = sizeof(v)
    bv = falses(siz << 6)
    unsafe_copy!(reinterpret(Ptr{UInt64}, pointer(bv.chunks)), pointer(v), siz)
    bv
end

Они также обеспечивают перегрузку для установки количества бит в результирующем BitVector, если требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...