And: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
0 0 1 1 ∧ 0 1 0 1 | 0 0 1 1 ∧ 0 1 0 1 | ||
0 0 0 1 | 0 0 0 1 | ||
</source> | |||
When combined with [[Reduce]], And can be used to test if every value in a Boolean vector is true. | |||
<source lang=apl> | |||
∧/ 1 1 1 1 1 | |||
1 | |||
∧/ 1 0 0 1 1 | |||
0 | |||
</source> | </source> | ||
Revision as of 07:53, 29 May 2020
∧
|
And (∧
) is a dyadic scalar boolean function which tests if both arguments are true: it returns 1 if both are 1 and 0 if one or both are 0. It represents the logical conjunction in Boolean logic.
∧ |
0 |
1
|
---|---|---|
0
|
0 |
0
|
1
|
0 |
1
|
Examples
The following shows all possible combinations of inputs as a Boolean function.
0 0 1 1 ∧ 0 1 0 1 0 0 0 1
When combined with Reduce, And can be used to test if every value in a Boolean vector is true.
∧/ 1 1 1 1 1 1 ∧/ 1 0 0 1 1 0
Extended definition
Many APL implementations extend this function to non-Boolean arguments. In this case, this function behaves as Least Common Multiple or LCM. For positive integer arguments, it is defined as the smallest positive number which is divisible by both numbers. If one of the arguments is zero, the LCM function returns zero. While the mathematical definition of LCM does not cover non-integers, some implementations accept them as arguments, returning a value which, when divided by both arguments, gives integers (or Gaussian integers, when given complex numbers).
∘.∧⍨ 0,⍳10 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 0 2 2 6 4 10 6 14 8 18 10 0 3 6 3 12 15 6 21 24 9 30 0 4 4 12 4 20 12 28 8 36 20 0 5 10 15 20 5 30 35 40 45 10 0 6 6 6 12 30 6 42 24 18 30 0 7 14 21 28 35 42 7 56 63 70 0 8 8 24 8 40 24 56 8 72 40 0 9 18 9 36 45 18 63 72 9 90 0 10 10 30 20 10 30 70 40 90 10 0.9∧25÷6 112.5 112.5÷0.9(25÷6) 125 27 2J2∧3J1 6J2 6J2÷2J2 3J1 2J¯1 2