Files
calc/help/minv
Landon Curt Noll db77e29a23 convert ASCII TABs to ASCII SPACEs
Converted all ASCII tabs to ASCII spaces using a 8 character
tab stop, for all files, except for all Makefiles (plus rpm.mk).
The `git diff -w` reports no changes.
2024-07-11 22:03:52 -07:00

70 lines
2.4 KiB
Plaintext

NAME
minv - inverse of an integer modulo a specified integer
SYNOPSIS
minv(x, md)
TYPES
x integer
md integer
return integer
DESCRIPTION
If x and md are not relatively prime, zero is returned.
Otherwise v = minv(x, md) is the canonical residue v modulo md
for which v * x is congruent to 1 modulo md. The canonical
residues modulo md are determined as follows by md and bits 0, 2
and 4 of config("mod") (other bits are ignored).
config("mod") md > 0 md < 0
0 0 < v < md md < v < 0
1 -md < v < 0 0 < v < -md
4 0 < v < md 0 < v < -md
5 -md < v < 0 md < v < 0
16 -md/2 < v <= md/2 md/2 <= v < -md/2
17 -md/2 <= v < md/2 md/2 < v <= -md/2
20 -md/2 < v <= md/2 md/2 < v <= -md/2
21 -md/2 <= v < md/2 md/2 <= v < -md/2
EXAMPLE
; c = config("mod", 0)
; print minv(3,10), minv(-3,10), minv(3,-10), minv(-3,-10), minv(4,10)
7 3 -3 -7 0
; c = config("mod",16)
; print minv(3,10), minv(-3,10), minv(3,-10), minv(-3,-10), minv(4,10)
-3 3 -3 3 0
LIMITS
none
LINK LIBRARY
NUMBER *qminv(NUMBER *x, NUMBER *md)
SEE ALSO
mod, pmod
## Copyright (C) 1999 Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL. You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
##
## Under source code control: 1995/11/09 03:27:51
## File existed as early as: 1995
##
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/