|
|
Line 1: |
Line 1: |
| {{Built-in|And|∧}} is a [[dyadic]] [[scalar function|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 [[wikipedia:logical conjunction|logical conjunction]] in Boolean logic. | | {{Built-in|And|∧}} is a [[dyadic]] [[scalar function|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 [[wikipedia:logical conjunction|logical conjunction]] in Boolean logic. In many APLs, And is a special case of the [[LCM]] function. |
|
| |
|
| {|class=wikitable | | {|class=wikitable |
Line 28: |
Line 28: |
| 0 | | 0 |
| </source> | | </source> |
|
| |
| == Extended definition ==
| |
|
| |
| Many APL implementations extend this function to non-Boolean arguments. In this case, this function behaves as '''[[wikipedia:Least common multiple|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.
| |
|
| |
| <source lang=apl>
| |
| ∘.∧⍨ 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
| |
| </source>{{Works in|[[Dyalog APL]]}}
| |
|
| |
| While the mathematical definition of LCM does not cover non-integers, some implementations accept them as arguments. In this case, the return value of <source lang=apl inline>R←X∧Y</source> is chosen so that both <source lang=apl inline>R÷X</source> and <source lang=apl inline>R÷Y</source> are integers (or [[wikipedia:Gaussian integer|Gaussian integers]], when X and/or Y are [[complex]] numbers).
| |
|
| |
| <source lang=apl>
| |
| 0.9∧25÷6
| |
| 112.5
| |
| 112.5÷0.9(25÷6)
| |
| 125 27
| |
| 2J2∧3J1
| |
| 6J2
| |
| 6J2÷2J2 3J1
| |
| 2J¯1 2
| |
| </source>{{Works in|[[Dyalog APL]]}}
| |
|
| |
|
| == External links == | | == External links == |