Less than: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
m (Marshall moved page Less to Less than)
m (Text replacement - "http://help.dyalog.com" to "https://help.dyalog.com")
(13 intermediate revisions by 2 users not shown)
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 a [[Boolean]] [[vector]] 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 ==
 
When the arguments to Less than are [[Boolean]], it is the [[wikipedia:converse nonimplication|converse nonimplication]] [[Boolean function]]:
::{|class=wikitable
!<source lang=apl inline><</source>!!<source lang=apl inline>0</source>!!<source lang=apl inline>1</source>
|-
!<source lang=apl inline>0</source>
|<source lang=apl inline>0</source>||<source lang=apl inline>1</source>
|-
!<source lang=apl inline>1</source>
|<source lang=apl inline>0</source>||<source lang=apl inline>0</source>
|}
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>
<source lang=apl>
       <\ 0 0 1 0 0 0 1 0
       <\ 0 0 1 0 0 0 1 0
0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0
</source>
</source>
It is idiom 348, "First one", in the [[FinnAPL idiom library]].


== External links ==
== External links ==
Line 13: Line 28:
=== Documentation ===
=== Documentation ===


* [http://help.dyalog.com/latest/index.htm#Language/Primitive%20Functions/Less.htm Dyalog]
* [https://help.dyalog.com/latest/index.htm#Language/Primitive%20Functions/Less.htm Dyalog]
* [http://microapl.com/apl_help/ch_020_020_290.htm APLX]
* [http://microapl.com/apl_help/ch_020_020_290.htm APLX]
* 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]


{{APL built-ins}}
== References ==
<references />
{{APL built-ins}}[[Category:Primitive functions]][[Category:Comparison functions]]

Revision as of 14:24, 14 July 2020

Main article: Comparison function
<

Less than (<) is a comparison function which tests whether the left argument is tolerantly less than and not equal to the right argument, returning 1 if this is the case and 0 otherwise. It is the negation of Greater than or Equal to (). Less-than Scan, which leaves only the first 1 in a Boolean vector set[1], is a notable pattern.

Boolean function

When the arguments to Less than are Boolean, it is the converse nonimplication Boolean function:

< 0 1
0 0 1
1 0 0

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:

      <\ 0 0 1 0 0 0 1 0
0 0 1 0 0 0 0 0

It is idiom 348, "First one", in the FinnAPL idiom library.

External links

Documentation

References

  1. Last, Phil. "Boolean Reductions". Vector Journal volume 26, number 1. 2013-09.
APL built-ins [edit]
Primitives (Timeline) Functions
Scalar
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesRollTypeImaginarySquare Root
Dyadic AddSubtractTimesDivideResiduePowerLogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplexRoot
Non-Scalar
Structural ShapeReshapeTallyDepthRavelEnlistTableCatenateReverseRotateTransposeRazeMixSplitEncloseNestCut (K)PairLinkPartitioned EnclosePartition
Selection FirstPickTakeDropUniqueIdentityStopSelectReplicateExpandSet functions (IntersectionUnionWithout) ∙ Bracket indexingIndexCartesian ProductSort
Selector Index generatorGradeIndex OfInterval IndexIndicesDealPrefix and suffix vectors
Computational MatchNot MatchMembershipFindNub SieveEncodeDecodeMatrix InverseMatrix DivideFormatExecuteMaterialiseRange
Operators Monadic EachCommuteConstantReplicateExpandReduceWindowed ReduceScanOuter ProductKeyI-BeamSpawnFunction axis
Dyadic BindCompositions (Compose, Reverse Compose, Beside, Withe, Atop, Over) ∙ Inner ProductDeterminantPowerAtUnderRankDepthVariantStencilCutDirect definition (operator)
Quad names Index originComparison toleranceMigration levelAtomic vector