Title: | Vector Bitwise Operations |
Version: | 1.1.2 |
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. |
License: | MIT + file LICENSE |
Suggests: | spelling, testthat (≥ 3.0.0) |
Config/testthat/edition: | 3 |
Encoding: | UTF-8 |
Language: | en-US |
RoxygenNote: | 7.2.3 |
NeedsCompilation: | yes |
Packaged: | 2024-01-08 07:33:50 UTC; yakumo |
Author: | Samuel Sapire [aut, cre, cph] |
Maintainer: | Samuel Sapire <sapires@protonmail.com> |
Repository: | CRAN |
Date/Publication: | 2024-01-08 16:50:02 UTC |
vectorbitops: 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.
Author(s)
Maintainer: Samuel Sapire sapires@protonmail.com [copyright holder]
Infix operators for bitwise operations.
Description
Basic infix wrapper around the base::bitw_OP_ operations.
Usage
a %|% b
a %&% b
a %^% b
a %<<% n
a %>>% n
Arguments
a , b |
Integer vectors. Numerics are coerced to integers. |
n |
Non-negative integer vector of values up to 31. |
Value
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.
Examples
1 %|% 2
1 %&% 2
1 %^% 2
1 %<<% 2
8 %>>% 2
Bitwise Operations along a Vector
Description
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.
Usage
bit_vector_AND(vec)
bit_vector_OR(vec)
bit_vector_XOR(vec)
Arguments
vec |
A vector of integers. Numeric vectors will be coerced to int. |
Value
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.
Examples
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))