aboutsummaryrefslogtreecommitdiffstats
path: root/man/libzahl.7
diff options
context:
space:
mode:
Diffstat (limited to 'man/libzahl.7')
-rw-r--r--man/libzahl.737
1 files changed, 37 insertions, 0 deletions
diff --git a/man/libzahl.7 b/man/libzahl.7
new file mode 100644
index 0000000..d7a9728
--- /dev/null
+++ b/man/libzahl.7
@@ -0,0 +1,37 @@
+.TH LIBZAHL 7 libzahl
+.SH NAME
+libzahl - Big integer library
+.SH ETYMOLOGY
+The bold uppercase \(aqZ\(aq which represents the
+set of all integers is derived from the german word
+\(aqzahlen\(aq, whose singular is \(aqzahl\(aq.
+.SH DESCRIPTION
+.B libzahl
+is a C library for arbitrary size integers, that
+aims to be usable for rubust programs, and be
+fast.
+.P
+.B libzahl
+will accomplish this by using long jumps when an
+error is detected, rather than letting the caller
+also perform a check. This shall make the code in
+the user program cleaner too.
+.B libzahl
+will use dedicated temporary bignum integers whether
+possible, and necessary, for its internal calculations.
+.B libzahl
+will not deallocate allocations, but rather cache
+them for reuse.
+.P
+With the exception of functions working with strings,
+all output parameters are before the input parameters.
+.SH RATIONALE
+GMP MP cannot be used for rubust programs. LibTomMath
+is too slow, probably because of all memory allocations,
+and has an nonintuitive API. Hebimath is promising, but
+I think it can be done better.
+.SH NOTES
+.B libzahl
+is currently not thread-safe.
+.SH SEE ALSO
+.BR zsetup (3)