Fast versions of union(), intersect(),
setdiff(), symmetric difference and setequal()
for integers.
bit_union(x, y)
bit_intersect(x, y)
bit_setdiff(x, y)
bit_symdiff(x, y)
bit_setequal(x, y)an integer vector
determines the range of the integers and checks if the density justifies use
of a bit vector; if yes, uses a bit vector for finding duplicates; if no,
falls back to union(), intersect(),
setdiff(), union(setdiff(x, y), setdiff(y, x)) and setequal()
bit_union(): union
bit_intersect(): intersection
bit_setdiff(): asymmetric difference
bit_symdiff(): symmetricx difference
bit_setequal(): equality
bit_union(1:2, 2:3)
#> [1] 1 2 3
bit_intersect(1:2, 2:3)
#> [1] 2
bit_setdiff(1:2, 2:3)
#> [1] 1
bit_symdiff(1:2, 2:3)
#> [1] 1 3
bit_setequal(1:2, 2:3)
#> [1] FALSE
bit_setequal(1:2, 2:1)
#> [1] TRUE