From a3f46b2ff4e4459d6e58f9445d12d40d0b7d0717 Mon Sep 17 00:00:00 2001 From: Kevin Ryde Date: Sun, 16 Apr 2000 22:42:12 +0200 Subject: * README: Updates, and don't duplicate the example in INSTALL. --- README | 106 +++++++++++++++-------------------------------------------------- 1 file 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 /.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 - #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 - #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: -- cgit v1.2.1