Not Equal to: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
m (Text replacement - "{{APL built-ins}}" to "{{APL built-ins}}Category:Primitive functions")
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Built-in|Not Equal to|<nowiki>≠</nowiki>}} is a [[comparison function]] which tests whether argument elements are [[Tolerant comparison|tolerantly]] unequal. It is the [[Not|negation]] of [[Equal to]] (<source lang=apl inline>=</source>). Thus it returns 0 if the [[element]]s being compared [[match]] and 1 if they do not.
{{Built-in|Not Equal to|<nowiki>≠</nowiki>}} is a [[comparison function]] which tests whether argument elements are tolerantly<ref>[[Robert Bernecky|Bernecky, Robert]]. [https://www.jsoftware.com/papers/satn23.htm "Comparison Tolerance"]. Sharp APL Technical Notes. 1977-06-10;.</ref> unequal. It is the [[Not|negation]] of [[Equal to]] (<syntaxhighlight lang=apl inline>=</syntaxhighlight>). Thus it returns 0 if the [[element]]s being compared [[match]] and 1 if they do not.
 


== Examples ==
== Examples ==


See [[Equal to]] for a more detailed treatment of equality testing.
See [[Equal to]] for a more detailed treatment of equality testing.
<source lang=apl>
<syntaxhighlight lang=apl>
       2 2.5 3 3.5 ≠ 2.5
       2 2.5 3 3.5 ≠ 2.5
1 0 1 1
1 0 1 1
</source>
</syntaxhighlight>


== Boolean function ==
== Boolean function ==
Line 13: Line 14:
When the arguments to Not Equal to are [[Boolean]], it is the [[wikipedia:exclusive or|exclusive or]] or xor function:
When the arguments to Not Equal to are [[Boolean]], it is the [[wikipedia:exclusive or|exclusive or]] or xor function:
{|class=wikitable
{|class=wikitable
!<source lang=apl inline>≠</source>!!<source lang=apl inline>0</source>!!<source lang=apl inline>1</source>
!<syntaxhighlight lang=apl inline>≠</syntaxhighlight>!!<syntaxhighlight lang=apl inline>0</syntaxhighlight>!!<syntaxhighlight lang=apl inline>1</syntaxhighlight>
|-
|-
!<source lang=apl inline>0</source>
!<syntaxhighlight lang=apl inline>0</syntaxhighlight>
|<source lang=apl inline>0</source>||<source lang=apl inline>1</source>
|<syntaxhighlight lang=apl inline>0</syntaxhighlight>||<syntaxhighlight lang=apl inline>1</syntaxhighlight>
|-
|-
!<source lang=apl inline>1</source>
!<syntaxhighlight lang=apl inline>1</syntaxhighlight>
|<source lang=apl inline>1</source>||<source lang=apl inline>0</source>
|<syntaxhighlight lang=apl inline>1</syntaxhighlight>||<syntaxhighlight lang=apl inline>0</syntaxhighlight>
|}
|}
Xor is one of the most important [[Boolean function]]s because it is equivalent to [[addition]] of the arguments with [[modulus]] 2. Like addition, it is [[wikipedia:Commutative property|commutative]] and [[wikipedia:Associative property|associative]]. It is also equivalent to [[subtraction]] with modulus 2 because the [[Minus|negative]] of a number is the same as the original number (mod 2): the negative of an odd number is still odd, and the negative of an even number is still even.
Xor is one of the most important [[Boolean function]]s because it is equivalent to [[addition]] of the arguments with [[modulus]] 2. Like addition, it is [[wikipedia:Commutative property|commutative]] and [[wikipedia:Associative property|associative]]. It is also equivalent to [[subtraction]] with modulus 2 because the [[Minus|negative]] of a number is the same as the original number (mod 2): the negative of an odd number is still odd, and the negative of an even number is still even.


[[Reduction]] of a Boolean [[vector]] using Not Equal to yields 1 if there were an odd number of 1s in the argument and 0 otherwise. In APL, if <source lang=apl inline>v</source> is a Boolean vector then <source lang=apl inline>≠/v</source> {{←→}} <source lang=apl inline>2|+/v</source>.
[[Reduction]] of a Boolean [[vector]] using Not Equal to yields 1 if there were an odd number of 1s in the argument and 0 otherwise. In APL, if <syntaxhighlight lang=apl inline>v</syntaxhighlight> is a Boolean vector then <syntaxhighlight lang=apl inline>≠/v</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>2|+/v</syntaxhighlight>.


== External links ==
== External links ==
Line 29: Line 30:
=== Documentation ===
=== Documentation ===


* [http://help.dyalog.com/latest/index.htm#Language/Primitive%20Functions/Not%20Equal.htm Dyalog]
* [https://help.dyalog.com/latest/index.htm#Language/Primitive%20Functions/Not%20Equal.htm Dyalog]
* [http://microapl.com/apl_help/ch_020_020_340.htm APLX]
* [http://microapl.com/apl_help/ch_020_020_340.htm APLX]
* J [http://www.jsoftware.com/help/dictionary/d222.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/tildeco#dyadic NuVoc]
* J [http://www.jsoftware.com/help/dictionary/d222.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/tildeco#dyadic NuVoc]
* [https://mlochbaum.github.io/BQN/doc/arithmetic.html#comparisons BQN]
== References ==
<references />


{{APL built-ins}}[[Category:Primitive functions]]
{{APL built-ins}}[[Category:Primitive functions]][[Category:Comparison functions]]

Latest revision as of 21:57, 28 November 2022

Not Equal to () is a comparison function which tests whether argument elements are tolerantly[1] unequal. It is the negation of Equal to (=). Thus it returns 0 if the elements being compared match and 1 if they do not.


Examples

See Equal to for a more detailed treatment of equality testing.

      2 2.5 3 3.5 ≠ 2.5
1 0 1 1

Boolean function

When the arguments to Not Equal to are Boolean, it is the exclusive or or xor function:

0 1
0 0 1
1 1 0

Xor is one of the most important Boolean functions because it is equivalent to addition of the arguments with modulus 2. Like addition, it is commutative and associative. It is also equivalent to subtraction with modulus 2 because the negative of a number is the same as the original number (mod 2): the negative of an odd number is still odd, and the negative of an even number is still even.

Reduction of a Boolean vector using Not Equal to yields 1 if there were an odd number of 1s in the argument and 0 otherwise. In APL, if v is a Boolean vector then ≠/v 2|+/v.

External links

Documentation

References

  1. Bernecky, Robert. "Comparison Tolerance". Sharp APL Technical Notes. 1977-06-10;.


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