commit 5a4934636d9eeaada63271c7f58bcdae55ecad60
parent 19f3dade30260560bd1c9846d52e845e6e70c761
Author: Robert Russell <robert@rr3.xyz>
Date: Sat, 25 Jan 2025 10:28:35 -0800
Remove vestigial duplication in bit zips
Diffstat:
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/inc/bits.h b/inc/bits.h
@@ -35,15 +35,15 @@ static inline u64 r_rotr64(u64 n, uint c) { return (n >> (c&63u)) | (n << (-c&63
/* This is the constant polynomial f0. We use a two's complement trick to
* broadcast f0 to an entire u64. */
static inline u64
-r_bz0_(u64 f) {
+r_bz0(u64 f) {
return !(f & 1u) - 1u;
}
/* f0 ^
* f1 & u */
static inline u64
-r_bz1_(u64 f, u64 u) {
- return r_bz0_(f) ^ (r_bz0_(f >> 1) & u);
+r_bz1(u64 f, u64 u) {
+ return r_bz0(f) ^ (r_bz0(f >> 1) & u);
}
/* f0 ^
@@ -51,8 +51,8 @@ r_bz1_(u64 f, u64 u) {
* f2 & v ^
* f3 & u & v */
static inline u64
-r_bz2_(u64 f, u64 u, u64 v) {
- return r_bz1_(f, u) ^ (r_bz1_(f >> 2, u) & v);
+r_bz2(u64 f, u64 u, u64 v) {
+ return r_bz1(f, u) ^ (r_bz1(f >> 2, u) & v);
}
/* f0 ^
@@ -64,15 +64,10 @@ r_bz2_(u64 f, u64 u, u64 v) {
* f6 & v & w ^
* f7 & u & v & w */
static inline u64
-r_bz3_(u64 f, u64 u, u64 v, u64 w) {
- return r_bz2_(f, u, v) ^ (r_bz2_(f >> 4, u, v) & w);
+r_bz3(u64 f, u64 u, u64 v, u64 w) {
+ return r_bz2(f, u, v) ^ (r_bz2(f >> 4, u, v) & w);
}
-static inline u64 r_bz0(u8 f) { return r_bz0_(f); }
-static inline u64 r_bz1(u8 f, u64 u) { return r_bz1_(f, u); }
-static inline u64 r_bz2(u8 f, u64 u, u64 v) { return r_bz2_(f, u, v); }
-static inline u64 r_bz3(u8 f, u64 u, u64 v, u64 w) { return r_bz3_(f, u, v, w); }
-
/* ----- Population count ----- */