tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectiontuple_intersection (Operator)

Name

tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectiontuple_intersection — Compute the intersection set of two input tuples.

Signature

tuple_intersection( : : Set1, Set2 : Intersection)

Herror tuple_intersection(const Hlong Set1, const Hlong Set2, Hlong* Intersection)

Herror T_tuple_intersection(const Htuple Set1, const Htuple Set2, Htuple* Intersection)

void TupleIntersection(const HTuple& Set1, const HTuple& Set2, HTuple* Intersection)

HTuple HTuple::TupleIntersection(const HTuple& Set2) const

static void HOperatorSet.TupleIntersection(HTuple set1, HTuple set2, out HTuple intersection)

HTuple HTuple.TupleIntersection(HTuple set2)

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

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

Description

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

Exception: Empty input tuples

If either or both of the input tuples are empty, the operator returns an empty tuple.

HDevelop In-line Operation

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

Intersection := intersection(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.

IntersectionIntersectionIntersectionintersectionintersection (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 intersection set of two input tuples.

Result

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

Alternatives

tuple_uniontuple_unionTupleUnionTupleUniontuple_union

See also

tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference, tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff, tuple_uniontuple_unionTupleUnionTupleUniontuple_union

Module

Foundation