Add admonition about IDE-related questions.
[bigint/bigint.git] / README
CommitLineData
00c6448a
MM
1
2 C++ Big Integer Library
3 (see ChangeLog for version)
4
3e132790 5 http://mattmccutchen.net/bigint/
00c6448a 6
3e132790 7 Written and maintained by Matt McCutchen <matt@mattmccutchen.net>
00c6448a
MM
8
9You can use this library in a C++ program to do arithmetic on integers of size
10limited only by your computer's memory. The library provides BigUnsigned and
11BigInteger classes that represent nonnegative integers and signed integers,
12respectively. Most of the C++ arithmetic operators are overloaded for these
13classes, so big-integer calculations are as easy as:
14
15 #include "BigIntegerLibrary.hh"
16
17 BigInteger a = 65536;
18 cout << (a * a * a * a * a * a * a * a);
19
20 (prints 340282366920938463463374607431768211456)
21
22The code in `sample.cc' demonstrates the most important features of the library.
23To get started quickly, read the code and explanations in that file and run it.
24If you want more detail or a feature not shown in `sample.cc', consult the
2531c4e3 25consult the actual header and source files, which are thoroughly commented.
00c6448a 26
2531c4e3
MM
27This library emphasizes ease of use and clarity of implementation over speed;
28some users will prefer GMP (http://swox.com/gmp/), which is faster. The code is
29intended to be reasonably portable across computers and modern C++ compilers; in
30particular, it uses whatever word size the computer provides (32-bit, 64-bit, or
31otherwise).
3e132790 32
00c6448a
MM
33Compiling programs that use the library
34---------------------------------------
35The library consists of a folder full of C++ header files (`.hh') and source
36files (`.cc'). `#include' header files and compile with source files as
37necessary for your own programs. A Makefile is included that compiles the
38library source files and the sample program and links them together; you can
4a783bbb
MM
39easily customize the Makefile to replace the sample with your own program or use
40your own Makefile or IDE.
41
42NOTE: It is generally useless to ask me how to set up the library in your IDE
43because you know more about the IDE than I do (unless it's the Eclipse CDT
44<http://www.eclipse.org/cdt/>).
00c6448a 45
2531c4e3
MM
46Resources
47---------
48The library's Web site (above) provides links to released versions, the current
49development version, and a mailing list for release announcements, questions,
50bug reports, and other discussion of the library. I would be delighted to hear
51from you if you like this library and/or find a good use for it.
52
00c6448a
MM
53Bugs and enhancements
54---------------------
55The library has been tested by me and others but is by no means bug-free. If
2531c4e3
MM
56you find a bug, please report it, whether it comes in the form of compiling
57trouble, a mathematically inaccurate result, or a memory-management blooper
58(since I use Java, these are altogether too common in my C++). I generally fix
59all reported bugs. You are also welcome to request enhancements, but I am
60unlikely to do substantial amounts of work on enhancements at this point.
00c6448a
MM
61
62Legal
63-----
64I, Matt McCutchen, the sole author of the original Big Integer Library, waive my
65copyright to it, placing it in the public domain. The library comes with
66absolutely no warranty.
67
68~~~~