libzahl

big integer library
git clone git://git.suckless.org/libzahl
Log | Files | Refs | README | LICENSE

commit d57523fb0819b14082283d41444915486f9bd1bf
parent 3e3b44d087ab616089402129b2bc4c4831c6b33a
Author: Mattias Andrée <maandree@kth.se>
Date:   Wed, 16 Mar 2016 14:47:49 +0100

Add note on performance of commutative functions with assignment to operand

Signed-off-by: Mattias Andrée <maandree@kth.se>

Diffstat:
Mman/libzahl.7 | 15+++++++++++++++
1 file changed, 15 insertions(+), 0 deletions(-)

diff --git a/man/libzahl.7 b/man/libzahl.7 @@ -25,6 +25,21 @@ them for reuse. .P With the exception of functions working with strings, all output parameters are before the input parameters. +.P +Like any self-respecting big number library, libzahl +supports assign values to variables that are also +input variables. However, keep in mind that commutative +functions are optimised for the first operand to also +be the output over the second operand to also be the +input. For example, \fIzadd(a,a,b)\fP should be faster +than \fIzadd(a,b,a)\fP, although both are supported. +Whether or not the function believe that it is more +likely to occur that the input variables are different +that the output variable than the output variable +being the first input variable depends on the function. +Some functions are implemented to believe that the +first is more likely, other fucntions are implemented +to believe that the latter is more likely. .SH RATIONALE GMP MP cannot be used for rubust programs. LibTomMath is too slow, probably because of all memory allocations,