Or: Difference between revisions

Jump to navigation Jump to search
188 bytes added ,  04:29, 1 June 2020
→‎Extended definition: Split the description for integers and non-integers
(Created page with "{{Built-in|Or|∨}} is a dyadic scalar boolean function which tests if at least one of the two arguments is true: it returns 1 if at least one side...")
 
(→‎Extended definition: Split the description for integers and non-integers)
Line 31: Line 31:
== Extended definition ==
== Extended definition ==


Many APL implementations extend this function to non-Boolean arguments. In this case, this function behaves as '''[[wikipedia:Greatest common divisor|Greatest Common Divisor]]''' or '''GCD'''. For positive integer arguments, it is defined as the largest positive number which divides both numbers. If one of the arguments is zero, the GCD function returns the other number. While the mathematical definition of GCD does not cover non-integers, some implementations accept them as arguments, returning a value which, when dividing both arguments, gives integers (or [[wikipedia:Gaussian integer|Gaussian integers]], when given [[complex]] numbers).
Many APL implementations extend this function to non-Boolean arguments. In this case, this function behaves as '''[[wikipedia:Greatest common divisor|Greatest Common Divisor]]''' or '''GCD'''. For positive integer arguments, it is defined as the largest positive number which divides both numbers. If one of the arguments is zero, the GCD function returns the other number.


<source lang=apl>
<source lang=apl>
Line 46: Line 46:
  9 1 1 3 1 1 3 1 1 9  1
  9 1 1 3 1 1 3 1 1 9  1
10 1 2 1 2 5 2 1 2 1 10
10 1 2 1 2 5 2 1 2 1 10
</source>{{Works in|[[Dyalog APL]]}}


While the mathematical definition of GCD 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>X÷R</source> and <source lang=apl inline>Y÷R</source> are integers (or [[wikipedia:Gaussian integer|Gaussian integers]], when X and/or Y are [[complex]] numbers).
<source lang=apl>
       0.6∨13÷3
       0.6∨13÷3
0.06666666667
0.06666666667
trusted
183

edits

Navigation menu