aboutsummaryrefslogtreecommitdiffstats
path: root/src/zsetup.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-03-03 13:59:54 +0100
committerMattias Andrée <maandree@kth.se>2016-03-03 13:59:54 +0100
commitb9debec106f2ac6e15d6dff88260f133d9eafcb2 (patch)
treeaafc28af25f9baad99305312625bf3805fb54c24 /src/zsetup.c
parentOptimise zdivmod (diff)
downloadlibzahl-b9debec106f2ac6e15d6dff88260f133d9eafcb2.tar.gz
libzahl-b9debec106f2ac6e15d6dff88260f133d9eafcb2.tar.bz2
libzahl-b9debec106f2ac6e15d6dff88260f133d9eafcb2.tar.xz
Optimised zdivmod
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r--src/zsetup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/zsetup.c b/src/zsetup.c
index f7c1912..78cfa3b 100644
--- a/src/zsetup.c
+++ b/src/zsetup.c
@@ -8,6 +8,7 @@ LIST_TEMPS
LIST_CONSTS
#undef X
+z_t libzahl_tmp_divmod_ds[BITS_PER_CHAR];
jmp_buf libzahl_jmp_buf;
int libzahl_set_up = 0;
@@ -15,6 +16,7 @@ int libzahl_set_up = 0;
void
zsetup(jmp_buf env)
{
+ size_t i;
libzahl_jmp_buf = jmp_buf;
if (!libzahl_set_up) {
@@ -27,5 +29,7 @@ zsetup(jmp_buf env)
zinit(x), f(x, v);
LIST_CONSTS;
#undef X
+ for (i = BITS_PER_CHAR; i--;)
+ zinit(libzahl_tmp_divmod_ds[i]);
}
}