commit 8237156ffb390b38c55863d1b14f246af8a1c19c
Author: Mattias Andrée <maandree_AT_kth.se>
AuthorDate: Sat Mar 5 16:36:56 2016 +0100
Commit: Mattias Andrée <maandree_AT_kth.se>
CommitDate: Sat Mar 5 16:37:07 2016 +0100
More detailed description of division and modulus
Signed-off-by: Mattias Andrée <maandree_AT_kth.se>
diff --git a/man/zdiv.3 b/man/zdiv.3
index e47495f..869e384 100644
--- a/man/zdiv.3
+++ b/man/zdiv.3
_AT_@ -9,7 +9,7 @@ void zdiv(z_t \fIquotient\fP, z_t \fIdividend\fP, z_t \fIdivisor\fP);
.fi
.SH DESCRIPTION
.B zdiv
-calculates the quotient of a
+calculates the truncated quotient of a
.I dividend
and a
.IR divisor ,
diff --git a/man/zdivmod.3 b/man/zdivmod.3
index b11b8b6..f0cd9e4 100644
--- a/man/zdivmod.3
+++ b/man/zdivmod.3
_AT_@ -9,11 +9,11 @@ void zdivmod(z_t \fIquotient\fP, z_t \fIremainder\fP, z_t \fIdividend\fP, z_t \f
.fi
.SH DESCRIPTION
.B zdivmod
-calculates the quotient and the remainder of a
+calculates the truncated quotient and the remainder of a
.I dividend
and a
.IR divisor ,
-and stores the quotient in
+and stores the truncated quotient in
.I quotient
and the remainder in
.IR remainder .
_AT_@ -38,6 +38,10 @@ except it is
safe to call
.B zdivmod with
.IR "(quotient==remainder)" .
+.P
+See
+.BR zmod (3)
+for details on modulation.
.SH RATIONALE
Calculating the remainder requires calculating division to
be performed, and performing a division gives the remainder
diff --git a/man/zmod.3 b/man/zmod.3
index 9c6e72b..a6cd21d 100644
--- a/man/zmod.3
+++ b/man/zmod.3
_AT_@ -24,11 +24,22 @@ Mod
.P
The result
.RI ( remainder )
-is always non-negative.
+is always non-negative. To be more precise,
+a Mod b = |a| Mod |b| for all integers a
+and b.
.P
It is safe to call
.B zmod
with non-unique parameters.
+.SH RATIONALE
+There are many ways to define modulus with
+negative integers. You have to select how the
+signness is selected, and when to invert
+(in respect to modulated addition) the remainder.
+The simplest way to implement modulus is to
+ignore the sign of the operands. This solution
+also makes it very easy for those that which
+to write a wrapper that changes the definition.
.SH SEE ALSO
.BR zdivmod (3),
.BR zstr (3),
diff --git a/man/zmodmul.3 b/man/zmodmul.3
index cbee629..3ce7247 100644
--- a/man/zmodmul.3
+++ b/man/zmodmul.3
_AT_@ -29,6 +29,10 @@ Mod
It is safe to call
.B zmodmul
with non-unique parameters.
+.P
+See
+.BR zmod (3)
+for details on modulation.
.SH RATIONALE
It is possible to calculate the modular product
with a faster algorithm than calculating the
diff --git a/man/zmodpow.3 b/man/zmodpow.3
index 9a98985..0031617 100644
--- a/man/zmodpow.3
+++ b/man/zmodpow.3
_AT_@ -29,6 +29,10 @@ Mod
It is safe to call
.B zmodpow
with non-unique parameters.
+.P
+See
+.BR zmod (3)
+for details on modulation.
.SH RATIONALE
It is possible to calculate the modular power
with a faster algorithm than calculating the
diff --git a/man/zmodpowu.3 b/man/zmodpowu.3
index 09ea9b3..2a04a16 100644
--- a/man/zmodpowu.3
+++ b/man/zmodpowu.3
_AT_@ -29,6 +29,10 @@ Mod
It is safe to call
.B zmodpowu
with non-unique parameters.
+.P
+See
+.BR zmod (3)
+for details on modulation.
.SH RATIONALE
It is possible to calculate the modular power
with a faster algorithm than calculating the
diff --git a/man/zmodsqr.3 b/man/zmodsqr.3
index c54cc01..ba33aab 100644
--- a/man/zmodsqr.3
+++ b/man/zmodsqr.3
_AT_@ -25,6 +25,10 @@ Mod
It is safe to call
.B zmodsqr
with non-unique parameters.
+.P
+See
+.BR zmod (3)
+for details on modulation.
.SH RATIONALE
See rationle for
.BR zmodmul (3),
Received on Sat Mar 05 2016 - 20:17:22 CET
This archive was generated by hypermail 2.3.0
: Sat Mar 05 2016 - 20:24:16 CET