Title: | Vector Bitwise Operations |
---|---|
Description: | A tool for fast, efficient bitwise operations along the elements within a vector. Provides such functionality for AND, OR and XOR, as well as infix operators for all of the binary bitwise operations. |
Authors: | Samuel Sapire [aut, cre, cph] |
Maintainer: | Samuel Sapire <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.1.2 |
Built: | 2024-12-01 08:41:15 UTC |
Source: | CRAN |
Basic infix wrapper around the base::bitw_OP_ operations.
a %|% b a %&% b a %^% b a %<<% n a %>>% n
a %|% b a %&% b a %^% b a %<<% n a %>>% n
a , b
|
Integer vectors. Numerics are coerced to integers. |
n |
Non-negative integer vector of values up to 31. |
An integer vector of length of the longer of the arguments, or zero if one of the arguments is zero-length. NA input makes NA output.
%|%
: A vector of pairwise ORed values.
%&%
: A vector of pairwise ANDed values.
%^%
: A vector of pairwise XORed values.
%<<%
: A vector of the values on the LHS pairwise left-shifted by the RHS value.
%>>%
: A vector of the values on the LHS pairwise right-shifted by the RHS value.
1 %|% 2 1 %&% 2 1 %^% 2 1 %<<% 2 8 %>>% 2
1 %|% 2 1 %&% 2 1 %^% 2 1 %<<% 2 8 %>>% 2
Functions to apply the same bitwise operation sequentially down a vector of integers. A fast way to AND or OR everything together when a single value is required.
bit_vector_AND(vec) bit_vector_OR(vec) bit_vector_XOR(vec)
bit_vector_AND(vec) bit_vector_OR(vec) bit_vector_XOR(vec)
vec |
A vector of integers. Numeric vectors will be coerced to int. |
A single integer, the result of applying the operation in question along the vector. Input that cannot be coerced to int returns NA. An empty vector returns 0.
bit_vector_AND
: A single integer, the result of ANDing each entry in the input vector together.
bit_vector_OR
: A single integer, the result of ORing each entry in the input vector together.
bit_vector_XOR
: A single integer, the result of XORing each entry in the input vector together.
bit_vector_AND(c(1,3,5,7,9)) bit_vector_OR(c(1,2,4,8,16)) bit_vector_XOR(c(1,2,3,4,5))
bit_vector_AND(c(1,3,5,7,9)) bit_vector_OR(c(1,2,4,8,16)) bit_vector_XOR(c(1,2,3,4,5))