# Is coninctio/alternativ... of all BitArray?

**URL:** https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287
**Category:** General Usage
**Created:** [October 13, 2018, 6:34pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287 "2018-10-13T18:34:11Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![programista](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/programista/32/5372_2.png) [@programista](https://discourse.julialang.org/u/programista)
#### Post date: [October 13, 2018, 6:34pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/1 "2018-10-13T18:34:11Z")

</div>

julia\> .&(a)  
6-element BitArray{1}:  
true  
false  
false  
false  
false  
false

julia\> &(a)  
ERROR: syntax: misplaced “&” expression

i need somthing like (true & false & false & false & false ) on "a " BitArray

---

<div class="post-metadata">

### Author: ![gpapo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gpapo/32/1857_2.png) [@gpapo](https://discourse.julialang.org/u/gpapo)
#### Post date: [October 13, 2018, 6:40pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/2 "2018-10-13T18:40:54Z")

</div>

You can `&(a...)` but I think `all(a)` would be more efficient.

Edit: splatting seems to work only with the broadcasting version `.&(a...)`.

---

<div class="post-metadata">

### Author: ![programista](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/programista/32/5372_2.png) [@programista](https://discourse.julialang.org/u/programista)
#### Post date: [October 13, 2018, 6:47pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/3 "2018-10-13T18:47:09Z")

</div>

Thanks, it is semi trick 🙂 What about OR, XOR, other logic function? &(a…) no works

julia\> &(a)  
ERROR: syntax: misplaced “&” expression

julia\> &(a…)  
┌ Warning: Deprecated syntax `(a...)` at REPL[142]:1.  
│ Use `(a...,)` instead.  
└ @ REPL[142]:1  
ERROR: syntax: misplaced “&” expression

julia\> (a…,)  
(true, true, true)

julia\> &(a…,)  
ERROR: syntax: misplaced “&” expression

---

<div class="post-metadata">

### Author: ![programista](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/programista/32/5372_2.png) [@programista](https://discourse.julialang.org/u/programista)
#### Post date: [October 13, 2018, 6:52pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/4 "2018-10-13T18:52:02Z")

</div>

IS ok with . works  
julia\> a  
3-element Array{Bool,1}:  
false  
true  
true

julia\> .|(a…,)  
true

julia\> .&(a…,)  
false

julia\>

---

<div class="post-metadata">

### Author: ![programista](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/programista/32/5372_2.png) [@programista](https://discourse.julialang.org/u/programista)
#### Post date: [October 13, 2018, 6:55pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/5 "2018-10-13T18:55:17Z")

</div>

what mean :

> [@](#):
>
> …,

---

<div class="post-metadata">

### Author: ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)
#### Post date: [October 13, 2018, 7:00pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/6 "2018-10-13T19:00:11Z")

</div>

it means take the content of `a` and lay’em out

```julia
julia> a = [1, 2, 3]
3-element Array{Int64,1}:
 1
 2
 3

julia> b = [a]
1-element Array{Array{Int64,1},1}:
 [1, 2, 3]

julia> length(a) , length(b), length(b[1])
(3, 1, 3)

julia> a == b
false

julia> a == b[1]
true

julia> c = [a...,]
3-element Array{Int64,1}:
 1
 2
 3

julia> length(a) , length(c)
(3, 3)

julia> a == c
true

```

---

<div class="post-metadata">

### Author: ![gpapo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gpapo/32/1857_2.png) [@gpapo](https://discourse.julialang.org/u/gpapo)
#### Post date: [October 13, 2018, 7:00pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/7 "2018-10-13T19:00:45Z")

</div>

That’s the syntax to splat an iterator and create a tuple.

See:

```julia
julia> f(x) = (x...,)
f (generic function with 1 method)

julia> @code_lowered f(a)
CodeInfo(
1 1 ─ %1 = (Core._apply)(Core.tuple, x)
  └── return %1
)

```

---

<div class="post-metadata">

### Author: ![dawbarton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dawbarton/32/215461_2.png) [@dawbarton](https://discourse.julialang.org/u/dawbarton)
#### Post date: [October 13, 2018, 8:20pm UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/8 "2018-10-13T20:20:10Z")

</div>

If you are using large arrays, it’s probably more efficient to use `reduce` rather than splatting. For example

```julia
julia> a = rand(6).>0.5
6-element BitArray{1}:
  true
 false
 false
 false
  true
 false

julia> reduce(&, a)
false

julia> reduce(|, a)
true

julia> reduce(xor, a)
false

```

---

<div class="post-metadata">

### Author: ![programista](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/programista/32/5372_2.png) [@programista](https://discourse.julialang.org/u/programista)
#### Post date: [October 14, 2018, 6:35am UTC](https://discourse.julialang.org/t/is-coninctio-alternativ-of-all-bitarray/16287/9 "2018-10-14T06:35:35Z")

</div>

Very usefull! thx
