]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/man/2/mp
tinc(8): add history section
[plan9front.git] / sys / man / 2 / mp
index ed757d8f9f5cb58b8143b5ae56d7b2aa750355f5..4f54878352c2e268b37e317cef275009be2455e1 100644 (file)
@@ -1,6 +1,6 @@
 .TH MP 2
 .SH NAME
-mpsetminbits, mpnew, mpfree, mpbits, mpnorm, mpcopy, mpassign, mprand, mpnrand, strtomp, mpfmt,mptoa, betomp, mptobe, mptober, letomp, mptole, mptolel, mptoui, uitomp, mptoi, itomp, uvtomp, mptouv, vtomp, mptov, mptod, dtomp, mpdigdiv, mpadd, mpsub, mpleft, mpright, mpmul, mpexp, mpmod, mpmodadd, mpmodsub, mpmodmul, mpdiv, mpcmp, mpsel, mpextendedgcd, mpinvert, mpsignif, mplowbits0, mpvecdigmuladd, mpvecdigmulsub, mpvecadd, mpvecsub, mpveccmp, mpvecmul, mpmagcmp, mpmagadd, mpmagsub, crtpre, crtin, crtout, crtprefree, crtresfree \- extended precision arithmetic
+mpsetminbits, mpnew, mpfree, mpbits, mpnorm, mpcopy, mpassign, mprand, mpnrand, strtomp, mpfmt, mptoa, betomp, mptobe, mptober, letomp, mptole, mptolel, mptoui, uitomp, mptoi, itomp, uvtomp, mptouv, vtomp, mptov, mptod, dtomp, mpdigdiv, mpadd, mpsub, mpleft, mpright, mpmul, mpexp, mpmod, mpmodadd, mpmodsub, mpmodmul, mpdiv, mpcmp, mpsel, mpfactorial, mpextendedgcd, mpinvert, mpsignif, mplowbits0, mpvecdigmuladd, mpvecdigmulsub, mpvecadd, mpvecsub, mpveccmp, mpvecmul, mpmagcmp, mpmagadd, mpmagsub, crtpre, crtin, crtout, crtprefree, crtresfree \- extended precision arithmetic
 .SH SYNOPSIS
 .B #include <u.h>
 .br
@@ -169,6 +169,9 @@ int mpmagcmp(mpint *b1, mpint *b2)
 void   mpsel(int s, mpint *b1, mpint *b2, mpint *res)
 .PP
 .B
+mpint* mpfactorial(ulong n)
+.PP
+.B
 void   mpextendedgcd(mpint *a, mpint *b, mpint *d, mpint *x,
 .br
 .B
@@ -369,7 +372,7 @@ and
 .B mpint
 representations using the base indicated.
 Only the bases 2, 4, 8, 10, 16, 32, and 64 are
-supported.  Base 0 defaults to 16.
+supported.
 .IR Strtomp
 skips any leading spaces or tabs.
 .IR Strtomp 's
@@ -394,18 +397,25 @@ If the parse terminates before any digits are found,
 return
 .BR nil .
 .I Mptoa
-returns a pointer to the filled buffer.
+returns a pointer to the
+.SM ASCII
+filled buffer.
 If the parameter
 .I buf
 is
 .BR nil ,
 the buffer is allocated.
+Setting
+.I base
+to zero uses hexadecimal default.
 .I Mpfmt
 can be used with
 .IR fmtinstall (2)
 and
 .IR print (2)
-to print hexadecimal representations of
+to print
+.SM ASCII
+representations of
 .BR mpint s.
 The conventional verb is
 .LR B ,
@@ -413,6 +423,8 @@ for which
 .I mp.h
 provides a
 .LR pragma .
+The precision in the format string changes the base,
+defaulting to hexadecimal when omited.
 .PP
 .I Mptobe
 and
@@ -525,7 +537,7 @@ If the integer is too large in magnitude,
 returns infinity of the appropriate sign.
 .PP
 The mathematical functions are:
-.TF mpmagadd
+.TF mpfactorial
 .TP
 .I mpadd
 .BR "sum = b1 + b2" .
@@ -585,6 +597,9 @@ is not zero, otherwise
 .I b2
 is assigned to
 .IR res .
+.TP
+.I mpfactorial
+returns \fIn\fR!.
 .PD
 .PP
 Logical operations (treating negative numbers using two's complement):