I have a few `BitArray`s representing various conditions, that I'd like to
assemble to a mask matrix. Basically, I want to achieve something like this:
Rs = linspace(4,8,65)
Zs = linspace(-3,3,136)' # yes, transposed
inside_R_box = minR .< Rs .< maxR
inside_Z_box = minZ .< Zs .< maxZ
So far so good. Now, I want to combine the two in a broadcasting manner, so
that I get a full matrix with the entire mask. Neither of these work,
however:
inside_box = inside_R_box && inside_Z_box # ERROR: type: non-boolean
(BitArray{1}) used in boolean context
inside_box = inside_R_box .&& inside_Z_box # ERROR: syntax: invalid
identifier name "&&"
inside_box = inside_R_box & inside_Z_box # ERROR: dimensions must match /
in promote_shape at operators.jl:186
inside_box = inside_R_box .& inside_Z_box # ERROR: syntax: extra token
"inside_Z_box" after end of expression
After I have the inside_box mask I want to `and` it with another mask of
the same dimensions, i.e.
mask = inside_box & other_mask
which I guess would work if I had some way to broadcast the R/Z comparison
to full matrix size. Is this missing functionality (and if so, is it
intentionally left out or just forgotten?) or a bug somewhere?
I did try to search for a few different things in the documentation.
Unfortunately "and" is not a very good word to enter in search engines, and
I haven't been able to come up with any alternatives that render any hits...
// Tomas