commit 883178c50b8c3e6125363a4fe742f26d9c8f1100
Author: Mattias Andrée <maandree@kth.se>
Date: Mon, 29 Feb 2016 11:38:38 +0100
initial commit
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat:
A | LICENSE | | | 21 | +++++++++++++++++++++ |
A | README | | | 30 | ++++++++++++++++++++++++++++++ |
2 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/LICENSE b/LICENSE
@@ -0,0 +1,21 @@
+MIT/X Consortium License
+
+© 2016 Mattias Andrée <maandree@kth.se>
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/README b/README
@@ -0,0 +1,30 @@
+NAME
+ libzahl - big integer library
+
+ETYMOLOGY
+ The bold uppercase Z which represents the set of
+ all integers is derived from the german word 'zahlen',
+ whose singular is 'zahl'.
+
+DESCRIPTION
+ libzahl is a C library for arbitrary size integers,
+ that aims to be usable for rubust programs, and be
+ fast.
+
+ 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. libzahl will
+ use dedicated temporary bitnum integers whether
+ possible, and necessary, for its internal calculations.
+ libzahl will not deallocate allocations, but rather
+ cache them for reuse.
+
+ With the exception of functions working with strings,
+ all output parameters are before the input parameters.
+
+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.