[BACK]Return to README CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp

Annotation of OpenXM_contrib/gmp/README, Revision 1.1.1.2

1.1.1.2 ! maekawa     1:
1.1       maekawa     2:                        THE GNU MP LIBRARY
                      3:
                      4:
                      5: GNU MP is a library for arbitrary precision arithmetic, operating on signed
1.1.1.2 ! maekawa     6: integers, rational numbers, and floating point numbers.  It has a rich set of
        !             7: functions, and the functions have a regular interface.
1.1       maekawa     8:
1.1.1.2 ! maekawa     9: GNU MP is designed to be as fast as possible, both for small operands and huge
        !            10: operands.  The speed is achieved by using fullwords as the basic arithmetic
        !            11: type, by using fast algorithms, with carefully optimized assembly code for the
        !            12: most common inner loops for lots of CPUs, and by a general emphasis on speed
        !            13: (instead of simplicity or elegance).
        !            14:
        !            15: GNU MP is believed to be faster than any other similar library.  Its advantage
        !            16: increases with operand sizes for certain operations, since GNU MP in many
        !            17: cases has asymptotically faster algorithms.
        !            18:
        !            19: GNU MP is free software and may be freely copied on the terms contained in the
        !            20: files COPYING.LIB and COPYING (most of GNU MP is under the former, some under
        !            21: the latter).
1.1       maekawa    22:
                     23:
                     24:
                     25:                        OVERVIEW OF GNU MP
                     26:
                     27: There are five classes of functions in GNU MP.
                     28:
1.1.1.2 ! maekawa    29:  1. Signed integer arithmetic functions (mpz).  These functions are intended
1.1       maekawa    30:     to be easy to use, with their regular interface.  The associated type is
                     31:     `mpz_t'.
                     32:
1.1.1.2 ! maekawa    33:  2. Rational arithmetic functions (mpq).  For now, just a small set of
1.1       maekawa    34:     functions necessary for basic rational arithmetics.  The associated type
                     35:     is `mpq_t'.
                     36:
1.1.1.2 ! maekawa    37:  3. Floating-point arithmetic functions (mpf).  If the C type `double'
1.1       maekawa    38:     doesn't give enough precision for your application, declare your
                     39:     variables as `mpf_t' instead, set the precision to any number desired,
                     40:     and call the functions in the mpf class for the arithmetic operations.
                     41:
                     42:  4. Positive-integer, hard-to-use, very low overhead functions are in the
1.1.1.2 ! maekawa    43:     mpn class.  No memory management is performed.  The caller must ensure
1.1       maekawa    44:     enough space is available for the results.  The set of functions is not
                     45:     regular, nor is the calling interface.  These functions accept input
                     46:     arguments in the form of pairs consisting of a pointer to the least
1.1.1.2 ! maekawa    47:     significant word, and an integral size telling how many limbs (= words)
1.1       maekawa    48:     the pointer points to.
                     49:
                     50:     Almost all calculations, in the entire package, are made by calling these
                     51:     low-level functions.
                     52:
                     53:  5. Berkeley MP compatible functions.
                     54:
                     55:     To use these functions, include the file "mp.h".  You can test if you are
                     56:     using the GNU version by testing if the symbol __GNU_MP__ is defined.
                     57:
                     58: For more information on how to use GNU MP, please refer to the documentation.
                     59: It is composed from the file gmp.texi, and can be displayed on the screen or
                     60: printed.  How to do that, as well how to build the library, is described in
                     61: the INSTALL file in this directory.
                     62:
                     63:
1.1.1.2 ! maekawa    64:
1.1       maekawa    65:                        REPORTING BUGS
                     66:
                     67: If you find a bug in the library, please make sure to tell us about it!
                     68:
1.1.1.2 ! maekawa    69: You should first check the GNU MP web pages at http://www.swox.com/gmp/,
        !            70: under "Status of the current release".  There will be patches for all known
        !            71: serious bugs there.
        !            72:
        !            73: Report bugs to bug-gmp@gnu.org.  What information is needed in a good bug
        !            74: report is described in the manual.  The same address can be used for
        !            75: suggesting modifications and enhancements.
        !            76:
        !            77:
        !            78:
        !            79:
        !            80: ----------------
        !            81: Local variables:
        !            82: mode: text
        !            83: fill-column: 78
        !            84: End:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>