aboutsummaryrefslogtreecommitdiffstats
path: root/src/zand.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/zand.c25
1 files changed, 3 insertions, 22 deletions
diff --git a/src/zand.c b/src/zand.c
index 6d3a184..45d1ed5 100644
--- a/src/zand.c
+++ b/src/zand.c
@@ -2,25 +2,6 @@
#include "internals.h"
-O2 static inline void
-zand_impl_3(register zahl_char_t *restrict a,
- register const zahl_char_t *restrict b, size_t n)
-{
- size_t i;
- for (i = 0; i < n; i++)
- a[i] &= b[i];
-}
-
-static inline void
-zand_impl_4(register zahl_char_t *restrict a,
- register const zahl_char_t *restrict b,
- register const zahl_char_t *restrict c, size_t n)
-{
- size_t i;
- for (i = 0; i < n; i++)
- a[i] = b[i] & c[i];
-}
-
void
zand(z_t a, z_t b, z_t c)
{
@@ -36,12 +17,12 @@ zand(z_t a, z_t b, z_t c)
a->used = MIN(b->used, c->used);
if (a == b) {
- zand_impl_3(a->chars, c->chars, a->used);
+ ZMEM_OP(a->chars, a->chars, c->chars, a->used, &);
} else if (unlikely(a == c)) {
- zand_impl_3(a->chars, b->chars, a->used);
+ ZMEM_OP(a->chars, a->chars, b->chars, a->used, &);
} else {
ENSURE_SIZE(a, a->used);
- zand_impl_4(a->chars, b->chars, c->chars, a->used);
+ ZMEM_OP(a->chars, b->chars, c->chars, a->used, &);
}
TRIM_AND_SIGN(a, zpositive1(b, c) * 2 - 1);