tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectiontuple_intersection (Operator)
Name
tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectiontuple_intersection
— Compute the intersection set of two input tuples.
Signature
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
- 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.
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