xor (Exclusive Or)
VALUE1
xor
VALUE2

The xor operator returns true if one of the two parameters is true, false if neither or both are true.

Parameters

This operator has two parameters:

value1 – The first numeric value.

value2 – The second numeric value.

Description

The xor operator (short for exclusive or, also called exclusive disjunction) combines two Boolean values by exclusive or-ing them together. This operator yields true if exactly one (but not both) of the two parameters is true. A simple way to state this is “one or the other but not both.”

This example checks to see if two shoes are a pair:

    if Shoe1="Left" xor Shoe2="Left"
        Status="Pair"
    endif

The result of this formula is true only if one shoe is Left and the other shoe is Right (or to be more precise, not Left). If both shoes are Left, or both are Right, the formula will be false.

Note: The Boolean values true and false are actually integer (numeric) values –1 and 0.

Note: If you are a “C” programmer, Panorama’s xor operator is equivalent to C’s ^ operator. (In Panorama, the ^ operator means raise to power.)

See Also

- < -- compares two values to see if the first value is less than the second value.
- <= -- compares two values to see if the first value is less than or equal to the second value.
- <> -- compares two values to see if they are different.
- = -- compares two values to see if they are the same.
- > -- compares two values to see if the first value is greater than the second value.
- >= -- compares two values to see if the first value is greater than or equal to the second value.
- and -- returns true if both operands are true.
- beginswith -- returns true if the value on the left starts with the value on the right, false if it doesn't.
- between( -- checks to see if a value is between two other values.
- boolstr( -- converts a Boolean value to text, either `"true"` or `"false"`.
- contains -- returns true if the value on the left contains the value on the right, false if it doesn't.
- endswith -- returns true if the value on the left ends with the value on the right, false if it doesn't.
- false( -- returns false.
- like -- checks to see if the text on the left matches the wildcard pattern specified on the right.
- limit( -- checks to see if a value is between a minimum and maximum value. If it is, the value is returned unchanged. If it is below the minimum, the minimum value is returned. If it is above the maximum the maximum value is returned.
- match -- checks to see if the text on the left matches the wildcard pattern specified on the right.
- matchexact -- checks to see if the text on the left matches the wildcard pattern specified on the right.
- not -- reverses a boolean value.
- not( -- reverses a Boolean value
- notbetween( -- checks to see if a value is *not* between two other values.
- notcontains -- returns true if the value on the left does not contain the value on the right, false if it does.
- notmatch -- checks to see if the text on the left does not match the wildcard pattern specified on the right.
- notmatchexact -- checks to see if the text on the left doesn't match the wildcard pattern specified on the right.
- or -- returns true if either operand is true, or false if both are false.
- regexmatch -- checks to see if the text on the left matches the regular expression on the right (see Regular Expressions).
- regexmatchexact -- checks to see if the text on the left matches the regular expression on the right (see Regular Expressions).
- soundex( -- computes a four character code that roughly corresponds to the phonetic pronunciation of the word.
- soundslike -- compares two words to see if they "sound like" each other.
- switch( -- chooses from a list of values.
- true( -- returns true.

History

Version | Status | Notes
10.0 | No Change | Carried over from Panorama 6.0

[^]:operator_power.html [Formulas]:formulas_basics.html [Regular Expressions]:function_regex.html [True/False Formulas]:boolean_formulas.html