fast %in% for integers

bit_in(x, table, retFUN = as.bit)

Arguments

x

an integer vector of values to be looked-up

table

an integer vector used as lookup-table

retFUN

a function that coerces bit() and logical() vectors

Value

a boolean vector coerced to retFUN

Details

determines the range of the integers and checks if the density justifies use of a bit vector; if yes, maps x or table – whatever is smaller – into a bit vector and searches the other of table or x in the it vector; if no, falls back to %in%

See also

Examples

bit_in(1:2, 2:3)
#> bit length=2 occupying only 1 int32
#>     1     2 
#> FALSE  TRUE 
bit_in(1:2, 2:3, retFUN=as.logical)
#> [1] FALSE  TRUE