Erlang bit indexing
- by GTDev
I am currently trying to learn erlang and what I am trying to do is to perform an operation on specific indices of an array stored in a bit array or int. If there is a 0 in a position, the index into the array at that position is not used.
So envision the following:
Example the array is: [1, 3, 5, 42, 23]
My bit array is: 21 = 10101 in binary
so I'm using indicies 1,3,5
so I'm calling a function on [1, 5, 23]
my function is of the form
my_function(Array, BitArray) ->
SubArray = get_subarray_from_bitarray(Array, BitArray),
process_subarray(SubArray).
And I need help with the get_subarray_from_bitarray(). I know erlang has special syntax around bit strings (something like <<) so is there an efficient way of indexing into the bit array to get the indicies?