aboutsummaryrefslogtreecommitdiffstats
path: root/zahl
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-05-06 19:00:44 +0200
committerMattias Andrée <maandree@kth.se>2016-05-06 19:00:44 +0200
commit4e659044778dfd05a5f5d2b41611e7737a0eb825 (patch)
treedc0cb41116b3ff8024bb2c48e26b43bc8c3a4a14 /zahl
parentMake zmul and zsqr (calls low-level functions) inline (diff)
downloadlibzahl-4e659044778dfd05a5f5d2b41611e7737a0eb825.tar.gz
libzahl-4e659044778dfd05a5f5d2b41611e7737a0eb825.tar.bz2
libzahl-4e659044778dfd05a5f5d2b41611e7737a0eb825.tar.xz
Make zdiv and zmod (calls zdivmod) inline
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'zahl')
-rw-r--r--zahl/inlines.h14
-rw-r--r--zahl/internals.h4
2 files changed, 18 insertions, 0 deletions
diff --git a/zahl/inlines.h b/zahl/inlines.h
index 8f6b490..9884812 100644
--- a/zahl/inlines.h
+++ b/zahl/inlines.h
@@ -291,3 +291,17 @@ zsqr(z_t a, z_t b)
ZAHL_SET_SIGNUM(a, 1);
}
}
+
+
+ZAHL_INLINE void
+zdiv(z_t a, z_t b, z_t c)
+{
+ zdivmod(a, libzahl_tmp_div, b, c);
+}
+
+
+ZAHL_INLINE void
+zmod(z_t a, z_t b, z_t c)
+{
+ zdivmod(libzahl_tmp_mod, a, b, c);
+}
diff --git a/zahl/internals.h b/zahl/internals.h
index e0aa248..672dfcd 100644
--- a/zahl/internals.h
+++ b/zahl/internals.h
@@ -107,6 +107,10 @@ struct zahl {
};
+extern struct zahl libzahl_tmp_div[1];
+extern struct zahl libzahl_tmp_mod[1];
+
+
void libzahl_realloc(struct zahl *, size_t);
ZAHL_INLINE void