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