Less than

From APL Wiki
Revision as of 09:09, 30 March 2020 by Marshall (talk | contribs) (Merge Boolean sections)
Jump to navigation Jump to search
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 its argument 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 RootRound
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 axisIdentity (Null, Ident)
Dyadic BindCompositions (Compose, Reverse Compose, Beside, Withe, Atop, Over) ∙ Inner ProductDeterminantPowerAtUnderRankDepthVariantStencilCutDirect definition (operator)Identity (Lev, Dex)
Quad names Index originComparison toleranceMigration levelAtomic vector