Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

malloc(3C)






       mp(3BSD)             (BSD System Compatibility)             mp(3BSD)


       NAME
             mp: madd, msub, mult, mdiv, mcmp, min, mout, pow, gcd, rpow,
             msqrt, sdiv, itom, xtom, mtox, mfree - (BSD) multiple
             precision integer arithmetic

       SYNOPSIS
             /usr/ucb/cc [flag . . . ] file . . .
             #include <mp.h>
             madd(MINT *a, MINT *b, MINT *c);
             msub(MINT *a, MINT *b, MINT *c);
             mult(MINT *a, MINT *b, MINT *c);
             mdiv(MINT *a, MINT *b, MINT *q, MINT *r);
             mcmp(MINT *a,MINT *b);
             min(MINT *a);
             mout(MINT *a);
             pow(MINT *a, MINT *b, MINT *c, MINT *d);
             gcd(MINT *a, MINT *b, MINT *c);
             rpow(MINT *a, short n, MINT *b);
             msqrt(MINT *a, MINT *b, MINT *r);
             sdiv(MINT *a, short n, MINT *q, short r);
             MINT *itom(short n);
             MINT *xtom(char *s);
             char *mtox(MINT *a);
             void mfree(MINT *a);

       DESCRIPTION
             These routines 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
             itom, which sets the initial value to n.  Alternatively, xtom
             may be used to initialize a MINT from a string of hexadecimal
             digits.  mfree may be used to release the storage allocated by
             the itom and xtom routines.

             madd, msub and mult assign to their third arguments the sum,
             difference, and product, respectively, of their first two
             arguments.  mdiv assigns the quotient and remainder,
             respectively, to its third and fourth arguments.  sdiv is like
             mdiv except that the divisor is an ordinary integer.  msqrt
             produces the square root and remainder of its first argument.
             mcmp compares the values of its arguments and returns 0 if the
             two values are equal, >0 if the first argument is greater than
             the second, and <0 if the second argument is greater than the
             first.  rpow calculates a raised to the power b, while pow
             calculates this reduced modulo m.  min and mout do decimal
             input and output.  gcd finds the greatest common divisor of


                           Copyright 1994 Novell, Inc.               Page 1













      mp(3BSD)             (BSD System Compatibility)             mp(3BSD)


            the first two arguments, returning it in the third argument.
            mtox provides the inverse of xtom.  To release the storage
            allocated by mtox, use free [see malloc(3C)].

         Return Values
            Invalid operations and running out of memory produce messages
            and core images.

      REFERENCES
            malloc(3C)






































                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026