Operator Reference

tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff (Operator)

tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff — Compute the symmetric difference set of two input tuples.

Signature

tuple_symmdiff( : : Set1, Set2 : SymmDiff)

Herror tuple_symmdiff(const Hlong Set1, const Hlong Set2, Hlong* SymmDiff)

Herror T_tuple_symmdiff(const Htuple Set1, const Htuple Set2, Htuple* SymmDiff)

void TupleSymmdiff(const HTuple& Set1, const HTuple& Set2, HTuple* SymmDiff)

HTuple HTuple::TupleSymmdiff(const HTuple& Set2) const

static void HOperatorSet.TupleSymmdiff(HTuple set1, HTuple set2, out HTuple symmDiff)

HTuple HTuple.TupleSymmdiff(HTuple set2)

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