tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference (Operator)

Name

tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference — Compute the difference set of two input tuples.

Signature

tuple_difference( : : Set1, Set2 : Difference)

Herror tuple_difference(const Hlong Set1, const Hlong Set2, Hlong* Difference)

Herror T_tuple_difference(const Htuple Set1, const Htuple Set2, Htuple* Difference)

void TupleDifference(const HTuple& Set1, const HTuple& Set2, HTuple* Difference)

HTuple HTuple::TupleDifference(const HTuple& Set2) const

static void HOperatorSet.TupleDifference(HTuple set1, HTuple set2, out HTuple difference)

HTuple HTuple.TupleDifference(HTuple set2)

def tuple_difference(set_1: HTupleType, set_2: HTupleType) -> Sequence[HTupleElementType]

def tuple_difference_s(set_1: HTupleType, set_2: HTupleType) -> HTupleElementType

Description

tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference returns the difference set from Set1Set1Set1set1set_1 and Set2Set2Set2set2set_2 in DifferenceDifferenceDifferencedifferencedifference. 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 DifferenceDifferenceDifferencedifferencedifference is [0,1]. 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 difference set could be Set1Set1Set1set1set_1 itself. For example, if Set1Set1Set1set1set_1 contains the values [2,5,3] and Set2Set2Set2set2set_2 contains the values [2.0,5.0,3.0], the output DifferenceDifferenceDifferencedifferencedifference is [2,3,5]. Please note that the order of tuple elements resulting from tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference does not necessarily conform to the order in the input tuple.

Exception: Empty input tuples

If both input tuples are empty, the operator returns an empty tuple. If Set1Set1Set1set1set_1 is empty and Set2Set2Set2set2set_2 is not, the operator returns an empty tuple as well. If Set2Set2Set2set2set_2 is empty and Set1Set1Set1set1set_1 is not, the output corresponds to Set1Set1Set1set1set_1.

HDevelop In-line Operation

HDevelop provides an in-line operation for tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference, which can be used in an expression in the following syntax:

Difference := difference(Set1, Set2)

Execution Information

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.

DifferenceDifferenceDifferencedifferencedifference (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 difference set of two input tuples.

Result

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

Alternatives

tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff

See also

tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectiontuple_intersection, tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff, tuple_uniontuple_unionTupleUnionTupleUniontuple_union

Module

Foundation