mp(3X) (BSD Compatibility Package) mp(3X)
NAME
mp: madd, msub, mult, mdiv, mcmp, min, mout, pow, gcd, rpow, msqrt,
sdiv, itom, xtom, mtox, mfree - Ganzzahlarithmetik mehrfacher Genauig-
keit
SYNTAX
/usr/ucb/cc [flag ...] file ... -lucb -lmp
#include <mp.h>
madd(a, b, c)
MINT *a, *b, *c;
msub(a, b, c)
MINT *a, *b, *c;
mult(a, b, c)
MINT *a, *b, *c;
mdiv(a, b, q, r)
MINT *a, *b, *q, *r;
mcmp(a,b)
MINT *a, *b;
min(a)
MINT *a;
mout(a)
MINT *a;
pow(a, b, c, d)
MINT *a, *b, *c, *d;
gcd(a, b, c)
MINT *a, *b, *c;
rpow(a, n, b)
MINT *a, *b;
short n;
msqrt(a, b, r)
MINT *a, *b, *r;
sdiv(a, n, q, r)
MINT *a, *q;
short n, *r;
MINT *itom(n)
short n;
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
mp(3X) (BSD Compatibility Package) mp(3X)
MINT *xtom(s)
char *s;
char *mtox(a)
MINT *a;
void mfree(a)
MINT *a;
BESCHREIBUNG
Diese Routinen wenden arithmetische Funktionen auf Ganzzahlen beliebi-
ger Länge an. Die Ganzzahlen werden mit Hilfe des definierten Typs
MINT gespeichert. Zeiger auf MINT sollten über die Funktion itom
initialisiert werden, die den Ausgangswert auf n setzt. Als Alterna-
tive hierzu kann auch xtom zum Initialisieren eines MINT-Typs aus
einer Zeichenkette hexadezimaler Ziffern verwendet werden. Mit mfree
kann der durch die Routinen itom und xtom zugeordnete Speicher freige-
geben werden.
madd, msub und mult ordnen dem dritten Argument die Summe, die Diffe-
renz bzw. das Produkt aus den ersten beiden Argumenten zu. mdiv ordnet
dem dritten und vierten Argument den Quotienten bzw. den Divisionsrest
zu. sdiv gleicht mdiv, nur ist der Divisor hier eine gewöhnliche Ganz-
zahl. msqrt gibt die Quadratwurzel und den Rest aus dem ersten Argu-
ment aus. mcmp vergleicht die Werte der Argumente und gibt 0 zurück,
wenn die beiden Werte gleich sind, >0, wenn das erste Argument größer
als das zweite ist, und <0, wenn das zweite Argument größer als das
erste ist. rpow berechnet a erhoben auf die Potenz b und pow berechnet
den reduzierten Modulowert m. min und mout dienen der Ein- und Ausgabe
von Dezimalzahlen. gcd findet den größten gemeinsamen Divisor der
ersten beiden Argumente und gibt ihn im dritten Argument zurück. mtox
liefert die Umkehrung von xtom. Verwenden Sie free, um den von mtox
zugeordneten Speicher freizugeben.
RÜCKGABEWERT
Bei ungültigen Operationen und bei zu wenig Speicher werden Meldungen
und Speicherabzüge ausgegeben.
DATEIEN
/usr/ucblib/libmp.a
SIEHE AUCH
malloc(3C), malloc(3X).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98