summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2000-04-16 22:42:12 +0200
committerKevin Ryde <user42@zip.com.au>2000-04-16 22:42:12 +0200
commita3f46b2ff4e4459d6e58f9445d12d40d0b7d0717 (patch)
tree2ab4e12d6c08f2ce5b3f0e6a690df0aa74c03155
parent77337285cc7fa1cb328257b2ecfcaf1e4f36740d (diff)
downloadgmp-a3f46b2ff4e4459d6e58f9445d12d40d0b7d0717.tar.gz
* README: Updates, and don't duplicate the example in INSTALL.
-rw-r--r--README106
1 files changed, 24 insertions, 82 deletions
diff --git a/README b/README
index 1f42680b0..0188a07b5 100644
--- a/README
+++ b/README
@@ -1,93 +1,25 @@
+
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 for
-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 a lots of CPUs, and by a general
-emphasis on speed (instead of simplicity or elegance).
-
-The speed of GNU MP is believed to be faster than any other similar library.
-The advantage for GNU MP increases with the operand sizes for certain
-operations, since GNU MP in many cases has asymptotically faster algorithms.
-
-
- GETTING STARTED
-
-First, you have to configure and compile GNU MP. Simply typing
-
- ./configure; make
-
-will normally do a reasonable job, but will not give optimal library
-execution speed. So unless you're very impatient, please read the detailed
-instructions in gmp.texi or gmp.info.
-
-Once you have compiled the library, you should write some small example, and
-make sure you can compile it. A typical compilation command is this:
-
- gcc -g your-file.c -I<gmp-source-dir> <gmp-bin-dir>/.libs/libgmp.a -lm
-
-If you have installed the library, you can simply do:
-
- gcc -g your-file.c -lgmp -lm
-
-The -lm is normally not needed, since only a few functions in GNU MP use the
-math library. GNU MP is libtool based, so you can use that to compile and
-link if you want.
-
-Here is a sample program that declares 2 variables, initializes them as
-required, and sets one of them from a signed integer, and the other from a
-string of digits. It then prints the product of the two numbers in base 10.
+integers, rational numbers, and floating point numbers. It has a rich set of
+functions, and the functions have a regular interface.
- #include <stdio.h>
- #include "gmp.h"
+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).
- main ()
- {
- mpz_t a, b, p;
+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.
- mpz_init (a); /* initialize variables */
- mpz_init (b);
- mpz_init (p);
+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).
- mpz_set_si (a, 756839); /* assign variables */
- mpz_set_str (b, "314159265358979323846", 0);
- mpz_mul (p, a, b); /* generate product */
- mpz_out_str (stdout, 10, p); /* print number without newline */
- puts (""); /* print newline */
-
- mpz_clear (a); /* clear out variables */
- mpz_clear (b);
- mpz_clear (p);
-
- exit (0);
- }
-
-This might look tedious, with all initializing and clearing. Fortunately
-some of these operations can be combined, and other operations can often be
-avoided. The example above would be written differently by an experienced
-GNU MP user:
-
- #include <stdio.h>
- #include "gmp.h"
-
- main ()
- {
- mpz_t b, p;
-
- mpz_init (p);
-
- mpz_init_set_str (b, "314159265358979323846", 0);
- mpz_mul_ui (p, b, 756839); /* generate product */
- mpz_out_str (stdout, 10, p); /* print number without newline */
- puts (""); /* print newline */
-
- exit (0);
- }
OVERVIEW OF GNU MP
@@ -129,6 +61,7 @@ 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!
@@ -140,3 +73,12 @@ bugs there.
Report bugs to bug-gmp@gnu.org. What information is needed in a good 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: