aboutsummaryrefslogtreecommitdiffstats
path: root/src/internals.h
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-04-30 05:47:05 +0200
committerMattias Andrée <maandree@kth.se>2016-04-30 05:47:05 +0200
commit83d95da004c8cc2387a4070b781a71a0c6433faa (patch)
treee5eaaa0e42bf7eeed461dc936bd2bed0600fb612 /src/internals.h
parentSome optimisations (diff)
downloadlibzahl-83d95da004c8cc2387a4070b781a71a0c6433faa.tar.gz
libzahl-83d95da004c8cc2387a4070b781a71a0c6433faa.tar.bz2
libzahl-83d95da004c8cc2387a4070b781a71a0c6433faa.tar.xz
Some optimisations
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'src/internals.h')
-rw-r--r--src/internals.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/internals.h b/src/internals.h
index bcaea7a..407f4b7 100644
--- a/src/internals.h
+++ b/src/internals.h
@@ -94,6 +94,8 @@ extern void *libzahl_temp_allocation;
#define SWAP(a, b, t, m) ((t)->m = (a)->m, (a)->m = (b)->m, (b)->m = (t)->m)
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#define MIN_MAX_1(min, max, a, b) ((min) = MIN(a, b), (max) = MAX(a, b))
+#define MIN_MAX_2(min, max, a, b) ((min) = (a) + (b) - ((max) = MAX(a, b)))
#define znegative(a) (zsignum(a) < 0)
#define znegative1(a, b) ((zsignum(a) | zsignum(b)) < 0)
#define znegative2(a, b) ((zsignum(a) & zsignum(b)) < 0)
@@ -114,6 +116,13 @@ zzero1(z_t a, z_t b)
return zzero(a) || zzero(b);
}
+O2 static inline void
+zmemcpy_range(register zahl_char_t *restrict d, register const zahl_char_t *restrict s, size_t i, size_t n)
+{
+ for (; i < n; i++)
+ d[i] = s[i];
+}
+
static void
libzahl_failure(int error)
{