svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
mp(3mp)
mp(3MP) Multiple Precision Library Functions mp(3MP)
NAME
mp, mp_madd, mp_msub, mp_mult, mp_mdiv, mp_mcmp, mp_min, mp_mout,
mp_pow, mp_gcd, mp_rpow, mp_msqrt, mp_sdiv, mp_itom, mp_xtom, mp_mtox,
mp_mfree - multiple precision integer arithmetic
SYNOPSIS
cc [ flag... ] file... -lmp [ library... ]
#include <mp.h>
void mp_madd(MINT *a, MINT *b, MINT *c);
void mp_msub(MINT *a, MINT *b, MINT *c);
void mp_mult(MINT *a, MINT *b, MINT *c);
void mp_mdiv(MINT *a, MINT *b, MINT *q, MINT *r);
int mp_mcmp(MINT *a, MINT *b);
int mp_min(MINT *a);
void mp_mout(MINT *a);
void mp_pow(MINT *a, MINT *b, MINT *c, MINT *d);
void mp_gcd(MINT *a, MINT *b, MINT *c);
void mp_rpow(MINT *a, short n, MINT *b);
int mp_msqrt(MINT *a, MINT *b, MINT *r);
void mp_sdiv(MINT *a, short n, MINT *q, short *r);
MINT * mp_itom(short n);
MINT * mp_xtom(char *a);
char * mp_mtox(MINT *a);
void mp_mfree(MINT *a);
DESCRIPTION
These functions perform arithmetic on integers of arbitrary length. The
integers are stored using the defined type MINT. Pointers to a MINT
should be initialized using the function mp_itom(n), which sets the
initial value to n. Alternatively, mp_xtom(a) may be used to initialize
a MINT from a string of hexadecimal digits. mp_mfree(a) may be used to
release the storage allocated by the mp_itom(a) and mp_xtom(a) rou‐
tines.
The mp_madd(a,b,c), mp_msub(a,b,c) and mp_mult(a,b,c) functions assign
to their third arguments the sum, difference, and product, respec‐
tively, of their first two arguments. The mp_mdiv(a,b,q,r) function as‐
signs the quotient and remainder, respectively, to its third and fourth
arguments. The mp_sdiv(a,n,q,r) function is similar to mp_mdiv(a,b,q,r)
except that the divisor is an ordinary integer. The mp_msqrt(a,b,r)
function produces the square root and remainder of its first argument.
The mp_mcmp(a,b) function compares the values of its arguments and re‐
turns 0 if the two values are equal, a value greater than 0 if the
first argument is greater than the second, and a value less than 0 if
the second argument is greater than the first. The mp_rpow(a,n,b) func‐
tion raises a to the nth power and assigns this value to b. The
mp_pow(a,b ,c,d) function raises a to the bth power, reduces the result
modulo c and assigns this value to d. The mp_min(a) and mp_mout(a)
functions perform decimal input and output. The mp_gcd(a,b,c) function
finds the greatest common divisor of the first two arguments, returning
it in the third argument. The mp_mtox( a) function provides the inverse
of mp_xtom(a). To release the storage allocated by mp_mtox(a) use
free() (see malloc(3C)).
Use the -lmp loader option to obtain access to these functions.
FILES
/usr/lib/libmp.so shared object
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ MT-LevelUnsafe
SEE ALSO
malloc(3C), libmp(3LIB), exp(3M), attributes(7)
DIAGNOSTICS
Illegal operations and running out of memory produce messages and core
images.
WARNINGS
The function pow() exists in both libmp and libm with widely differing
semantics. This is the reason libmp.so.2 exists.
Oracle Solaris 11.4 14 Nov 2002 mp(3MP)