mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	s/((Claire|Xen|Xenia|Clifford)\s+)+(Wolf|Xen)\s+<(claire|clifford)@(symbioticeda.com|clifford.at|yosyshq.com)>/Claire Xenia Wolf <claire@yosyshq.com>/gi; s/((Nina|Nak|N\.)\s+)+Engelhardt\s+<nak@(symbioticeda.com|yosyshq.com)>/N. Engelhardt <nak@yosyshq.com>/gi; s/((David)\s+)+Shah\s+<(dave|david)@(symbioticeda.com|yosyshq.com|ds0.me)>/David Shah <dave@ds0.me>/gi; s/((Miodrag)\s+)+Milanovic\s+<(miodrag|micko)@(symbioticeda.com|yosyshq.com)>/Miodrag Milanovic <micko@yosyshq.com>/gi; s,https?://www.clifford.at/yosys/,http://yosyshq.net/yosys/,g;
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
 | 
						|
Note by Claire Wolf:
 | 
						|
This version of bigint was downloaded at 2012-08-29 from
 | 
						|
https://mattmccutchen.net/bigint/bigint-2010.04.30.tar.bz2
 | 
						|
 | 
						|
Some minor changes were made to the source code (e.g. "using"
 | 
						|
was added to access declarations to prohibit compiler warnings).
 | 
						|
 | 
						|
 | 
						|
==============================================================================
 | 
						|
 | 
						|
                            C++ Big Integer Library
 | 
						|
                          (see ChangeLog for version)
 | 
						|
 | 
						|
                        http://mattmccutchen.net/bigint/
 | 
						|
 | 
						|
       Written and maintained by Matt McCutchen <matt@mattmccutchen.net>
 | 
						|
 | 
						|
You can use this library in a C++ program to do arithmetic on integers of size
 | 
						|
limited only by your computer's memory.  The library provides BigUnsigned and
 | 
						|
BigInteger classes that represent nonnegative integers and signed integers,
 | 
						|
respectively.  Most of the C++ arithmetic operators are overloaded for these
 | 
						|
classes, so big-integer calculations are as easy as:
 | 
						|
 | 
						|
    #include "BigIntegerLibrary.hh"
 | 
						|
    
 | 
						|
    BigInteger a = 65536;
 | 
						|
    cout << (a * a * a * a * a * a * a * a);
 | 
						|
    
 | 
						|
    (prints 340282366920938463463374607431768211456)
 | 
						|
 | 
						|
The code in `sample.cc' demonstrates the most important features of the library.
 | 
						|
To get started quickly, read the code and explanations in that file and run it.
 | 
						|
If you want more detail or a feature not shown in `sample.cc', consult the
 | 
						|
consult the actual header and source files, which are thoroughly commented.
 | 
						|
 | 
						|
This library emphasizes ease of use and clarity of implementation over speed;
 | 
						|
some users will prefer GMP (http://swox.com/gmp/), which is faster.  The code is
 | 
						|
intended to be reasonably portable across computers and modern C++ compilers; in
 | 
						|
particular, it uses whatever word size the computer provides (32-bit, 64-bit, or
 | 
						|
otherwise).
 | 
						|
 | 
						|
Compiling programs that use the library
 | 
						|
---------------------------------------
 | 
						|
The library consists of a folder full of C++ header files (`.hh') and source
 | 
						|
files (`.cc').  Your own programs should `#include' the necessary header files
 | 
						|
and link with the source files.  A makefile that builds the sample program
 | 
						|
(`sample.cc') is included; you can adapt it to replace the sample with your own
 | 
						|
program.
 | 
						|
 | 
						|
Alternatively, you can use your own build system or IDE.  In that case, you must
 | 
						|
put the library header files where the compiler will find them and arrange to
 | 
						|
have your program linked with the library source files; otherwise, you will get
 | 
						|
errors about missing header files or "undefined references".  To learn how to do
 | 
						|
this, consult the documentation for the build system or IDE; don't bother asking
 | 
						|
me.  Adding all the library files to your project will work in many IDEs but may
 | 
						|
not be the most desirable approach.
 | 
						|
 | 
						|
Resources
 | 
						|
---------
 | 
						|
The library's Web site (above) provides links to released versions, the current
 | 
						|
development version, and a mailing list for release announcements, questions,
 | 
						|
bug reports, and other discussion of the library.  I would be delighted to hear
 | 
						|
from you if you like this library and/or find a good use for it.
 | 
						|
 | 
						|
Bugs and enhancements
 | 
						|
---------------------
 | 
						|
The library has been tested by me and others but is by no means bug-free.  If
 | 
						|
you find a bug, please report it, whether it comes in the form of compiling
 | 
						|
trouble, a mathematically inaccurate result, or a memory-management blooper
 | 
						|
(since I use Java, these are altogether too common in my C++).  I generally fix
 | 
						|
all reported bugs.  You are also welcome to request enhancements, but I am
 | 
						|
unlikely to do substantial amounts of work on enhancements at this point.
 | 
						|
 | 
						|
Legal
 | 
						|
-----
 | 
						|
I, Matt McCutchen, the sole author of the original Big Integer Library, waive my
 | 
						|
copyright to it, placing it in the public domain.  The library comes with
 | 
						|
absolutely no warranty.
 | 
						|
 | 
						|
~~~~
 |