Less than: Difference between revisions

Jump to navigation Jump to search
285 bytes added ,  09:09, 30 March 2020
Merge Boolean sections
(Merge Boolean sections)
Line 1: Line 1:
{{Main|Comparison function}}
{{Main|Comparison function}}


{{Built-in|Less than|<nowiki><</nowiki>}} is a [[comparison function]] which tests whether the left [[argument]] is [[Tolerant comparison|tolerantly]] less than and not equal to the right argument, returning 1 if this is the case and 0 otherwise. It is the [[Not|negation]] of [[Greater than or Equal to]] (<source lang=apl inline>≥</source>).
{{Built-in|Less than|<nowiki><</nowiki>}} is a [[comparison function]] which tests whether the left [[argument]] is [[Tolerant comparison|tolerantly]] less than and not equal to the right argument, returning 1 if this is the case and 0 otherwise. It is the [[Not|negation]] of [[Greater than or Equal to]] (<source lang=apl inline>≥</source>). Less-than [[Scan]], which leaves only the first 1 in its argument set<ref>[[Phil Last|Last, Phil]]. [http://archive.vector.org.uk/art10501140 "Boolean Reductions"]. [[Vector Journal]] volume 26, number 1. 2013-09.</ref>, is a notable pattern.


Less than is also notable as a [[Boolean function]], in which case it returns 1 only if the left argument is 0 and the right argument is 1 (the same as [[Residue]]). In particular, Less-than [[Scan]] on a Boolean [[vector]] returns a vector which indicates the position of the first 1 in the argument, if any:
== Boolean function ==
<source lang=apl>
      <\ 0 0 1 0 0 0 1 0
0 0 1 0 0 0 0 0
</source>


== Boolean function ==
When the arguments to Less than are [[Boolean]], it is the [[wikipedia:converse nonimplication|converse nonimplication]] [[Boolean function]]:
{{Main|Boolean function}}
{|class=wikitable style="margin:1em auto"
When the arguments to Less than are [[Boolean]], it is the [[wikipedia:converse nonimplication|converse nonimplication]] function:
{|class=wikitable
!<source lang=apl inline><</source>!!<source lang=apl inline>0</source>!!<source lang=apl inline>1</source>
!<source lang=apl inline><</source>!!<source lang=apl inline>0</source>!!<source lang=apl inline>1</source>
|-
|-
Line 21: Line 15:
|<source lang=apl inline>0</source>||<source lang=apl inline>0</source>
|<source lang=apl inline>0</source>||<source lang=apl inline>0</source>
|}
|}
In the context of logic, it can be read as ''isn't, as opposed to''.
It returns 1 only if the left argument is 0 and the right argument is 1, and is identical to [[Residue]]. Considered as a logical operation, it can be read as ''isn't, as opposed to''.
 
Less-than [[Scan]] on a Boolean [[vector]] returns a vector which indicates the position of the first 1 in the argument, if any:
<source lang=apl>
      <\ 0 0 1 0 0 0 1 0
0 0 1 0 0 0 0 0
</source>
It is idiom 348, "First one", in the [[FinnAPL idiom library]].


== External links ==
== External links ==
Line 31: Line 32:
* J [http://www.jsoftware.com/help/dictionary/d010.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/lt#dyadic NuVoc]
* J [http://www.jsoftware.com/help/dictionary/d010.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/lt#dyadic NuVoc]


== References ==
<references />
{{APL built-ins}}
{{APL built-ins}}

Navigation menu