tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff (Operator)
Name
tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff
— Compute the symmetric difference set of two input tuples.
Signature
def tuple_symmdiff(set_1: HTupleType, set_2: HTupleType) -> Sequence[HTupleElementType]
def tuple_symmdiff_s(set_1: HTupleType, set_2: HTupleType) -> HTupleElementType
Description
tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff
returns the symmetric difference set from
Set1Set1Set1set1set_1
and Set2Set2Set2set2set_2
in SymmDiffSymmDiffSymmDiffsymmDiffsymm_diff
. For example,
if Set1Set1Set1set1set_1
contains the values [0,1,3,3,5] and Set2Set2Set2set2set_2
contains the values [2,3,5,10], the output SymmDiffSymmDiffSymmDiffsymmDiffsymm_diff
is [0,1,2,10].
The operator also allows mixed types of elements in the input tuples.
However, the elements with different types will be considered as
different elements, i.e. 1.0 and 1 are different. Also, this means, if
Set1Set1Set1set1set_1
and Set2Set2Set2set2set_2
have different types of elements, their
symmetric difference set could be the union. For example, if Set1Set1Set1set1set_1
contains the values [2,5,3] and Set2Set2Set2set2set_2
contains the values [2.0,5.0],
the output SymmDiffSymmDiffSymmDiffsymmDiffsymm_diff
is [2,3,5,2.0,5.0]. Please note that the order
of tuple elements resulting from tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff
does not necessarily
conform to the order in the input tuple.
Exception: Empty input tuples
If both of the input tuples are empty, the operator returns an
empty tuple. If one of the input tuples is empty and the other is not,
the output corresponds to the input tuple that is not empty.
HDevelop In-line Operation
HDevelop provides an in-line operation for tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff
,
which can be used in an expression in the following syntax:
SymmDiff := symmdiff(Set1, Set2)
Execution Information
- Multithreading type: independent (runs in parallel even with exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on internal data level.
Parameters
Set1Set1Set1set1set_1
(input_control) tuple(-array) →
HTupleHTupleTypeHTupleHtuple (integer / real / string / handle) (int / long / double / string / HHandle) (Hlong / double / HString / HHandle) (Hlong / double / char* / handle)
Input tuple.
Set2Set2Set2set2set_2
(input_control) tuple(-array) →
HTupleHTupleTypeHTupleHtuple (integer / real / string / handle) (int / long / double / string / HHandle) (Hlong / double / HString / HHandle) (Hlong / double / char* / handle)
Input tuple.
SymmDiffSymmDiffSymmDiffsymmDiffsymm_diff
(output_control) tuple(-array) →
HTupleSequence[HTupleElementType]HTupleHtuple (integer / real / string / handle) (int / long / double / string / HHandle) (Hlong / double / HString / HHandle) (Hlong / double / char* / handle)
The symmetric difference set of two input tuples.
Result
If the parameters are valid, the operator
tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff
returns the value 2 (
H_MSG_TRUE)
.
Alternatives
tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference
See also
tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference
,
tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectiontuple_intersection
,
tuple_uniontuple_unionTupleUnionTupleUniontuple_union
Module
Foundation