tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedtuple_is_mixed (Operator)
Name
tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedtuple_is_mixed
— Test whether a tuple is of type mixed
.
Signature
Herror tuple_is_mixed(const char* T, Hlong* IsMixed)
Herror T_tuple_is_mixed(const Htuple T, Htuple* IsMixed)
def tuple_is_mixed(t: HTupleType) -> int
Description
tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedTupleIsMixedtuple_is_mixed
tests the input tuple TTTTtt
.
If the type is mixed
, the value 1 (true) is returned in
IsMixedIsMixedIsMixedIsMixedisMixedis_mixed
, else 0 (false) is returned. If a tuple consists of
elements with equal data types only, IsMixedIsMixedIsMixedIsMixedisMixedis_mixed
can nevertheless be 1
in case the internal representation is H_TYPE_MIXED; see
tuple_typetuple_typeTupleTypeTupleTypeTupleTypetuple_type
for details.
If the type of the tuple is mixed
and you need all elements of
the tuple TTTTtt
to be of one data type only, you can
explicitly convert the tuple to a better fitting
representation by using tuple_inttuple_intTupleIntTupleIntTupleInttuple_int
, tuple_realtuple_realTupleRealTupleRealTupleRealtuple_real
or
tuple_stringtuple_stringTupleStringTupleStringTupleStringtuple_string
with Format='s'. This improves processing speed for the
converted tuple which is especially useful if the tuple is used many times
afterwards.
Exception: Empty input tuple
If the input tuple is empty, the operator returns 1.
HDevelop In-line Operation
HDevelop provides an in-line operation for tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedTupleIsMixedtuple_is_mixed
,
which can be used in an expression in the following syntax:
IsMixed := is_mixed(T)
Execution Information
- Multithreading type: independent (runs in parallel even with exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
TTTTtt
(input_control) tuple(-array) →
HTupleHTupleTypeHTupleHtuple (string / real / integer / handle) (string / double / int / long / HHandle) (HString / double / Hlong / HHandle) (char* / double / Hlong / handle)
Input tuple.
IsMixedIsMixedIsMixedIsMixedisMixedis_mixed
(output_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Is the input tuple of type mixed
?
Example (HDevelop)
tuple_is_mixed ([3.1416,'pi',3], IsMixedA)
* IsMixedA = true
tuple_is_mixed (['a','b','111'], IsMixedB)
* IsMixedB = false
tuple_is_mixed ([], IsMixedC)
* IsMixedC = true
Result
If the parameters are valid, the operator
tuple_is_mixedtuple_is_mixedTupleIsMixedTupleIsMixedTupleIsMixedtuple_is_mixed
returns the value 2 (
H_MSG_TRUE)
.
Alternatives
tuple_typetuple_typeTupleTypeTupleTypeTupleTypetuple_type
,
tuple_is_numbertuple_is_numberTupleIsNumberTupleIsNumberTupleIsNumbertuple_is_number
See also
tuple_is_inttuple_is_intTupleIsIntTupleIsIntTupleIsInttuple_is_int
,
tuple_is_realtuple_is_realTupleIsRealTupleIsRealTupleIsRealtuple_is_real
Module
Foundation