README
上传用户:qaz666999
上传日期:2022-08-06
资源大小:2570k
文件大小:4k
- Copyright 1991, 1996, 1999, 2000, 2007 Free Software Foundation, Inc.
- This file is part of the GNU MP Library.
- The GNU MP Library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 3 of the License, or (at your
- option) any later version.
- The GNU MP Library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- License for more details.
- You should have received a copy of the GNU Lesser General Public License
- along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
- THE GNU MP LIBRARY
- GNU MP is a library for arbitrary precision arithmetic, operating on signed
- integers, rational numbers, and floating point numbers. It has a rich set of
- functions, and the functions have a regular interface.
- GNU MP is designed to be as fast as possible, both for small operands and huge
- operands. The speed is achieved by using fullwords as the basic arithmetic
- type, by using fast algorithms, with carefully optimized assembly code for the
- most common inner loops for lots of CPUs, and by a general emphasis on speed
- (instead of simplicity or elegance).
- GNU MP is believed to be faster than any other similar library. Its advantage
- increases with operand sizes for certain operations, since GNU MP in many
- cases has asymptotically faster algorithms.
- GNU MP is free software and may be freely copied on the terms contained in the
- files COPYING.LIB and COPYING (most of GNU MP is under the former, some under
- the latter).
- OVERVIEW OF GNU MP
- There are five classes of functions in GNU MP.
- 1. Signed integer arithmetic functions (mpz). These functions are intended
- to be easy to use, with their regular interface. The associated type is
- `mpz_t'.
- 2. Rational arithmetic functions (mpq). For now, just a small set of
- functions necessary for basic rational arithmetics. The associated type
- is `mpq_t'.
- 3. Floating-point arithmetic functions (mpf). If the C type `double'
- doesn't give enough precision for your application, declare your
- variables as `mpf_t' instead, set the precision to any number desired,
- and call the functions in the mpf class for the arithmetic operations.
- 4. Positive-integer, hard-to-use, very low overhead functions are in the
- mpn class. No memory management is performed. The caller must ensure
- enough space is available for the results. The set of functions is not
- regular, nor is the calling interface. These functions accept input
- arguments in the form of pairs consisting of a pointer to the least
- significant word, and an integral size telling how many limbs (= words)
- the pointer points to.
- Almost all calculations, in the entire package, are made by calling these
- low-level functions.
- 5. Berkeley MP compatible functions.
- To use these functions, include the file "mp.h". You can test if you are
- using the GNU version by testing if the symbol __GNU_MP__ is defined.
- For more information on how to use GNU MP, please refer to the documentation.
- It is composed from the file doc/gmp.texi, and can be displayed on the screen
- or printed. How to do that, as well how to build the library, is described in
- the INSTALL file in this directory.
- REPORTING BUGS
- If you find a bug in the library, please make sure to tell us about it!
- You should first check the GNU MP web pages at http://gmplib.org/, under
- "Status of the current release". There will be patches for all known serious
- bugs there.
- Report bugs to gmp-bugs@gmplib.org. What information is needed in a useful bug
- report is described in the manual. The same address can be used for suggesting
- modifications and enhancements.
- ----------------
- Local variables:
- mode: text
- fill-column: 78
- End: