From 8237156ffb390b38c55863d1b14f246af8a1c19c Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 5 Mar 2016 16:36:56 +0100 Subject: More detailed description of division and modulus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- man/zdiv.3 | 2 +- man/zdivmod.3 | 8 ++++++-- man/zmod.3 | 13 ++++++++++++- man/zmodmul.3 | 4 ++++ man/zmodpow.3 | 4 ++++ man/zmodpowu.3 | 4 ++++ man/zmodsqr.3 | 4 ++++ 7 files changed, 35 insertions(+), 4 deletions(-) (limited to 'man') diff --git a/man/zdiv.3 b/man/zdiv.3 index e47495f..869e384 100644 --- a/man/zdiv.3 +++ b/man/zdiv.3 @@ -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 @@ -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 . @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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), -- cgit v1.2.3-70-g09d2