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

Reply via email to