Performant implementations of & et or.
Performance is high when the expressions are long (i.e. over 10M elements)
and in particular when they are of the form lhs <op> rhs for binary
<op>.
and3s(
exprA,
exprB = NULL,
exprC = NULL,
...,
nThread = getOption("hutilscpp.nThread", 1L),
.parent_nframes = 1L,
type = c("logical", "raw", "which")
)or3s(
exprA,
exprB = NULL,
exprC = NULL,
...,
nThread = getOption("hutilscpp.nThread", 1L),
.parent_nframes = 1L,
type = c("logical", "raw", "which")
)
and3s and or3s return exprA & exprB & exprC and
exprA | exprB | exprC respectively. If any expression is missing
it is considered TRUE for and3s and FALSE for or3s;
in other words only the results of the other expressions count towards the result.
Expressions of the form x <op> y.
with <op> one of the standard binary operators.
Only exprA is required, all following expressions are optional.
integer(1)Number of threads to use.
integer(1)For internal use. Passed to eval.parent.
The type of the result. which corresponds to the
indices of TRUE in the result. Type raw is available
for a memory-constrained result, though the result will not be
interpreted as logical.