Skip to content

tuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdifftuple_symmdiff🔗

Short description🔗

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

Signature🔗

tuple_symmdiff( tuple Set1, tuple Set2, out tuple SymmDiff )void TupleSymmdiff( const HTuple& Set1, const HTuple& Set2, HTuple* SymmDiff )static void HOperatorSet.TupleSymmdiff( HTuple set1, HTuple set2, out HTuple symmDiff )def tuple_symmdiff( set_1: HTupleType, set_2: HTupleType ) -> Sequence[HTupleElementType]

def tuple_symmdiff_s( set_1: HTupleType, set_2: HTupleType ) -> HTupleElementTypeHerror tuple_symmdiff( const Hlong Set1, const Hlong Set2, Hlong* SymmDiff )

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

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

HTuple HTuple.TupleSymmdiff( HTuple set2 )

Description🔗

tuple_symmdiffTupleSymmdiff returns the symmetric difference set from Set1set1set_1 and Set2set2set_2 in SymmDiffsymmDiffsymm_diff. For example, if Set1set1set_1 contains the values [0,1,3,3,5] and Set2set2set_2 contains the values [2,3,5,10], the output SymmDiffsymmDiffsymm_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 Set1set1set_1 and Set2set2set_2 have different types of elements, their symmetric difference set could be the union. For example, if Set1set1set_1 contains the values [2,5,3] and Set2set2set_2 contains the values [2.0,5.0], the output SymmDiffsymmDiffsymm_diff is [2,3,5,2.0,5.0]. Please note that the order of tuple elements resulting from tuple_symmdiffTupleSymmdiff 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_symmdiffTupleSymmdiff, which can be used in an expression in the following syntax:

SymmDiff := symmdiff(Set1, Set2)

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on internal data level.

Parameters🔗

Set1set1set_1 (input_control) tuple(-array) → (integer / real / string / handle)HTuple (Hlong / double / HString / HHandle)HTuple (int / long / double / string / HHandle)HTupleTypeHtuple (Hlong / double / char* / handle)

Input tuple.

Set2set2set_2 (input_control) tuple(-array) → (integer / real / string / handle)HTuple (Hlong / double / HString / HHandle)HTuple (int / long / double / string / HHandle)HTupleTypeHtuple (Hlong / double / char* / handle)

Input tuple.

SymmDiffsymmDiffsymm_diff (output_control) tuple(-array) → (integer / real / string / handle)HTuple (Hlong / double / HString / HHandle)HTuple (int / long / double / string / HHandle)Sequence[HTupleElementType]Htuple (Hlong / double / char* / handle)

The symmetric difference set of two input tuples.

Result🔗

If the parameters are valid, the operator tuple_symmdiffTupleSymmdiff returns the value 2 (H_MSG_TRUE).

Combinations with other operators🔗

Combinations

Alternatives

tuple_differenceTupleDifference

See also

tuple_differenceTupleDifference, tuple_intersectionTupleIntersection, tuple_unionTupleUnion

Module🔗

Foundation